summaryrefslogtreecommitdiffstats
path: root/src/sbin/bcfg2-test
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-03-04 14:17:11 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-03-04 14:17:40 -0500
commit363c1fa52dd2197a56fae3c9c112bc14adadd0f3 (patch)
treebaf244b97237d920dc3f0cbe1a80dbe4b31e0336 /src/sbin/bcfg2-test
parent721e7bc90d2f68f2422e269093073e255e62bfe9 (diff)
downloadbcfg2-363c1fa52dd2197a56fae3c9c112bc14adadd0f3.tar.gz
bcfg2-363c1fa52dd2197a56fae3c9c112bc14adadd0f3.tar.bz2
bcfg2-363c1fa52dd2197a56fae3c9c112bc14adadd0f3.zip
bcfg2-test: added checks for missing bundles and unknown packages
Diffstat (limited to 'src/sbin/bcfg2-test')
-rwxr-xr-xsrc/sbin/bcfg2-test14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/sbin/bcfg2-test b/src/sbin/bcfg2-test
index 8f9912139..e91cf93ca 100755
--- a/src/sbin/bcfg2-test
+++ b/src/sbin/bcfg2-test
@@ -56,6 +56,20 @@ class ClientTest(TestCase):
assert len(config.findall("Bundle")) > 0, \
"%s has no content" % self.client
+ # check for missing bundles
+ metadata = self.bcfg2_core.build_metadata(self.client)
+ sbundles = [el.get('name') for el in config.findall("Bundle")]
+ missing = [b for b in metadata.bundles if b not in sbundles]
+ assert len(missing) == 0, \
+ "\n".join(output + ["Configuration is missing bundle(s): %s" %
+ ':'.join(missing)])
+
+ # check for unknown packages
+ unknown_pkgs = config.xpath('//Package[@type="unknown"]')
+ assert len(unknown_pkgs) == 0, \
+ "Configuration contains unknown packages: %s" % \
+ ", ".join(unknown_pkgs)
+
failures = []
msg = ["Failures:"]
for failure in config.xpath('//*[@failure]'):