summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-12-18 11:20:47 -0600
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-12-18 11:21:11 -0600
commit05122a6f04fbbff9838816f6f713e483811c8ed5 (patch)
treedc367daf0130ddb2ef95faa6ec41f97f09f90f4b /src
parent1a4148626871df43d2d207db551536813868713e (diff)
downloadbcfg2-05122a6f04fbbff9838816f6f713e483811c8ed5.tar.gz
bcfg2-05122a6f04fbbff9838816f6f713e483811c8ed5.tar.bz2
bcfg2-05122a6f04fbbff9838816f6f713e483811c8ed5.zip
added unit tests for Rules and Defaults
Diffstat (limited to 'src')
-rw-r--r--src/lib/Bcfg2/Server/Plugin/helpers.py8
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Defaults.py7
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Rules.py7
3 files changed, 7 insertions, 15 deletions
diff --git a/src/lib/Bcfg2/Server/Plugin/helpers.py b/src/lib/Bcfg2/Server/Plugin/helpers.py
index dfda30b39..c6cd006ac 100644
--- a/src/lib/Bcfg2/Server/Plugin/helpers.py
+++ b/src/lib/Bcfg2/Server/Plugin/helpers.py
@@ -155,13 +155,9 @@ class DatabaseBacked(Plugin):
lock before writing, because it does not allow multiple
threads to write."""
engine = \
- self.core.setup.cfp.get(Bcfg2.Options.DB_ENGINE.cf[0],
- Bcfg2.Options.DB_ENGINE.cf[1],
+ self.core.setup.cfp.get(*Bcfg2.Options.DB_ENGINE.cf,
default=Bcfg2.Options.DB_ENGINE.default)
- if engine == 'sqlite3':
- return True
- else:
- return False
+ return engine == 'sqlite3'
@staticmethod
def get_db_lock(func):
diff --git a/src/lib/Bcfg2/Server/Plugins/Defaults.py b/src/lib/Bcfg2/Server/Plugins/Defaults.py
index 53eed3798..f4d86a64f 100644
--- a/src/lib/Bcfg2/Server/Plugins/Defaults.py
+++ b/src/lib/Bcfg2/Server/Plugins/Defaults.py
@@ -7,7 +7,6 @@ import Bcfg2.Server.Plugins.Rules
class Defaults(Bcfg2.Server.Plugins.Rules.Rules,
Bcfg2.Server.Plugin.StructureValidator):
"""Set default attributes on bound entries"""
- name = 'Defaults'
__author__ = 'bcfg-dev@mcs.anl.gov'
# Rules is a Generator that happens to implement all of the
@@ -20,16 +19,13 @@ class Defaults(Bcfg2.Server.Plugins.Rules.Rules,
def HandlesEntry(self, entry, metadata):
return False
- def HandleEntry(self, entry, metadata):
- raise Bcfg2.Server.Plugin.PluginExecutionError
-
def HandleEvent(self, event):
Bcfg2.Server.Plugin.XMLDirectoryBacked.HandleEvent(self, event)
def validate_structures(self, metadata, structures):
""" Apply defaults """
for struct in structures:
- for entry in struct.iter():
+ for entry in struct.getchildren():
if entry.tag.startswith("Bound"):
is_bound = True
entry.tag = entry.tag[5:]
@@ -48,6 +44,7 @@ class Defaults(Bcfg2.Server.Plugins.Rules.Rules,
if is_bound:
entry.tag = "Bound" + entry.tag
+ @property
def _regex_enabled(self):
""" Defaults depends on regex matching, so force it enabled """
return True
diff --git a/src/lib/Bcfg2/Server/Plugins/Rules.py b/src/lib/Bcfg2/Server/Plugins/Rules.py
index 904876794..21862c5db 100644
--- a/src/lib/Bcfg2/Server/Plugins/Rules.py
+++ b/src/lib/Bcfg2/Server/Plugins/Rules.py
@@ -6,7 +6,6 @@ import Bcfg2.Server.Plugin
class Rules(Bcfg2.Server.Plugin.PrioDir):
"""This is a generator that handles service assignments."""
- name = 'Rules'
__author__ = 'bcfg-dev@mcs.anl.gov'
def __init__(self, core, datastore):
@@ -19,15 +18,14 @@ class Rules(Bcfg2.Server.Plugin.PrioDir):
self.Entries[entry.tag].keys())
return False
- def HandleEntry(self, entry, metadata):
- return self.BindEntry(entry, metadata)
-
def BindEntry(self, entry, metadata):
attrs = self.get_attrs(entry, metadata)
for key, val in list(attrs.items()):
if key not in entry.attrib:
entry.attrib[key] = val
+ HandleEntry = BindEntry
+
def _matches(self, entry, metadata, rules):
if Bcfg2.Server.Plugin.PrioDir._matches(self, entry, metadata, rules):
return True
@@ -48,6 +46,7 @@ class Rules(Bcfg2.Server.Plugin.PrioDir):
return True
return False
+ @property
def _regex_enabled(self):
""" Return True if rules regexes are enabled, False otherwise """
return self.core.setup.cfp.getboolean("rules", "regex", default=False)