Example #1
0
 def test_result_iter(self, mock_build_raw_response_header: Mock):
     test_prefix = "test-prefix|"
     payload: Payload = Payload("test-payload").with_prefix(test_prefix)
     mock_build_raw_response_header.return_value = self.test_headers
     Result.save_payload_configs = True
     Result.save_headers = True
     Result.save_body = True
     result = Result(response=ResponseMock(), rtt=3.0, payload=payload)
     result.custom['test-key'] = "test-value"
     expected_result_dict = {
         'index': 1,
         'url': "https://test-url.com/",
         'method': "GET",
         'rtt': 3.0,
         'request_time': 1.0,
         'response_time': 2.0,
         'status': 200,
         'headers_length': 228,
         'body_size': 25,
         'words': 5,
         'lines': 2,
         'test-key': "test-value",
         'payload': payload.final,
         'payload_raw': payload.raw,
         'payload_prefix': test_prefix,
         'headers': self.test_headers,
         'body': "My Body Text\nFooter Text\n"
     }
     self.assertDictEqual(dict(result), expected_result_dict)
Example #2
0
 def test_get_formatted_result_with_result_custom(self,
                                                  mock_format_items: Mock):
     test_payload = "test_payload"
     test_status_code = "200"
     test_rtt = "300 ms"
     test_length = "50 KB"
     test_words = "50"
     test_lines = "10"
     mock_format_items.return_value = (test_payload, test_status_code,
                                       test_rtt, test_length, test_words,
                                       test_lines)
     test_result = Result(response=ResponseMock())
     test_result.custom['test_0'] = None
     test_result.custom['test_1'] = "test_custom"
     return_expected = (
         f"{test_payload} {Colors.GRAY}["
         f"{Colors.LIGHT_GRAY}Code{Colors.RESET} {test_status_code} | "
         f"{Colors.LIGHT_GRAY}RTT{Colors.RESET} {test_rtt} | "
         f"{Colors.LIGHT_GRAY}Size{Colors.RESET} {test_length} | "
         f"{Colors.LIGHT_GRAY}Words{Colors.RESET} {test_words} | "
         f"{Colors.LIGHT_GRAY}Lines{Colors.RESET} {test_lines}{Colors.GRAY}]{Colors.RESET}"
         f"\n{Colors.LIGHT_YELLOW}|_ test_1: "
         f"{ResultUtils.format_custom_field(test_result.custom['test_1'])}{Colors.RESET}"
     )
     returned_data = CliOutput()._CliOutput__get_formatted_result(
         test_result)
     mock_format_items.assert_called_once_with(test_result)
     self.assertIsInstance(returned_data, str)
     self.assertEqual(returned_data, return_expected)
Example #3
0
 def test_result(self, mock_build_raw_response_header: Mock):
     test_response = ResponseMock()
     mock_build_raw_response_header.return_value = self.test_headers
     result = Result(response=test_response,
                     rtt=3.0,
                     payload=Payload('test-payload'))
     self.assertEqual(result.request_time, 1.0)
     self.assertEqual(result.headers_length, 228)
     self.assertEqual(result.body_size, 25)
     self.assertEqual(result.words, 5)
     self.assertEqual(result.lines, 2)
     self.assertEqual(result.get_response(), test_response)
Example #4
0
 def test_get_formatted_payload_with_path_fuzz(self):
     test_result = Result(
         response=ResponseMock(),
         fuzz_type=PATH_FUZZING,
     )
     returned_payload = CliOutput()._CliOutput__get_formatted_payload(
         test_result)
     self.assertIsInstance(returned_payload, str)
     self.assertEqual(returned_payload, get_path(test_result.url))
Example #5
0
 def test_get_formatted_payload(self):
     test_result = Result(
         response=ResponseMock(),
         payload=Payload("test-payload"),
     )
     returned_payload = CliOutput()._CliOutput__get_formatted_payload(
         test_result)
     self.assertIsInstance(returned_payload, str)
     self.assertEqual(returned_payload, test_result.payload)
Example #6
0
 def test_result_str(self, mock_build_raw_response_header: Mock):
     test_response = ResponseMock()
     mock_build_raw_response_header.return_value = self.test_headers
     result = Result(response=test_response,
                     rtt=3.0,
                     payload=Payload('test-payload'))
     result.custom['test_0'] = None
     result.custom['test_1'] = "test_value"
     payload, rtt, length, words, lines = ResultUtils.get_formatted_result(
         result.payload, result.rtt, result.body_size, result.words,
         result.lines)
     return_expected = (f"{payload} ["
                        f"Code {result.status} | "
                        f"RTT {rtt} | "
                        f"Size {length} | "
                        f"Words {words} | "
                        f"Lines {lines}]"
                        f"\n|_ test_1: {result.custom['test_1']}")
     self.assertEqual(str(result), return_expected)
Example #7
0
 def test_get_formatted_payload_with_path_fuzz_and_raise_exception(
         self, mock_get_path: Mock):
     test_result = Result(
         response=ResponseMock(),
         fuzz_type=PATH_FUZZING,
     )
     mock_get_path.side_effect = ValueError
     returned_payload = CliOutput()._CliOutput__get_formatted_payload(
         test_result)
     self.assertIsInstance(returned_payload, str)
     self.assertEqual(returned_payload, test_result.url)
Example #8
0
 def test_get_formatted_result_items(self, mock_format_result: Mock,
                                     mock_format_status: Mock):
     test_result = Result(response=ResponseMock(),
                          payload=Payload("test-payload"))
     expected_status = "test_status"
     mock_format_status.return_value = expected_status
     return_expected = ('', expected_status, '', '', '', '')
     mock_format_result.return_value = ('', '', '', '', '')
     cli_output = CliOutput()
     returned_items = cli_output._CliOutput__get_formatted_result_items(
         test_result)
     mock_format_status.assert_called_once_with(test_result.status)
     mock_format_result.assert_called_once_with(
         cli_output._CliOutput__get_formatted_payload(test_result),
         test_result.rtt, test_result.body_size, test_result.words,
         test_result.lines)
     self.assertIsInstance(returned_items, tuple)
     self.assertEqual(returned_items, return_expected)