def test_save_then_get_states(self): dapr = DaprClient(f'localhost:{self.server_port}') key = str(uuid.uuid4()) value = str(uuid.uuid4()) another_key = str(uuid.uuid4()) another_value = str(uuid.uuid4()) dapr.save_bulk_state(store_name="statestore", states=[ StateItem(key=key, value=value, metadata={"capitalize": "1"}), StateItem(key=another_key, value=another_value, etag="1"), ], metadata=(("metakey", "metavalue"), )) resp = dapr.get_bulk_state(store_name="statestore", keys=[key, another_key]) self.assertEqual(resp.items[0].key, key) self.assertEqual(resp.items[0].data, to_bytes(value.capitalize())) self.assertEqual(resp.items[1].key, another_key) self.assertEqual(resp.items[1].data, to_bytes(another_value)) resp = dapr.get_bulk_state(store_name="statestore", keys=[key, another_key], states_metadata={"upper": "1"}) self.assertEqual(resp.items[0].key, key) self.assertEqual(resp.items[0].etag, "fake_etag") self.assertEqual(resp.items[0].data, to_bytes(value.upper())) self.assertEqual(resp.items[1].key, another_key) self.assertEqual(resp.items[1].etag, "fake_etag") self.assertEqual(resp.items[1].data, to_bytes(another_value.upper()))
def test_transaction_then_get_states(self): dapr = DaprClient(f'localhost:{self.server_port}') key = str(uuid.uuid4()) value = str(uuid.uuid4()) another_key = str(uuid.uuid4()) another_value = str(uuid.uuid4()) dapr.execute_state_transaction( store_name="statestore", operations=[ TransactionalStateOperation(key=key, data=value), TransactionalStateOperation(key=another_key, data=another_value), ], transactional_metadata={"metakey": "metavalue"}) resp = dapr.get_bulk_state(store_name="statestore", keys=[key, another_key]) self.assertEqual(resp.items[0].key, key) self.assertEqual(resp.items[0].data, to_bytes(value)) self.assertEqual(resp.items[1].key, another_key) self.assertEqual(resp.items[1].data, to_bytes(another_value)) resp = dapr.get_bulk_state(store_name="statestore", keys=[key, another_key], states_metadata={"upper": "1"}) self.assertEqual(resp.items[0].key, key) self.assertEqual(resp.items[0].data, to_bytes(value.upper())) self.assertEqual(resp.items[1].key, another_key) self.assertEqual(resp.items[1].data, to_bytes(another_value.upper()))