def _enqueue_correlated(ctx: _Context): """Enqueues a correlated deploy for further processing by orchestrator. """ dramatiq.get_broker().enqueue( dramatiq.Message( queue_name="orchestration.engine.step", actor_name="on_step_deploy_finalized", args=([ encoder.encode(ctx.deploy_execution_ctx), encoder.encode(ctx.node_id), ctx.block_hash, ctx.deploy_hash ]), kwargs=dict(), options=dict(), ))
def _set(store: typing.Callable, key: str, data: typing.Any) -> str: """Wraps redis.set command. """ store.set(key, json.dumps(encoder.encode(data), indent=4)) return key
def _get_message(info: events.EventInfo) -> LogMessage: """Returns application information to be logged. """ if info.priority >= Level.FATAL.value: level = Level.FATAL elif info.priority >= Level.CRITICAL.value: level = Level.CRITICAL elif info.priority >= Level.ERROR.value: level = Level.ERROR elif info.priority >= Level.WARN.value: level = Level.WARN elif info.priority >= Level.INFO.value: level = Level.INFO else: level = Level.DEBUG from stests.core.utils import encoder return LogMessage( app=ApplicationInfo("STESTS", info.sub_system, __version__), event=EventInfo( id=info.id, level=level.name, priority=info.priority, timestamp=info.timestamp, type=info.name, ), process=ProcessInfo( os_user=pwd.getpwuid(os.getuid())[0], pid=str(os.getpid()).zfill(5), ), message=info.message, data=encoder.encode(info.data, requires_decoding=False), )
def test_06(): """Test a collection of classes can be encoded.""" for typeof in (tuple, list): collection = typeof(_get_test_dclass_instances()) encoded = encoder.encode(collection) assert isinstance(encoded, typeof) for i in encoded: assert isinstance(i, dict) assert '_type_key' in i
def encode(data: MessageData) -> bytes: """Encodes input data in readiness for dispatch over wire. :param data: Message data to be dispatched over wire. :returns: Bytestream for dispatch. """ return json.dumps(_encoder.encode(data), separators=(",", ":")).encode("utf-8")
def _setnx(store: typing.Callable, key: str, data: typing.Any) -> typing.Tuple[str, bool]: """Wraps redis.setnx command. """ return bool(store.setnx(key, json.dumps(encoder.encode(data), indent=4)))
def test_10(): """Test round-trip over collections.""" for ctype in (tuple, list): c = encoder.decode(encoder.encode(ctype(_get_test_dclass_instances()))) assert isinstance(c, ctype)
def test_09(): """Test round-trip over instances.""" for i in _get_test_dclass_instances(): k = encoder.decode(encoder.encode(i)) assert isinstance(k, type(i))
def test_08(): """Test enum members are converted to strings.""" for i in encoder.ENUM_TYPE_SET: for j in i: assert encoder.encode(j) == j.name
def test_07(): """Test scalar types are encoded as is.""" for scalar in (1, True, 2.0): assert encoder.encode(scalar) == scalar
def test_05(): """Test all data classes can be encoded.""" for i in (_get_test_dclass_instances()): assert isinstance(encoder.encode(i), dict)
def data_as_json(self): return json.dumps(encoder.encode(self.data), indent=4)
def test_09(): """Test enum members are converted to strings.""" for i in domain.ENUM_SET: for j in i: assert encoder.encode(j) == str(j)
def test_08(): """Test scalar types are not encoded.""" for scalar in (1, True, 2.0): assert encoder.encode(scalar) == scalar