summaryrefslogtreecommitdiff
path: root/morphlib/morphloader_tests.py
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@codethink.co.uk>2013-11-22 16:49:12 +0000
committerRichard Maw <richard.maw@codethink.co.uk>2013-11-29 16:11:31 +0000
commit6e30db8033160fedbf864db08e98fd18b92a0d08 (patch)
tree56736d74a18bee142062611860b1d13a1e57ee4a /morphlib/morphloader_tests.py
parent5ceb033caf279016876643315a66ab2aad3095d1 (diff)
downloadmorph-6e30db8033160fedbf864db08e98fd18b92a0d08.tar.gz
morphloader: Set default values for cluster morphs
This was omittted from the MorphologyLoader due to cluster morphologies being added at about the same time. This bug escaped detection since the MorphologyLoader was not required to deploy. It soon will be.
Diffstat (limited to 'morphlib/morphloader_tests.py')
-rw-r--r--morphlib/morphloader_tests.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/morphlib/morphloader_tests.py b/morphlib/morphloader_tests.py
index 2711db20..b6ebff6a 100644
--- a/morphlib/morphloader_tests.py
+++ b/morphlib/morphloader_tests.py
@@ -497,6 +497,41 @@ name: foo
'arch': 'x86_64',
})
+ def test_sets_defaults_for_cluster(self):
+ m = morphlib.morph3.Morphology(
+ name='foo',
+ kind='cluster',
+ systems=[
+ {'morph': 'foo'},
+ {'morph': 'bar'}])
+ self.loader.set_defaults(m)
+ self.loader.validate(m)
+ self.assertEqual(m['systems'],
+ [{'morph': 'foo',
+ 'deploy-defaults': {},
+ 'deploy': {}},
+ {'morph': 'bar',
+ 'deploy-defaults': {},
+ 'deploy': {}}])
+
+ def test_unsets_defaults_for_cluster(self):
+ m = morphlib.morph3.Morphology(
+ name='foo',
+ kind='cluster',
+ description='',
+ systems=[
+ {'morph': 'foo',
+ 'deploy-defaults': {},
+ 'deploy': {}},
+ {'morph': 'bar',
+ 'deploy-defaults': {},
+ 'deploy': {}}])
+ self.loader.unset_defaults(m)
+ self.assertNotIn('description', m)
+ self.assertEqual(m['systems'],
+ [{'morph': 'foo'},
+ {'morph': 'bar'}])
+
def test_sets_stratum_chunks_repo_and_morph_from_name(self):
m = morphlib.morph3.Morphology(
{