From 2bd9ed61ebeb621b7f47c2e05a370c6d330fc27d Mon Sep 17 00:00:00 2001 From: Adam Coldrick Date: Fri, 23 May 2014 16:26:51 +0000 Subject: Add unit test to test the validation of cluster morphs --- morphlib/morphloader_tests.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/morphlib/morphloader_tests.py b/morphlib/morphloader_tests.py index a050e10b..82663298 100644 --- a/morphlib/morphloader_tests.py +++ b/morphlib/morphloader_tests.py @@ -458,6 +458,24 @@ build-system: dummy self.loader.validate(m) self.assertEqual(cm.exception.strata, ["foo"]) + def test_validate_requires_unique_deployment_names_in_cluster(self): + subsystem = [{'morph': 'baz', 'deploy': {'foobar': None}}] + m = morphlib.morph3.Morphology( + name='cluster', + kind='cluster', + systems=[{'morph': 'foo', + 'deploy': {'deployment': {}}, + 'subsystems': subsystem}, + {'morph': 'bar', + 'deploy': {'deployment': {}}, + 'subsystems': subsystem}]) + with self.assertRaises( + morphlib.morphloader.DuplicateDeploymentNameError) as cm: + self.loader.validate(m) + ex = cm.exception + self.assertIn('foobar', ex.duplicates) + self.assertIn('deployment', ex.duplicates) + def test_loads_yaml_from_string(self): string = '''\ name: foo -- cgit v1.2.1