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.", ], )
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)
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." ], )
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)" ], )
def test_check_command_status(self): response = ( '<authentication status="200" status_text="Auth successfully"/>') self.assertTrue(check_command_status(xml=response))