bootstrap-vz/tests/unit/manifests_tests.py
Anders Ingemann 4a0c598b81 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.
2016-03-04 00:48:48 +01:00

37 lines
1.1 KiB
Python

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