def test_mock_result_rpc_names_called(mock_result: testing.MockResult, property_name): rpc_message1 = RpcMessage(api_name="api", procedure_name="rpc") rpc_message2 = RpcMessage(api_name="api2", procedure_name="rpc2") # fmt: off mock_result.mocker_context.rpc_result.to_transport.put_items = [ ( CallRpcCommand(message=rpc_message1, options={}), None, ), ( CallRpcCommand(message=rpc_message2, options={}), None, ), ] # fmt: on assert getattr(mock_result, property_name) == ["api.rpc", "api2.rpc2"]
def test_mock_result_get_rpc_messages_filtered(mock_result: testing.MockResult, method_name): get_rpc_messages = getattr(mock_result, method_name) rpc_message1 = RpcMessage(api_name="api", procedure_name="rpc1") rpc_message2 = RpcMessage(api_name="api", procedure_name="rpc2") # fmt: off mock_result.mocker_context.rpc_result.to_transport.put_items = [ ( CallRpcCommand(message=rpc_message1, options={}), None, ), ( CallRpcCommand(message=rpc_message2, options={}), None, ), ] # fmt: on assert get_rpc_messages("api.rpc2") == [rpc_message2]
def test_mock_result_assert_rpc_called_times(mock_result: testing.MockResult, method_name): assert_rpc_called = getattr(mock_result, method_name) rpc_message1 = RpcMessage(api_name="api", procedure_name="rpc") rpc_message2 = RpcMessage(api_name="api", procedure_name="rpc") # fmt: off mock_result.mocker_context.rpc_result.to_transport.put_items = [ ( CallRpcCommand(message=rpc_message1, options={}), None, ), ( CallRpcCommand(message=rpc_message2, options={}), None, ), ] # fmt: on # No error try: assert_rpc_called("api.rpc") except AssertionError as e: assert False, f"{method_name} incorrectly raised an assertion error: {e}" # No error try: assert_rpc_called("api.rpc", times=2) except AssertionError as e: assert False, f"{method_name} incorrectly raised an assertion error: {e}" # Error with pytest.raises(AssertionError): assert_rpc_called("api.rpc", times=0) # Error with pytest.raises(AssertionError): assert_rpc_called("api.rpc", times=1) # Error with pytest.raises(AssertionError): assert_rpc_called("api.rpc", times=3)