diff options
Diffstat (limited to 'testsuite/TestPlugin.py')
-rw-r--r-- | testsuite/TestPlugin.py | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/testsuite/TestPlugin.py b/testsuite/TestPlugin.py index a6affbec2..aa619249a 100644 --- a/testsuite/TestPlugin.py +++ b/testsuite/TestPlugin.py @@ -1,6 +1,11 @@ -import os, Bcfg2.Server.Core, gamin, lxml.etree +import gamin +import lxml.etree +import os + +import Bcfg2.Server.Core from Bcfg2.Server.Plugin import EntrySet + class es_testtype(object): def __init__(self, name, properties, specific): self.name = name @@ -11,27 +16,30 @@ class es_testtype(object): def handle_event(self, event): self.handled += 1 - + def bind_entry(self, entry, metadata): entry.set('bound', '1') entry.set('name', self.name) self.built += 1 - + + class metadata(object): def __init__(self, hostname): self.hostname = hostname self.groups = ['base', 'debian'] - + #FIXME add test_specific + class test_entry_set(object): def __init__(self): self.dirname = '/tmp/estest-%d' % os.getpid() - os.path.isdir(self.dirname) or os.mkdir(self.dirname) + os.path.isdir(self.dirname) or os.mkdir(self.dirname) self.metadata = metadata('testhost') self.es = EntrySet('template', self.dirname, None, es_testtype) self.e = Bcfg2.Server.Core.GaminEvent(1, 'template', gamin.GAMExists) + def test_init(self): es = self.es e = self.e @@ -39,27 +47,26 @@ class test_entry_set(object): es.handle_event(e) es.handle_event(e) assert len(es.entries) == 1 - assert es.entries.values()[0].handled == 2 + assert list(es.entries.values())[0].handled == 2 e.action = 'changed' es.handle_event(e) - assert es.entries.values()[0].handled == 3 - - - def test_info(self): + assert list(es.entries.values())[0].handled == 3 + + def test_info(self): """Test info and info.xml handling.""" es = self.es - e = self.e + e = self.e dirname = self.dirname metadata = self.metadata - - # test 'info' handling + + # test 'info' handling assert es.metadata['group'] == 'root' self.mk_info(dirname) e.filename = 'info' e.action = 'exists' es.handle_event(e) assert es.metadata['group'] == 'sys' - e.action = 'deleted' + e.action = 'deleted' es.handle_event(e) assert es.metadata['group'] == 'root' @@ -73,17 +80,15 @@ class test_entry_set(object): e.action = 'deleted' es.handle_event(e) assert es.infoxml == None - def test_file_building(self): """Test file building.""" self.test_init() ent = lxml.etree.Element('foo') self.es.bind_entry(ent, self.metadata) - print self.es.entries.values()[0] - assert self.es.entries.values()[0].built == 1 - - + print(list(self.es.entries.values())[0]) + assert list(self.es.entries.values())[0].built == 1 + def test_host_specific_file_building(self): """Add a host-specific template and build it.""" self.e.filename = 'template.H_%s' % self.metadata.hostname @@ -93,9 +98,7 @@ class test_entry_set(object): ent = lxml.etree.Element('foo') self.es.bind_entry(ent, self.metadata) # FIXME need to test that it built the _right_ file here - - - + def test_deletion(self): """Test deletion of files.""" self.test_init() @@ -103,9 +106,9 @@ class test_entry_set(object): self.e.action = 'deleted' self.es.handle_event(self.e) assert len(self.es.entries) == 0 - + # TODO - how to clean up the temp dir & files after tests done? - + def mk_info(self, dir): i = open("%s/info" % dir, 'w') i.write('owner: root\n') @@ -117,6 +120,3 @@ class test_entry_set(object): i = open("%s/info.xml" % dir, 'w') i.write('<FileInfo><Info owner="root" group="other" perms="0600" /></FileInfo>\n') i.close - - - |