def test_transaction_confirmation_serialization(): """Test the serialization for 'transaction_confirmation' speech-act works.""" msg = TacMessage( performative=TacMessage.Performative.TRANSACTION_CONFIRMATION, transaction_id="some_transaction_id", amount_by_currency_id={ "key_1": 1, "key_2": 2 }, quantities_by_good_id={ "key_1": 1, "key_2": 2 }, ) msg.to = "receiver" envelope = Envelope( to=msg.to, sender="sender", protocol_id=TacMessage.protocol_id, message=msg, ) envelope_bytes = envelope.encode() actual_envelope = Envelope.decode(envelope_bytes) expected_envelope = envelope assert expected_envelope.to == actual_envelope.to assert expected_envelope.sender == actual_envelope.sender assert expected_envelope.protocol_id == actual_envelope.protocol_id assert expected_envelope.message != actual_envelope.message actual_msg = TacMessage.serializer.decode(actual_envelope.message) actual_msg.to = actual_envelope.to actual_msg.sender = actual_envelope.sender expected_msg = msg assert expected_msg == actual_msg
def test_tac_error_serialization(): """Test the serialization for 'tac_error' speech-act works.""" msg = TacMessage( performative=TacMessage.Performative.TAC_ERROR, error_code=TacMessage.ErrorCode.GENERIC_ERROR, info={ "key_1": "value_1", "key_2": "value_2" }, ) msg.to = "receiver" envelope = Envelope( to=msg.to, sender="sender", protocol_id=TacMessage.protocol_id, message=msg, ) envelope_bytes = envelope.encode() actual_envelope = Envelope.decode(envelope_bytes) expected_envelope = envelope assert expected_envelope.to == actual_envelope.to assert expected_envelope.sender == actual_envelope.sender assert expected_envelope.protocol_id == actual_envelope.protocol_id assert expected_envelope.message != actual_envelope.message actual_msg = TacMessage.serializer.decode(actual_envelope.message) actual_msg.to = actual_envelope.to actual_msg.sender = actual_envelope.sender expected_msg = msg assert expected_msg == actual_msg
def test_unregister_serialization(): """Test the serialization for 'unregister' speech-act works.""" msg = TacMessage( message_id=2, target=1, performative=TacMessage.Performative.UNREGISTER, ) msg.to = "receiver" envelope = Envelope( to=msg.to, sender="sender", protocol_id=TacMessage.protocol_id, message=msg, ) envelope_bytes = envelope.encode() actual_envelope = Envelope.decode(envelope_bytes) expected_envelope = envelope assert expected_envelope.to == actual_envelope.to assert expected_envelope.sender == actual_envelope.sender assert expected_envelope.protocol_id == actual_envelope.protocol_id assert expected_envelope.message != actual_envelope.message actual_msg = TacMessage.serializer.decode(actual_envelope.message) actual_msg.to = actual_envelope.to actual_msg.sender = actual_envelope.sender expected_msg = msg assert expected_msg == actual_msg
def test_register_serialization(): """Test the serialization for 'register' speech-act works.""" msg = TacMessage( performative=TacMessage.Performative.REGISTER, agent_name="some_agent_name", ) msg.to = "receiver" envelope = Envelope( to=msg.to, sender="sender", message=msg, ) envelope_bytes = envelope.encode() actual_envelope = Envelope.decode(envelope_bytes) expected_envelope = envelope assert expected_envelope.to == actual_envelope.to assert expected_envelope.sender == actual_envelope.sender assert (expected_envelope.protocol_specification_id == actual_envelope.protocol_specification_id) assert expected_envelope.message != actual_envelope.message actual_msg = TacMessage.serializer.decode(actual_envelope.message) actual_msg.to = actual_envelope.to actual_msg.sender = actual_envelope.sender expected_msg = msg assert expected_msg == actual_msg
def test_transaction_serialization(): """Test the serialization for 'transaction' speech-act works.""" msg = TacMessage( performative=TacMessage.Performative.TRANSACTION, transaction_id="some_transaction_id", ledger_id="some_ledger_id", sender_address="some_sender_address", counterparty_address="some_counterparty_address", amount_by_currency_id={ "key_1": 1, "key_2": 2 }, fee_by_currency_id={ "key_1": 1, "key_2": 2 }, quantities_by_good_id={ "key_1": 1, "key_2": 2 }, nonce="some_nonce", sender_signature="some_sender_signature", counterparty_signature="some_counterparty_signature", ) msg.to = "receiver" envelope = Envelope( to=msg.to, sender="sender", message=msg, ) envelope_bytes = envelope.encode() actual_envelope = Envelope.decode(envelope_bytes) expected_envelope = envelope assert expected_envelope.to == actual_envelope.to assert expected_envelope.sender == actual_envelope.sender assert (expected_envelope.protocol_specification_id == actual_envelope.protocol_specification_id) assert expected_envelope.message != actual_envelope.message actual_msg = TacMessage.serializer.decode(actual_envelope.message) actual_msg.to = actual_envelope.to actual_msg.sender = actual_envelope.sender expected_msg = msg assert expected_msg == actual_msg
def test_cancelled_serialization(): """Test the serialization for 'cancelled' speech-act works.""" msg = TacMessage(performative=TacMessage.Performative.CANCELLED, ) msg.to = "receiver" envelope = Envelope( to=msg.to, sender="sender", protocol_id=TacMessage.protocol_id, message=msg, ) envelope_bytes = envelope.encode() actual_envelope = Envelope.decode(envelope_bytes) expected_envelope = envelope assert expected_envelope.to == actual_envelope.to assert expected_envelope.sender == actual_envelope.sender assert expected_envelope.protocol_id == actual_envelope.protocol_id assert expected_envelope.message != actual_envelope.message actual_msg = TacMessage.serializer.decode(actual_envelope.message) actual_msg.to = actual_envelope.to actual_msg.sender = actual_envelope.sender expected_msg = msg assert expected_msg == actual_msg
def test_game_data_serialization(): """Test the serialization for 'game_data' speech-act works.""" msg = TacMessage( performative=TacMessage.Performative.GAME_DATA, amount_by_currency_id={ "key_1": 1, "key_2": 2 }, exchange_params_by_currency_id={ "key_1": 1.0, "key_2": 2.0 }, quantities_by_good_id={ "key_1": 1, "key_2": 2 }, utility_params_by_good_id={ "key_1": 1.0, "key_2": 2.0 }, fee_by_currency_id={ "key_1": 1, "key_2": 2 }, agent_addr_to_name={ "key_1": "value_1", "key_2": "value_2" }, currency_id_to_name={ "key_1": "value_1", "key_2": "value_2" }, good_id_to_name={ "key_1": "value_1", "key_2": "value_2" }, version_id="some_version_id", info={ "key_1": "value_1", "key_2": "value_2" }, ) msg.to = "receiver" envelope = Envelope( to=msg.to, sender="sender", protocol_id=TacMessage.protocol_id, message=msg, ) envelope_bytes = envelope.encode() actual_envelope = Envelope.decode(envelope_bytes) expected_envelope = envelope assert expected_envelope.to == actual_envelope.to assert expected_envelope.sender == actual_envelope.sender assert expected_envelope.protocol_id == actual_envelope.protocol_id assert expected_envelope.message != actual_envelope.message actual_msg = TacMessage.serializer.decode(actual_envelope.message) actual_msg.to = actual_envelope.to actual_msg.sender = actual_envelope.sender expected_msg = msg assert expected_msg == actual_msg