diff options
author | Betzer, Rony (rb844h) <rb844h@intl.att.com> | 2018-10-24 12:58:42 +0300 |
---|---|---|
committer | Betzer, Rony (rb844h) <rb844h@intl.att.com> | 2018-10-25 13:33:14 +0300 |
commit | b3f10753ecf1f80a33e5a10549a6753e70b58327 (patch) | |
tree | abffdf95fcd472921d734714f0fb2d511c72a5b5 /app/tests/test_tosca_builder.py | |
parent | c81f7b519874fba8751c5db6a4c0b88fb5426335 (diff) |
increase coverage - added UT
increase coverage - added UT
Change-Id: If00f5e5dfd675cdbcc201453b4b8a0d63ff10c8c
Issue-ID: SDC-1756
Signed-off-by: Betzer, Rony (rb844h) <rb844h@intl.att.com>
Diffstat (limited to 'app/tests/test_tosca_builder.py')
-rw-r--r-- | app/tests/test_tosca_builder.py | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/app/tests/test_tosca_builder.py b/app/tests/test_tosca_builder.py new file mode 100644 index 0000000..1e85d8a --- /dev/null +++ b/app/tests/test_tosca_builder.py @@ -0,0 +1,78 @@ +import unittest +from tests.utils.test_utils import init_tosca_builder_with_schema_and_spec, \ + init_tosca_builder_with_policy_schema_and_spec, init_tosca_builder_with_hello_world_spec_k8 +from toscalib.tosca_workbook import ToscaWorkBook + + +class TestToscaBuilderMethods(unittest.TestCase): + + def test_create_node_type(self): + builder = init_tosca_builder_with_schema_and_spec() + self.assertIsNotNone(builder.spec_import.type) + self.assertEqual(builder.spec_import.type, 'docker') + self.assertTrue(builder._using_dmaap()) + self.assertIsNone(builder.cloudify_type) + self.assertIsNone(builder.new_type_name) + self.assertNotIn('tosca.dcae.nodes.dockerApp.test_spec_ss', builder.db.NODE_TYPES) + self.assertNotIn('tosca.dcae.nodes.dockerApp.docker_flag', builder.db.NODE_TYPES) + builder.create_node_type() + self.assertIn('tosca.dcae.nodes.dockerApp.test_spec_ss', builder.db.NODE_TYPES) + self.assertIsNotNone(builder.new_type_name) + self.assertEqual(builder.new_type_name, 'tosca.dcae.nodes.dockerApp.test_spec_ss') + self.assertIsNotNone(builder.cloudify_type) + # TODO uncomment after K8 support integration + # self.assertEqual(builder.cloudify_type, builder.db.NODE_TYPES['dcae.nodes.ContainerizedServiceComponentUsingDmaap']) + # builder.create_node_type('docker_flag', True) + # self.assertIn('tosca.dcae.nodes.dockerApp.docker_flag', builder.db.NODE_TYPES) + # self.assertEqual(builder.new_type_name, 'tosca.dcae.nodes.dockerApp.docker_flag') + # self.assertEqual(builder.cloudify_type, builder.db.NODE_TYPES['dcae.nodes.DockerContainerForComponentsUsingDmaap']) + + def test_create_model(self): + builder = init_tosca_builder_with_schema_and_spec() + builder.create_node_type() + builder.create_model('test_ss') + self.assertIsNotNone(builder.template) + self.assertIsNotNone(builder.template.db) + self.assertEqual(builder.db, builder.template.db) + self.assertIn('test_ss', builder.template.node_dict) + self.assertIn('topic0', builder.template.node_dict) + + def test_create_translate(self): + builder = init_tosca_builder_with_schema_and_spec() + builder.create_node_type() + builder.create_translate('test_ss') + self.assertIsNotNone(builder.template) + self.assertEqual(len(builder.template.sub_rules), 2) + self.assertEqual(builder.template.metadata, {'template_name': 'test_ss_translate'}) + self.assertEqual(builder.db, builder.template.db) + + def test_create_policy(self): + builder = init_tosca_builder_with_policy_schema_and_spec() + self.assertEqual(len(builder.db.DATA_TYPES), 0) + self.assertEqual(len(builder.db.NODE_TYPES), 1) + builder.create_policy() + self.assertEqual(len(builder.db.DATA_TYPES), 3) + self.assertEqual(len(builder.db.NODE_TYPES), 2) + + def test_spec_to_model_to_blueprint_create(self): + #TODO imports section + #TODO assertions + builder = init_tosca_builder_with_hello_world_spec_k8() + name = builder.spec_import.name + filename = 'WEB' + builder.create_node_type(name) + schema = builder.export_schema(filename) + builder.create_model(name) + template = builder.export_model(filename) + builder.create_translate(name) + translate = builder.export_translation(filename) + workbook = ToscaWorkBook() + workbook._import_dir('../data/shared_model/') + workbook._import_yml_str(schema) + workbook._import_yml_str(template) + workbook._import_yml_str(translate) + workbook._translate_template_yaml_str(template) + workbook._add_shared_node( + [{'dcae.capabilities.cdapHost': 'cdap_host'}, {'dcae.capabilities.dockerHost': 'docker_host'}, + {'dcae.capabilities.composition.host': 'composition_virtual'}]) + bp = workbook._export_yaml_web('cloudify,main') |