def test_get_entity(self, state, entity):
        mock = state._context.get_state
        address = Namespaces.get_address(entity.id, subnamespace=Namespaces.ENTITY)
        entry = TpStateEntry(address=address, data=entity.SerializeToString())
        mock.return_value = [entry]
        returned_entity = state.get_entity(entity.id)

        mock.assert_called_with([address])
        assert returned_entity == entity
Exemple #2
0
    def create_set_request(self, address_data_map):
        self._validate_addresses(
            [address for address, _ in address_data_map.items()])

        entries = [
            TpStateEntry(address=address, data=data)
            for address, data in address_data_map.items()
        ]

        return TpStateSetRequest(entries=entries)
Exemple #3
0
    def _make_entries(self, protobuf=True):
        if protobuf:
            return [
                TpStateEntry(address=a, data=d)
                for a, d in zip(self.addresses, self.data)
            ]

        entries = OrderedDict()
        for a, d in zip(self.addresses, self.data):
            entries[a] = d
        return entries
    def test_get_agent(self, state, agent):
        mock = state._context.get_state
        address = Namespaces.get_address(
            agent.public_key, subnamespace=Namespaces.AGENT
        )
        ac = AgentContainer(entries=[agent]).SerializeToString()
        entry = TpStateEntry(address=address, data=ac)
        mock.return_value = [entry]
        returned_agent = state.get_agent(agent.public_key)

        mock.assert_called_with([address])
        assert returned_agent == agent
Exemple #5
0
    def create_get_response(self, address_data_map):

        # Each TpStateEntry has an address, and data.
        # Data can be anything, but transaction processors may assum a
        # certain data type. For example, intkey assumes a dictionary
        # with "Name" in it and stores the "Value". A dictionary is
        # used to deal with hash collisions.

        # GetResponse object has a list of TpStateEntry objects

        self._validate_addresses(
            [address for address, _ in address_data_map.items()])

        entries = [
            TpStateEntry(address=address, data=data)
            for address, data in address_data_map.items()
        ]

        # Create a GetResponse object
        return TpStateGetResponse(entries=entries)