From b4086edb65e63cf61c876c81368c32a8d2d3f8b2 Mon Sep 17 00:00:00 2001 From: Dominika Hodovska Date: Apr 11 2017 14:46:06 +0000 Subject: Add basic unit tests for module generator --- diff --git a/modularity/test_module_generator.py b/modularity/test_module_generator.py new file mode 100644 index 0000000..e2bd225 --- /dev/null +++ b/modularity/test_module_generator.py @@ -0,0 +1,52 @@ +import unittest +import os +from module_generator import ModuleGenerator +from modularity.cli import CLIRpm2Module + + +class ModuleGeneratorTest(unittest.TestCase): + + def setUp(self): + cli = CLIRpm2Module(["test"]) + self.mg = ModuleGenerator(cli) + + def test_save_module_md(self): + self.mg.args.pkgs = 'package' + self.mg._save_module_md() + + assert os.path.exists('package.yaml') + + def test_get_pkg_info(self): + self.mg.args.pkgs = 'definitelynotavalidnameofapackage' + + with self.assertRaises(ValueError) as context: + self.mg._get_pkg_info() + + self.assertTrue('No package found in repo' in context.exception) + + self.mg.args.pkgs = 'bash' + self.mg._get_pkg_info() + + self.assertEqual(self.mg.pkg.summary, 'The GNU Bourne Again shell') + + def test_update_module_md(self): + self.mg.args.pkgs = 'bash' + self.mg._get_pkg_info() + + self.mg._update_module_md() + self.assertEqual(self.mg.mmd.summary, 'The GNU Bourne Again shell') + self.assertEqual(len(self.mg.mmd.module_licenses), 1) + self.assertEqual(len(self.mg.mmd.components.rpms), 0) + + def test_get_dependencies(self): + self.mg.args.pkgs = 'bash' + self.mg._get_dependencies() + + self.assertGreater(self.mg.build_deps, 0) + self.assertGreater(self.mg.run_deps, 0) + + if os.path.exists(self.mg.build_deps_file): + os.remove(self.mg.build_deps_file) + + if os.path.exists(self.mg.run_deps_file): + os.remove(self.mg.run_deps_file)