From 4a0c598b81ae85856ddef48f9fe1338daba6ed0e Mon Sep 17 00:00:00 2001 From: Anders Ingemann Date: Fri, 4 Mar 2016 00:32:48 +0100 Subject: [PATCH] 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. --- tests/__init__.py | 9 ++++++ tests/unit/manifests_tests.py | 54 +++++++++++++++++------------------ 2 files changed, 35 insertions(+), 28 deletions(-) diff --git a/tests/__init__.py b/tests/__init__.py index e69de29..a0df8e2 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -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) diff --git a/tests/unit/manifests_tests.py b/tests/unit/manifests_tests.py index a3e0152..545844b 100644 --- a/tests/unit/manifests_tests.py +++ b/tests/unit/manifests_tests.py @@ -3,37 +3,35 @@ from bootstrapvz.base.manifest import Manifest def test_manifest_generator(): - """ - manifests_tests - 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 + 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. + """ + 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) + 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']) + 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'])