Fix unit/manifests_tests

The manifest folder reordering into official/ and examples/
hid all of the manifests from that generator.
recursive_glob has been introduced in order to be able to find all
manifests.
This commit is contained in:
Anders Ingemann 2016-03-04 00:32:48 +01:00
parent 4c9aaf2dba
commit 4a0c598b81
2 changed files with 35 additions and 28 deletions

View file

@ -0,0 +1,9 @@
# Snatched from: http://stackoverflow.com/a/2186565/339505
def recursive_glob(path, pattern):
import fnmatch
import os
for path, dirnames, filenames in os.walk(path):
for filename in fnmatch.filter(filenames, pattern):
yield os.path.join(path, filename)

View file

@ -3,37 +3,35 @@ from bootstrapvz.base.manifest import Manifest
def test_manifest_generator(): def test_manifest_generator():
""" """
manifests_tests - test_manifest_generator. manifests_tests - test_manifest_generator.
Loops through the manifests directory and tests that Loops through the manifests directory and tests that
each file can successfully be loaded and validated. each file can successfully be loaded and validated.
""" """
import os.path import os.path
import glob from .. import recursive_glob
manifests = os.path.join( manifests = os.path.join(os.path.dirname(os.path.realpath(__file__)),
os.path.dirname(os.path.realpath(__file__)), '../../manifests')
'../../manifests' for manifest_path in recursive_glob(manifests, '*.yml'):
) yield validate_manifests, manifest_path
for manifest_path in glob.glob(manifests + '/*.yml'): for manifest_path in recursive_glob(manifests, '*.json'):
yield validate_manifests, manifest_path yield validate_manifests, manifest_path
for manifest_path in glob.glob(manifests + '/*.json'):
yield validate_manifests, manifest_path
def validate_manifests(path): def validate_manifests(path):
""" """
manifests_tests - validate_manifests. manifests_tests - validate_manifests.
Actually creates the manifest for a given path Actually creates the manifest for a given path
and checks that all the data values have successfully and checks that all the data values have successfully
been created. been created.
""" """
manifest = Manifest(path=path) manifest = Manifest(path=path)
assert_true(manifest.data) assert_true(manifest.data)
assert_true(manifest.data['provider']) assert_true(manifest.data['name'])
assert_true(manifest.data['bootstrapper']) assert_true(manifest.data['provider'])
assert_true(manifest.data['image']) assert_true(manifest.data['bootstrapper'])
assert_true(manifest.data['volume']) assert_true(manifest.data['volume'])
assert_true(manifest.data['system']) assert_true(manifest.data['system'])