summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Coldrick <adam.coldrick@codethink.co.uk>2014-05-23 16:26:51 +0000
committerAdam Coldrick <adam.coldrick@codethink.co.uk>2014-06-18 14:46:59 +0000
commit2bd9ed61ebeb621b7f47c2e05a370c6d330fc27d (patch)
tree3c92af359e32923fc32c752ce4a7914ef88a174c
parent6b1bf6c586ed2304c39f6d8572f08f62c1743368 (diff)
downloadmorph-2bd9ed61ebeb621b7f47c2e05a370c6d330fc27d.tar.gz
Add unit test to test the validation of cluster morphs
-rw-r--r--morphlib/morphloader_tests.py18
1 files changed, 18 insertions, 0 deletions
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