summaryrefslogtreecommitdiff
path: root/morphlib/morphloader_tests.py
diff options
context:
space:
mode:
authorBen Brown <ben.brown@codethink.co.uk>2014-01-08 12:10:58 +0000
committerBen Brown <ben.brown@codethink.co.uk>2014-01-22 16:41:52 +0000
commit825981a102422c01b054a93c7de00a680b5ce77f (patch)
tree2be383a4b3ba4e6420327b564de30d4cfcb3e42c /morphlib/morphloader_tests.py
parent7265acd1440dc898d3ebe9de443a470c3d845b50 (diff)
downloadmorph-825981a102422c01b054a93c7de00a680b5ce77f.tar.gz
Add validation for chunk refs in strata to be (non-empty) strings
Diffstat (limited to 'morphlib/morphloader_tests.py')
-rw-r--r--morphlib/morphloader_tests.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/morphlib/morphloader_tests.py b/morphlib/morphloader_tests.py
index c2fbc5e8..39923348 100644
--- a/morphlib/morphloader_tests.py
+++ b/morphlib/morphloader_tests.py
@@ -187,6 +187,42 @@ build-system: dummy
self.assertRaises(
morphlib.morphloader.InvalidFieldError, self.loader.validate, m)
+ def test_validate_requires_chunk_refs_in_stratum_to_be_strings(self):
+ m = morphlib.morph3.Morphology({
+ 'kind': 'stratum',
+ 'name': 'foo',
+ 'build-depends': [],
+ 'chunks': [
+ {
+ 'name': 'chunk',
+ 'repo': 'test:repo',
+ 'ref': 1,
+ 'build-depends': []
+ }
+ ]
+ })
+ with self.assertRaises(
+ morphlib.morphloader.ChunkSpecRefNotStringError):
+ self.loader.validate(m)
+
+ def test_fails_to_validate_stratum_with_empty_refs_for_a_chunk(self):
+ m = morphlib.morph3.Morphology({
+ 'kind': 'stratum',
+ 'name': 'foo',
+ 'build-depends': [],
+ 'chunks' : [
+ {
+ 'name': 'chunk',
+ 'repo': 'test:repo',
+ 'ref': None,
+ 'build-depends': []
+ }
+ ]
+ })
+ with self.assertRaises(
+ morphlib.morphloader.EmptyRefError):
+ self.loader.validate(m)
+
def test_fails_to_validate_system_with_obsolete_system_kind_field(self):
m = morphlib.morph3.Morphology({
'kind': 'system',