def test_no_generic_or_default_warn_readon(self): # load the default plugin_admin.xml file after having remove the 'generic' setting from section 'warn_reasons' from b3.lib.elementtree import ElementTree as ET root = ET.parse(ADMIN_CONFIG_FILE).getroot() warn_reasons_nodes = [x for x in root.findall("settings") if x.get("name") == "warn_reasons"][0] if len(warn_reasons_nodes): generic_nodes = [x for x in warn_reasons_nodes[0].findall("set") if x.get("name") == "generic"] if len(generic_nodes): warn_reasons_nodes[0].remove(generic_nodes[0]) default_nodes = [x for x in warn_reasons_nodes[0].findall("set") if x.get("name") == "default"] if len(default_nodes): warn_reasons_nodes[0].remove(default_nodes[0]) self.init(ET.tostring(root)) self.joe.message = Mock(lambda x: sys.stdout.write("message to Joe: " + x + "\n")) self.joe.connects(0) self.joe.says("!warntest") self.joe.message.assert_called_once_with("^2TEST: ^1WARNING^7 [^31^7]: ^7behave yourself") self.joe.message.reset_mock() self.joe.says("!warntest argue") self.joe.message.assert_called_once_with( "^2TEST: ^1WARNING^7 [^31^7]: ^3Rule #3: No arguing with admins (listen and learn or leave)" )
def readfp(self, fp): """\ Read the xml config file from a file pointer """ self._xml = ElementTree.parse(fp) self._loadSettings()
def test_no_generic_or_default_warn_readon(self): # load the default plugin_admin.xml file after having remove the 'generic' setting from section 'warn_reasons' from b3.lib.elementtree import ElementTree as ET root = ET.parse(ADMIN_CONFIG_FILE).getroot() warn_reasons_nodes = [ x for x in root.findall('settings') if x.get('name') == 'warn_reasons' ][0] if len(warn_reasons_nodes): generic_nodes = [ x for x in warn_reasons_nodes[0].findall('set') if x.get('name') == "generic" ] if len(generic_nodes): warn_reasons_nodes[0].remove(generic_nodes[0]) default_nodes = [ x for x in warn_reasons_nodes[0].findall('set') if x.get('name') == "default" ] if len(default_nodes): warn_reasons_nodes[0].remove(default_nodes[0]) self.init(ET.tostring(root)) self.joe.message = Mock( lambda x: sys.stdout.write("message to Joe: " + x + "\n")) self.joe.connects(0) self.joe.says('!warntest') self.joe.message.assert_called_once_with( '^2TEST: ^1WARNING^7 [^31^7]: ^7behave yourself') self.joe.message.reset_mock() self.joe.says('!warntest argue') self.joe.message.assert_called_once_with( '^2TEST: ^1WARNING^7 [^31^7]: ^3Rule #3: No arguing with admins (listen and learn or leave)' )
def readfp(self, fp): """\ Read the xml config file from a file pointer """ try: self._xml = ElementTree.parse(fp) except ExpatError, e: raise ConfigFileNotValid("%s" % e)