1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
# SPDX-FileCopyrightText: 2021-2024 Greenbone AG
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
import unittest
from gvm.utils import check_command_status
class TestCheckCommandStatus(unittest.TestCase):
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 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:Error while parsing the command status: Invalid XML "
'\'<authenticatio status="400" ><asaaa<fsdfsn_response status_text="Auth '
"failed\"/>'. Error was error parsing attribute name, line 1, column 36 "
"(<string>, line 1)"
],
)
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(self):
response = (
'<authentication status="200" status_text="Auth successfully"/>'
)
self.assertTrue(check_command_status(xml=response))
if __name__ == "__main__":
unittest.main()
|