diff options
author | Tiago Gomes <tiago.gomes@codethink.co.uk> | 2015-11-12 15:48:07 +0000 |
---|---|---|
committer | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2016-03-25 21:02:34 +0000 |
commit | bfecb5c86bb6e80e8cd89b2ab87952024bd801f9 (patch) | |
tree | 65f0d835b10bdba3045795523a7830956533ac90 /morphlib/morphloader_tests.py | |
parent | ddb8b27d5056074013a89d8ab277e39fdc1f069d (diff) | |
download | morph-bfecb5c86bb6e80e8cd89b2ab87952024bd801f9.tar.gz |
morphloader: add missing validation to stratum chunks
Change-Id: I7268b732ab0e37a198cd0484f491334ff456de2b
Diffstat (limited to 'morphlib/morphloader_tests.py')
-rw-r--r-- | morphlib/morphloader_tests.py | 48 |
1 files changed, 41 insertions, 7 deletions
diff --git a/morphlib/morphloader_tests.py b/morphlib/morphloader_tests.py index 0bf69612..5f7d3915 100644 --- a/morphlib/morphloader_tests.py +++ b/morphlib/morphloader_tests.py @@ -208,7 +208,42 @@ build-system: manual self.assertRaises( morphlib.morphloader.InvalidFieldError, self.loader.validate, m) - def test_validate_requires_chunk_refs_in_stratum_to_be_strings(self): + def test_validate_requires_chunk_repos_to_exist(self): + m = morphlib.morphology.Morphology({ + 'kind': 'stratum', + 'name': 'foo', + 'build-depends': [], + 'chunks': [ + { + 'name': 'chunk', + 'ref': 'master', + 'build-depends': [] + } + ] + }) + with self.assertRaises( + morphlib.morphloader.MissingFieldError): + self.loader.validate(m) + + def test_validate_requires_chunk_repos_in_stratum_to_be_strings(self): + m = morphlib.morphology.Morphology({ + 'kind': 'stratum', + 'name': 'foo', + 'build-depends': [], + 'chunks': [ + { + 'name': 'chunk', + 'repo': 1, + 'ref': 'master', + 'build-depends': [] + } + ] + }) + with self.assertRaises( + morphlib.morphloader.InvalidStringError): + self.loader.validate(m) + + def test_validate_requires_chunk_refs_to_exist(self): m = morphlib.morphology.Morphology({ 'kind': 'stratum', 'name': 'foo', @@ -217,31 +252,30 @@ build-system: manual { 'name': 'chunk', 'repo': 'test:repo', - 'ref': 1, 'build-depends': [] } ] }) with self.assertRaises( - morphlib.morphloader.ChunkSpecRefNotStringError): + morphlib.morphloader.MissingFieldError): self.loader.validate(m) - def test_fails_to_validate_stratum_with_empty_refs_for_a_chunk(self): + def test_validate_requires_chunk_refs_in_stratum_to_be_strings(self): m = morphlib.morphology.Morphology({ 'kind': 'stratum', 'name': 'foo', 'build-depends': [], - 'chunks' : [ + 'chunks': [ { 'name': 'chunk', 'repo': 'test:repo', - 'ref': None, + 'ref': 1, 'build-depends': [] } ] }) with self.assertRaises( - morphlib.morphloader.EmptyRefError): + morphlib.morphloader.InvalidStringError): self.loader.validate(m) def test_fails_to_validate_stratum_with_a_missing_path(self): |