示例#1
0
    def test_check_command_status_empty(self):
        with self.assertLogs("gvm.utils", level="ERROR") as error_logger:
            false = check_command_status(xml=False)
            self.assertFalse(false)

            false = check_command_status(xml=0)
            self.assertFalse(false)
        self.assertEqual(
            error_logger.output,
            [
                "ERROR:gvm.utils:XML Command is empty.",
                "ERROR:gvm.utils:XML Command is empty.",
            ],
        )
示例#2
0
    def authenticate(self, username: str, password: str) -> Any:
        """Authenticate to gvmd.

        The generated authenticate command will be send to server.
        Afterwards the response is read, transformed and returned.

        Arguments:
            username: Username
            password: Password

        Returns:
            Transformed response from server.
        """
        cmd = XmlCommand("authenticate")

        if not username:
            raise RequiredArgument(function=self.authenticate.__name__,
                                   argument="username")

        if not password:
            raise RequiredArgument(function=self.authenticate.__name__,
                                   argument="password")

        credentials = cmd.add_element("credentials")
        credentials.add_element("username", username)
        credentials.add_element("password", password)

        self._send(cmd.to_string())
        response = self._read()

        if check_command_status(response):
            self._authenticated = True

        return self._transform(response)
示例#3
0
 def test_check_command_status_error(self):
     response = "<a><b/></a>"
     with self.assertLogs("gvm.utils", level="ERROR") as error_logger:
         self.assertFalse(check_command_status(xml=response))
     self.assertEqual(
         error_logger.output,
         [
             "ERROR:gvm.utils:Not received an "
             "status code within the response."
         ],
     )
示例#4
0
 def test_check_command_status_failed(self):
     response = ('<authenticatio status="400" ><asaaa<fsd'
                 'fsn_response status_text="Auth failed"/>')
     with self.assertLogs("gvm.utils", level="ERROR") as error_logger:
         self.assertFalse(check_command_status(xml=response))
     self.assertEqual(
         error_logger.output,
         [
             "ERROR:gvm.utils:etree.XML(xml): error parsing attribute name, "
             "line 1, column 36 (<string>, line 1)"
         ],
     )
示例#5
0
 def test_check_command_status(self):
     response = (
         '<authentication status="200" status_text="Auth successfully"/>')
     self.assertTrue(check_command_status(xml=response))