示例#1
0
    def test_that_signing_service_should_reconnect_when_expected_socket_error_was_caught(self):
        with mock.patch('socket.socket.connect', side_effect=socket.error()) as mock_socket_connect:
            with mock.patch('signing_service.signing_service.SigningService._was_sigterm_caught', side_effect=[False, False, True]):
                signing_service = SigningService(*self.parameters)
                signing_service.run()

        assertpy.assert_that(mock_socket_connect.call_count).is_equal_to(2)
示例#2
0
文件: test_run.py 项目: dad1x/concent
    def test_that_signing_service_should_run_full_loop_when_instantiated_with_all_parameters(
            self):
        with mock.patch('socket.socket.connect') as mock_socket_connect:
            with mock.patch(
                    'signing_service.signing_service.SigningService._authenticate'
            ) as mock___authenticate:
                with mock.patch(
                        'signing_service.signing_service.SigningService._get_signing_service_daily_transaction_sum_so_far'
                ) as mock_daily_transaction_sum:
                    with mock.patch(
                            'signing_service.signing_service.SigningService._handle_connection'
                    ) as mock__handle_connection:
                        with mock.patch(
                                'socket.socket.close') as mock_socket_close:
                            with mock.patch(
                                    'signing_service.signing_service.SigningService._was_sigterm_caught',
                                    side_effect=[False, True]):
                                signing_service = SigningService(
                                    *self.parameters)
                                signing_service.run()

        mock_socket_connect.assert_called_once_with(('127.0.0.1', self.port))
        mock_socket_close.assert_called_once()
        mock___authenticate.assert_called_once()
        mock_daily_transaction_sum.assert_called_once()
        mock__handle_connection.assert_called_once()
示例#3
0
    def test_that_signing_service_should_exit_gracefully_on_keyboard_interrupt(self):
        with mock.patch('socket.socket.connect', side_effect=KeyboardInterrupt()) as mock_socket_connect:
            with mock.patch('socket.socket.close') as mock_socket_close:
                signing_service = SigningService(*self.parameters)
                signing_service.run()

        mock_socket_connect.assert_called_once_with(('127.0.0.1', self.port))
        mock_socket_close.assert_called_once()
示例#4
0
    def test_that_signing_service_should_reraise_unrecognized_exception(self):
        with mock.patch('socket.socket.connect', side_effect=Exception()) as mock_socket_connect:
            with mock.patch('socket.socket.close') as mock_socket_close:
                signing_service = SigningService(*self.parameters)
                with pytest.raises(Exception):
                    signing_service.run()

        mock_socket_connect.assert_called_once_with(('127.0.0.1', self.port))
        mock_socket_close.assert_called_once()
示例#5
0
 def test_that_signing_service_will_reconnect_after_authentication_fails(self):
     with mock.patch('socket.socket.connect') as mock_socket_connect:
         with mock.patch('socket.socket.close') as mock_socket_close:
             with mock.patch('signing_service.signing_service.SigningService._authenticate', side_effect=socket.error()) as mock___authenticate:
                 with mock.patch('signing_service.signing_service.sleep'):
                     signing_service = SigningService(*self.parameters)
                     signing_service.run()
     assertpy.assert_that(mock_socket_connect.call_count).is_equal_to(SIGNING_SERVICE_DEFAULT_RECONNECT_ATTEMPTS + 1)
     assertpy.assert_that(mock_socket_close.call_count).is_equal_to(SIGNING_SERVICE_DEFAULT_RECONNECT_ATTEMPTS + 1)
     assertpy.assert_that(mock___authenticate.call_count).is_equal_to(SIGNING_SERVICE_DEFAULT_RECONNECT_ATTEMPTS + 1)
示例#6
0
 def test_that_signing_service_will_reconnect_on_socket_errors_and_exit_gracefully_when_exceeds_maximum_number_of_reconnection_attempts(self):
     with mock.patch('socket.socket.connect', side_effect=socket.error()) as mock_socket_connect:
         with mock.patch('socket.socket.close') as mock_socket_close:
             with mock.patch('signing_service.signing_service.sleep'):
                 signing_service = SigningService(*self.parameters)
                 with mock.patch('signing_service.signing_service.logger.error') as mock_logger_error:
                     signing_service.run()
     assertpy.assert_that(mock_socket_connect.call_count).is_equal_to(SIGNING_SERVICE_DEFAULT_RECONNECT_ATTEMPTS + 1)
     assertpy.assert_that(mock_socket_close.call_count).is_equal_to(SIGNING_SERVICE_DEFAULT_RECONNECT_ATTEMPTS + 1)
     assertpy.assert_that(
         mock_logger_error.call_args_list[mock_logger_error.call_count - 1],
         ['Maximum number of reconnection exceeded.'],
     )
示例#7
0
文件: test_run.py 项目: dad1x/concent
 def test_that_signing_service_will_reconnect_on_socket_errors_and_raise_exception_when_exceeds_maxium_number_of_reconnection_attempts(
         self):
     with mock.patch('socket.socket.connect',
                     side_effect=socket.error()) as mock_socket_connect:
         with mock.patch('socket.socket.close') as mock_socket_close:
             with mock.patch('signing_service.signing_service.sleep'):
                 signing_service = SigningService(*self.parameters)
                 with pytest.raises(
                         SigningServiceMaximumReconnectionAttemptsExceeded):
                     signing_service.run()
     assertpy.assert_that(mock_socket_connect.call_count).is_equal_to(
         SIGNING_SERVICE_DEFAULT_RECONNECT_ATTEMPTS + 1)
     assertpy.assert_that(mock_socket_close.call_count).is_equal_to(
         SIGNING_SERVICE_DEFAULT_RECONNECT_ATTEMPTS + 1)