konveyor / move2kube

Move2Kube is a command-line tool for automating creation of Infrastructure as code (IaC) artifacts. It has inbuilt support for creating IaC artifacts for replatforming to Kubernetes/Openshift.
https://move2kube.konveyor.io/
Apache License 2.0
383 stars 118 forks source link

test: Test the filesystem package. #881

Open HarikrishnanBalagopal opened 2 years ago

HarikrishnanBalagopal commented 2 years ago

⚠️ Don't forget to read our contribution guidelines before you start working on an issue https://github.com/konveyor/move2kube/blob/main/contributing.md

Description

Since Move2Kube moved from v1, v2 and to v3 architecture the test coverage has dropped significantly. A good candidate for unit tests are the files in the filesystem package. It is a core part of Move2Kube's transform functionality and yet has no unit tests.

https://github.com/konveyor/move2kube/tree/ccc92502e41d67756929f36a9f7c0938bfb58c78/filesystem

This package deals with generating and manipulating files and directories. It can copy files/directories from a source to a destination. It can also fill template files before they get copied to their destination. While copying directories It can also calculate the difference between the source and destination directory and only copy the minimal number of files required.

How to get started

For this issue you should start with some simple tests that creates temporary files and directories and calls the functions on it. Next step would be to make slight changes to the files in the directory and create a separate subtest for each scenario. Some scenarios that are good to test:

How to add unit tests

Some guidelines:

Some helpful resources on how to write unit tests in Go:

Code to be tested

https://github.com/konveyor/move2kube/tree/ccc92502e41d67756929f36a9f7c0938bfb58c78/filesystem

ritesh-karankal commented 2 years ago

Hi @HarikrishnanBalagopal, Can I work on this issue?

HarikrishnanBalagopal commented 2 years ago

Hi @HarikrishnanBalagopal, Can I work on this issue?

Sure

ritesh-karankal commented 2 years ago

Hi @HarikrishnanBalagopal I am a beginner in golang. I expected to learn and complete the task, but I guess I won't be able to resolve this issue. I don't want to keep this issue on hold for long. Sorry for the inconvenience, but I'd like to unassign myself. I look forward to contributing to future issues.

HarikrishnanBalagopal commented 2 years ago

Hi @HarikrishnanBalagopal I am a beginner in golang. I expected to learn and complete the task, but I guess I won't be able to resolve this issue. I don't want to keep this issue on hold for long. Sorry for the inconvenience, but I'd like to unassign myself. I look forward to contributing to future issues.

Sure, np. Hope you will be able to contribute next year!

kmehant commented 2 years ago

@ritesh-karankal np, You could look at this Hacktoberfest task: https://github.com/konveyor/move2kube/issues/886.

Prakhar-Agarwal-byte commented 1 year ago

@HarikrishnanBalagopal Hey, could you assign me this issue

HarikrishnanBalagopal commented 1 year ago

@HarikrishnanBalagopal Hey, could you assign me this issue

Thanks for your interest. I have assigned the issue to you. Feel free to ask in the #konveyor Slack channel to get help https://kubernetes.slack.com/archives/CR85S82A2

satyazzz123 commented 10 months ago

@HarikrishnanBalagopal I have raised a PR . Please Review.