Ejemplo n.º 1
0
    def test_get_save_delete_state(self):
        dapr = DaprGrpcClient(f'localhost:{self.server_port}')
        key = "key_1"
        value = "value_1"
        options = StateOptions(
            consistency=Consistency.eventual,
            concurrency=Concurrency.first_write,
        )
        dapr.save_state(store_name="statestore",
                        key=key,
                        value=value,
                        etag='fake_etag',
                        options=options,
                        state_metadata={"capitalize": "1"})

        resp = dapr.get_state(store_name="statestore", key=key)
        self.assertEqual(resp.data, to_bytes(value.capitalize()))
        self.assertEqual(resp.etag, "fake_etag")

        resp = dapr.get_state(store_name="statestore",
                              key=key,
                              state_metadata={"upper": "1"})
        self.assertEqual(resp.data, to_bytes(value.upper()))
        self.assertEqual(resp.etag, "fake_etag")

        resp = dapr.get_state(store_name="statestore", key="NotValidKey")
        self.assertEqual(resp.data, b'')
        self.assertEqual(resp.etag, '')

        dapr.delete_state(store_name="statestore", key=key)
        resp = dapr.get_state(store_name="statestore", key=key)
        self.assertEqual(resp.data, b'')
        self.assertEqual(resp.etag, '')

        with self.assertRaises(Exception) as context:
            dapr.delete_state(store_name="statestore",
                              key=key,
                              state_metadata={"must_delete": "1"})
        print(context.exception)
        self.assertTrue('delete failed' in str(context.exception))
Ejemplo n.º 2
0
    def test_get_save_state_etag_none(self):
        dapr = DaprGrpcClient(f'localhost:{self.server_port}')

        value = 'test'
        no_etag_key = 'no_etag'
        empty_etag_key = 'empty_etag'
        dapr.save_state(
            store_name="statestore",
            key=no_etag_key,
            value=value,
        )

        dapr.save_state(store_name="statestore",
                        key=empty_etag_key,
                        value=value,
                        etag="")

        resp = dapr.get_state(store_name="statestore", key=no_etag_key)
        self.assertEqual(resp.data, to_bytes(value))
        self.assertEqual(resp.etag, "ETAG_WAS_NONE")

        resp = dapr.get_state(store_name="statestore", key=empty_etag_key)
        self.assertEqual(resp.data, to_bytes(value))
        self.assertEqual(resp.etag, "")