コード例 #1
0
    def test_run_ping_tests_with_success(self: InternetStatusTest,
                                         mock_response: patch,
                                         mock_logger: Logger) -> None:
        mock_response.side_effect = [GOOGLE_SUCCESSFUL_RESPONSE]

        self.internet_status.run_ping_tests()
        self.assertEqual(mock_logger.call_count, 0)
コード例 #2
0
    def test_run_ping_tests_with_multiple_error_types(
            self: InternetStatusTest, mock_response: patch,
            mock_logger: Logger) -> None:

        # Check first host is most severe
        mock_response.side_effect = [
            GOOGLE_UNABLE_TO_RESOLVE_HOST_RESPONSE,
            APPLE_ROUND_TRIP_TIME_ERROR_RESPONSE,
            LOCAL_ROUTER_SUCCESSFUL_RESPONSE
        ]

        self.internet_status.run_ping_tests()
        self.assertEqual(mock_logger.call_count, 1)
        args, _ = mock_logger.call_args_list[0]
        args = args[1]
        self.assertIn(RESOLVE_HOST_ERROR, args)

        # Check second host is most severe
        mock_response.side_effect = [
            GOOGLE_ROUND_TRIP_TIME_ERROR_RESPONSE, APPLE_PACKET_LOSS_RESPONSE,
            LOCAL_ROUTER_SUCCESSFUL_RESPONSE
        ]

        self.internet_status.run_ping_tests()
        self.assertEqual(mock_logger.call_count, 2)
        args, _ = mock_logger.call_args_list[1]
        args = args[1]
        self.assertIn(PACKET_LOSS_ERROR, args)

        # Check local router is most severe
        mock_response.side_effect = [
            GOOGLE_UNABLE_TO_RESOLVE_HOST_RESPONSE,
            APPLE_ROUND_TRIP_TIME_ERROR_RESPONSE, COMMAND_EXIT_ISSUE_RESPONSE
        ]

        self.internet_status.run_ping_tests()
        self.assertEqual(mock_logger.call_count, 3)
        args, _ = mock_logger.call_args_list[2]
        args = args[1]
        self.assertIn(LOCAL_ROUTER_ERROR, args)
コード例 #3
0
    def test_run_ping_tests_with_resolve_host_error(
            self: InternetStatusTest, mock_response: patch,
            mock_logger: Logger) -> None:
        mock_response.side_effect = [
            GOOGLE_UNABLE_TO_RESOLVE_HOST_RESPONSE,
            APPLE_UNABLE_TO_RESOLVE_HOST_RESPONSE,
            LOCAL_ROUTER_SUCCESSFUL_RESPONSE
        ]

        self.internet_status.run_ping_tests()
        self.assertEqual(mock_logger.call_count, 1)
        args, _ = mock_logger.call_args_list[0]
        self.assertIn(RESOLVE_HOST_ERROR, args)
コード例 #4
0
    def test_run_ping_tests_with_local_router_error(
            self: InternetStatusTest, mock_response: patch,
            mock_logger: Logger) -> None:
        mock_response.side_effect = [
            COMMAND_EXIT_ISSUE_RESPONSE,
            COMMAND_EXIT_ISSUE_RESPONSE,
            COMMAND_EXIT_ISSUE_RESPONSE,
        ]

        self.internet_status.run_ping_tests()
        self.assertEqual(mock_logger.call_count, 1)
        args, _ = mock_logger.call_args_list[0]
        self.assertIn(LOCAL_ROUTER_ERROR, args)
コード例 #5
0
    def test_run_ping_tests_with_packet_loss_error(
            self: InternetStatusTest, mock_response: patch,
            mock_logger: Logger) -> None:
        mock_response.side_effect = [
            GOOGLE_PACKET_LOSS_RESPONSE, APPLE_PACKET_LOSS_RESPONSE,
            LOCAL_ROUTER_SUCCESSFUL_RESPONSE
        ]

        self.internet_status.run_ping_tests()
        self.assertEqual(mock_logger.call_count, 1)
        args, _ = mock_logger.call_args_list[0]
        args = args[1]
        self.assertIn(PACKET_LOSS_ERROR, args)
        self.assertIn(str(90.0), args)
コード例 #6
0
    def test_run_ping_tests_with_round_trip_time_error(
            self: InternetStatusTest, mock_response: patch,
            mock_logger: Logger) -> None:
        mock_response.side_effect = [
            GOOGLE_ROUND_TRIP_TIME_ERROR_RESPONSE,
            APPLE_ROUND_TRIP_TIME_ERROR_RESPONSE,
            LOCAL_ROUTER_SUCCESSFUL_RESPONSE
        ]

        self.internet_status.run_ping_tests()
        self.assertEqual(mock_logger.call_count, 1)
        args, _ = mock_logger.call_args_list[0]
        args = args[1]
        self.assertIn(ROUND_TRIP_TIME_ERROR, args)
        self.assertIn(str(100.0), args)