示例#1
0
    def test_serialize_bytes(self):
        serializer = DefaultJSONSerializer()

        # Serialize`bytes data
        serialized = serializer.serialize(b'bytes_data')
        self.assertEqual(b'"Ynl0ZXNfZGF0YQ=="', serialized)

        # Serialize`bytes property
        input_dict_obj = {'propertyBytes': b'bytes_property'}
        serialized = serializer.serialize(input_dict_obj)
        self.assertEqual(serialized,
                         b'{"propertyBytes":"Ynl0ZXNfcHJvcGVydHk="}')
示例#2
0
    def test_deserialize(self):
        serializer = DefaultJSONSerializer()
        payload = b'{"propertyDecimal":10,"propertyStr":"StrValue","propertyDateTime":"2020-01-01T01:00:00Z"}'  # noqa: E501

        obj = serializer.deserialize(payload)
        self.assertEqual(obj['propertyDecimal'], 10)
        self.assertEqual(obj['propertyStr'], 'StrValue')
        self.assertTrue(isinstance(obj['propertyDateTime'], datetime.datetime))
        self.assertEqual(
            obj['propertyDateTime'],
            datetime.datetime(year=2020,
                              month=1,
                              day=1,
                              hour=1,
                              minute=0,
                              second=0,
                              microsecond=0,
                              tzinfo=datetime.timezone.utc))
示例#3
0
 def test_serialize(self):
     serializer = DefaultJSONSerializer()
     fakeDateTime = datetime.datetime(year=2020,
                                      month=1,
                                      day=1,
                                      hour=1,
                                      minute=0,
                                      second=0,
                                      microsecond=0,
                                      tzinfo=datetime.timezone.utc)
     input_dict_obj = {
         'propertyDecimal': 10,
         'propertyStr': 'StrValue',
         'propertyDateTime': fakeDateTime,
     }
     serialized = serializer.serialize(input_dict_obj)
     self.assertEqual(
         serialized,
         b'{"propertyDecimal":10,"propertyStr":"StrValue","propertyDateTime":"2020-01-01T01:00:00Z"}'
     )  # noqa: E501
示例#4
0
文件: actor.py 项目: yamajik/kess-py
from typing import Any, Callable, Dict, Type, Union

from dapr import actor
from dapr.serializers.json import DefaultJSONSerializer

defaultJSONSerializer = DefaultJSONSerializer()

Remindable = actor.Remindable


class Actor:
    ...


class ActorProxyFactory(actor.ActorProxyFactory):
    def create(
        self,
        actor_type: str,
        actor_id: actor.ActorId,
        actor_interface: Type[actor.ActorInterface] = None,
    ) -> "ActorProxy":
        return ActorProxy(
            self._dapr_client,
            actor_type,
            actor_id,
            actor_interface,
            self._message_serializer,
        )


class ActorProxy(actor.ActorProxy):
示例#5
0
    async def reentrant_pass_through_method(self, arg):
        from dapr.actor.client import proxy

        await proxy.DaprActorHttpClient(DefaultJSONSerializer()).invoke_method(
            FakeReentrantActor.__name__, 'test-id', 'ReentrantMethod')