bootstrap-vz/tests/unit/manifests_tests.py

39 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
import glob
manifests = os.path.join(
os.path.dirname(os.path.realpath(__file__)),
'../../manifests'
)
for manifest_path in glob.glob(manifests + '/*.yml'):
yield validate_manifests, manifest_path
for manifest_path in glob.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['provider'])
assert_true(manifest.data['bootstrapper'])
assert_true(manifest.data['image'])
assert_true(manifest.data['volume'])
assert_true(manifest.data['system'])