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)"
        )
예제 #2
0
	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)'
        )
예제 #4
0
 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)
예제 #5
0
 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)