From 35d9f688a4f080a8cae70a18e27036b55399edde Mon Sep 17 00:00:00 2001 From: Dirk Alders Date: Wed, 6 Jan 2021 22:54:21 +0100 Subject: [PATCH] Release fdca73452afabd6d5a54327817639dce; Documentation and Restructuration --- __init__.py | 544 +- .../unittest.pdf | Bin 0 -> 600521 bytes .../unittest.pdf | Bin 428400 -> 0 bytes _docs_/genindex.html | 78 +- _docs_/index.html | 484 +- _docs_/objects.inv | Bin 690 -> 743 bytes _docs_/searchindex.js | 2 +- _examples_/Makefile | 11 + _testresults_/unittest.json | 116043 +++++++++++---- _testresults_/unittest.pdf | Bin 428400 -> 600521 bytes 10 files changed, 86627 insertions(+), 30535 deletions(-) create mode 100644 _docs_/_downloads/37503cb17b21b2c78bb8b07730976f24/unittest.pdf delete mode 100644 _docs_/_downloads/f482679fb1771f4d05403bb87fd0cc34/unittest.pdf create mode 100644 _examples_/Makefile diff --git a/__init__.py b/__init__.py index 6e68e0c..6be8114 100644 --- a/__init__.py +++ b/__init__.py @@ -15,12 +15,13 @@ socket_protocol (Socket Protocol) **Submodules:** +* :class:`socket_protocol.data_storage` * :class:`socket_protocol.pure_json_protocol` * :class:`socket_protocol.struct_json_protocol` **Unittest:** - See also the :download:`unittest <../pylibs/socket_protocol/_testresults_/unittest.pdf>` documentation. + See also the :download:`unittest ` documentation. **Module Documentation:** @@ -52,12 +53,80 @@ For more Information read the sphinx documentation.""" % __name__.replace('_', ' __INTERPRETER__ = (2, 3) """The Tested Interpreter-Versions""" +SID_AUTH_REQUEST = 0 +"""SID for authentification request""" +SID_AUTH_RESPONSE = 1 +"""SID for authentification response""" +DID_AUTH_SEED = 0 +"""DID for authentification (seed)""" +DID_AUTH_KEY = 1 +"""DID for authentification (key)""" +SID_CHANNEL_NAME_REQUEST = 8 +"""SID for channel name exchange request """ +SID_CHANNEL_NAME_RESPONSE = 9 +"""SID for channel name exchange response""" +DID_CHANNEL_NAME = 0 +"""DID for channel name """ +SID_READ_REQUEST = 10 +"""SID for a read data request""" +SID_READ_RESPONSE = 11 +"""SID for read data response""" +SID_WRITE_REQUEST = 20 +"""SID for a write data request""" +SID_WRITE_RESPONSE = 21 +"""SID for a write data response""" +SID_EXECUTE_REQUEST = 30 +"""SID for a execute request""" +SID_EXECUTE_RESPONSE = 31 +"""SID for a execute response""" + +STATUS_OKAY = 0 +"""Status for 'okay'""" +STATUS_BUFFERING_UNHANDLED_REQUEST = 1 +"""Status for 'unhandled request'""" +STATUS_CALLBACK_ERROR = 2 +"""Status for 'callback errors'""" +STATUS_AUTH_REQUIRED = 3 +"""Status for 'authentification is required'""" +STATUS_SERVICE_OR_DATA_UNKNOWN = 4 +"""Status for 'service or data unknown'""" +STATUS_CHECKSUM_ERROR = 5 +"""Status for 'checksum error'""" +STATUS_OPERATION_NOT_PERMITTED = 6 +"""Status for 'operation not permitted'""" + +AUTH_STATE_UNTRUSTED_CONNECTION = 0 +"""Authentification Status for an 'Untrusted Connection'""" +AUTH_STATE_SEED_REQUESTED = 1 +"""Authentification Status for 'Seed was requested'""" +AUTH_STATE_SEED_TRANSFERRED = 2 +"""Authentification Status for 'Seed has been sent'""" +AUTH_STATE_KEY_TRANSFERRED = 3 +"""Authentification Status for 'Key has been sent'""" +AUTH_STATE_TRUSTED_CONNECTION = 4 +"""Authentification Status for a 'Trusted Connection'""" +AUTH_STATE__NAMES = {AUTH_STATE_UNTRUSTED_CONNECTION: 'Untrusted Connection', + AUTH_STATE_SEED_REQUESTED: 'Seed was requested', + AUTH_STATE_SEED_TRANSFERRED: 'Seed has been sent', + AUTH_STATE_KEY_TRANSFERRED: 'Key has been sent', + AUTH_STATE_TRUSTED_CONNECTION: 'Trusted Connection'} +"""Authentification Status names for previous defined authentification states""" + + +class RequestSidExistsError(Exception): + pass + + +class ResponseSidExistsError(Exception): + pass + class _callback_storage(dict): DEFAULT_CHANNEL_NAME = 'all_others' - def __init__(self, channel_name): + def __init__(self, channel_name, log_prefix): self.init_channel_name(channel_name) + self.__log_prefix__ = log_prefix dict.__init__(self) def init_channel_name(self, channel_name): @@ -67,31 +136,28 @@ class _callback_storage(dict): self.logger = logging.getLogger(ROOT_LOGGER_NAME).getChild(__name__ + '.' + channel_name) def get(self, service_id, data_id): - if service_id is not None and data_id is not None: - try: - return self[service_id][data_id] - except KeyError: - pass # nothing to append - if data_id is not None: - try: - return self[None][data_id] - except KeyError: - pass # nothing to append - if service_id is not None: - try: - return self[service_id][None] - except KeyError: - pass # nothing to append - try: + if dict.get(self, service_id, {}).get(data_id, None) is not None: + return self[service_id][data_id] + elif dict.get(self, service_id, {}).get(None, None) is not None: + return self[service_id][None] + elif dict.get(self, None, {}).get(data_id, None) is not None: + return self[None][data_id] + elif dict.get(self, None, {}).get(None, None) is not None: return self[None][None] - except KeyError: - pass # nothing to append - return (None, None, None) + else: + return (None, None, None) def add(self, service_id, data_id, callback, *args, **kwargs): cb_data = self.get(service_id, data_id) - if cb_data != (None, None, None): - self.logger.warning("Overwriting existing callback %s for service_id (%s) and data_id (%s) to %s!", repr(cb_data[0].__name__), repr(service_id), repr(data_id), repr(callback.__name__)) + if dict.get(self, service_id, {}).get(data_id, None) is not None: + if callback is None: + self.logger.warning("%s Deleting existing callback %s for service_id (%s) and data_id (%s)!", self.__log_prefix__(), repr(cb_data[0].__name__), repr(service_id), repr(data_id)) + del(self[service_id][data_id]) + return + else: + self.logger.warning("%s Overwriting existing callback %s for service_id (%s) and data_id (%s) to %s!", self.__log_prefix__(), repr(cb_data[0].__name__), repr(service_id), repr(data_id), repr(callback.__name__)) + else: + self.logger.debug("%s Adding callback %s for SID=%s and DID=%s", self.__log_prefix__(), repr(callback.__name__), repr(service_id), repr(data_id)) if service_id not in self: self[service_id] = {} self[service_id][data_id] = (callback, args, kwargs) @@ -99,6 +165,8 @@ class _callback_storage(dict): class data_storage(dict): """ + This is a storage object for socket_protocol messages. + :param status: The message status. :type status: int :param service_id: The Service-ID. @@ -107,70 +175,74 @@ class data_storage(dict): :type data_id: int :param data: The transfered data. :type data: any - - This is a storage object for socket_protocol messages. """ KEY_STATUS = 'status' KEY_SERVICE_ID = 'service_id' KEY_DATA_ID = 'data_id' KEY_DATA = 'data' + ALL_KEYS = [KEY_DATA, KEY_DATA_ID, KEY_SERVICE_ID, KEY_STATUS] def __init__(self, *args, **kwargs): dict.__init__(self, *args, **kwargs) + for key in self.ALL_KEYS: + if key not in self: + self[key] = None def get_status(self, default=None): """ - :param default: The default value, if no data is available. - This Method returns the message status. + + :param default: The default value, if no data is available. """ return self.get(self.KEY_STATUS, default) def get_service_id(self, default=None): """ - :param default: The default value, if no data is available. - This Method returns the message Service-ID. + + :param default: The default value, if no data is available. """ return self.get(self.KEY_SERVICE_ID, default) def get_data_id(self, default=None): """ - :param default: The default value, if no data is available. - This Method returns the message Data-ID. + + :param default: The default value, if no data is available. """ return self.get(self.KEY_DATA_ID, default) def get_data(self, default=None): """ - :param default: The default value, if no data is available. - This Method returns the message data. + + :param default: The default value, if no data is available. """ return self.get(self.KEY_DATA, default) class pure_json_protocol(object): """ + This `class` supports to transfer a message and it's data. + :param comm_instance: A communication instance. :type comm_instance: instance :param secret: An optinal secret (e.g. created by ``binascii.hexlify(os.urandom(24))``). :type secret: str - :param auto_auth: An optional parameter (True) to enable automatic authentification, otherwise you need to do it manually, if needed. + :param auto_auth: An optional parameter to enable (True) automatic authentification, otherwise you need to do it manually, if needed. :type auto_auth: bool :param channel_name: An optional parameter to set a channel name for logging of the communication. :type channel_name: str - .. hint:: This `class` supports to transfer a Service-ID, Data-ID and Data. + .. hint:: - * The Service-ID is designed to identify the type of the communication (e.g. READ_REQUEST, WRITE_REQUEST, READ_RESPONSE, WRITE_RESPONSE, ...) + * The Service-ID is designed to identify the type of the communication (e.g. :const:`READ_REQUEST`, :const:`WRITE_REQUEST`, :const:`READ_RESPONSE`, :const:`WRITE_RESPONSE`, ...) * The Data-ID is designed to identify the requests / responses using the same Service_ID. .. note:: The :class:`comm_instance` needs to have at least the following interface: - * A Method :func:`comm_instance.init_channel_name` to set the channel name if needed. + * A Method :func:`comm_instance.init_channel_name` to set the channel name. * A Constant :const:`comm_instance.IS_CLIENT` to identify that the :class:`comm_instance` is a client (True) or a server (False). * A Method :func:`comm_instance.is_connected` to identify if the instance is connected (True) or not (False). * A Method :func:`comm_instance.reconnect` to initiate a reconnect. @@ -187,107 +259,60 @@ class pure_json_protocol(object): """ DEFAULT_CHANNEL_NAME = 'all_others' - SID_AUTH_SEED_REQUEST = 1 - """SID for requesting a seed for authentification""" - SID_AUTH_KEY_REQUEST = 2 - """SID for requesting a key for the given seed""" - SID_AUTH_KEY_CHECK_REQUEST = 3 - """SID for request for checking a key""" - SID_AUTH_KEY_CHECK_RESPONSE = 4 - """SID for the authentification response""" - SID_CHANNEL_NAME_REQUEST = 5 - """SID for requesting a channel name exchange""" - SID_CHANNEL_NAME_RESPONSE = 6 - """SID for the channel name response""" - SID_READ_REQUEST = 10 - """SID for a read data request""" - SID_READ_RESPONSE = 11 - """SID for read data response""" - SID_WRITE_REQUEST = 20 - """SID for a write data request""" - SID_WRITE_RESPONSE = 21 - """SID for a write data response""" - SID_EXECUTE_REQUEST = 30 - """SID for a execute request""" - SID_EXECUTE_RESPONSE = 31 - """SID for a execute response""" - - SID__RESPONSE_DICT = {SID_AUTH_SEED_REQUEST: SID_AUTH_KEY_REQUEST, - SID_AUTH_KEY_REQUEST: SID_AUTH_KEY_CHECK_REQUEST, - SID_AUTH_KEY_CHECK_REQUEST: SID_AUTH_KEY_CHECK_RESPONSE, - SID_CHANNEL_NAME_REQUEST: SID_CHANNEL_NAME_RESPONSE, - SID_READ_REQUEST: SID_READ_RESPONSE, - SID_WRITE_REQUEST: SID_WRITE_RESPONSE, - SID_EXECUTE_REQUEST: SID_EXECUTE_RESPONSE} - """Dictionary to get the SID for the response by the key which is the SID for the request""" - - SID__NO_AUTH_LIST = [ - SID_AUTH_SEED_REQUEST, - SID_AUTH_KEY_REQUEST, - SID_AUTH_KEY_CHECK_REQUEST, - SID_AUTH_KEY_CHECK_RESPONSE, - SID_CHANNEL_NAME_REQUEST, - SID_CHANNEL_NAME_RESPONSE - ] - """List of SIDs without need of an authentification""" - - STATUS_OKAY = 0 - """Status for 'okay'""" - STATUS_BUFFERING_UNHANDLED_REQUEST = 1 - """Status for 'unhandled request'""" - STATUS_AUTH_REQUIRED = 2 - """Status for 'authentification is required'""" - STATUS_SERVICE_OR_DATA_UNKNOWN = 3 - """Status for 'service or data unknown'""" - STATUS_CHECKSUM_ERROR = 4 - """Status for 'checksum error'""" - STATUS_OPERATION_NOT_PERMITTED = 5 - """Status for 'operation not permitted'""" - STATUS__NAMES = {STATUS_OKAY: 'Okay', - STATUS_BUFFERING_UNHANDLED_REQUEST: 'Request has no callback. Data buffered.', - STATUS_AUTH_REQUIRED: 'Authentification required', - STATUS_SERVICE_OR_DATA_UNKNOWN: 'Service or Data unknown', - STATUS_CHECKSUM_ERROR: 'Checksum Error', - STATUS_OPERATION_NOT_PERMITTED: 'Operation not permitted'} - """Status names for previous defined states""" - - AUTH_STATE_UNKNOWN_CLIENT = 0 - """Authentification Status for 'Unknown Client'""" - AUTH_STATE_SEED_REQUESTED = 1 - """Authentification Status for 'Seed was requested'""" - AUTH_STATE_SEED_TRANSFERRED = 2 - """Authentification Status for 'Seed has been sent'""" - AUTH_STATE_KEY_TRANSFERRED = 3 - """Authentification Status for 'Key has been sent'""" - AUTH_STATE_TRUSTED_CLIENT = 4 - """Authentification Status for 'Trusted Connection'""" - AUTH_STATE__NAMES = {AUTH_STATE_UNKNOWN_CLIENT: 'Unknown Client', - AUTH_STATE_SEED_REQUESTED: 'Seed was requested', - AUTH_STATE_SEED_TRANSFERRED: 'Seed has been sent', - AUTH_STATE_KEY_TRANSFERRED: 'Key has been sent', - AUTH_STATE_TRUSTED_CLIENT: 'Trusted Connection'} - """Authentification Status names for previous defined authentification states""" - def __init__(self, comm_instance, secret=None, auto_auth=False, channel_name=None): self.__comm_inst__ = comm_instance self.__secret__ = secret self.__auto_auth__ = auto_auth # - self.__callbacks__ = _callback_storage(channel_name) + self.__auth_whitelist__ = {} + self.__sid_response_dict__ = {} + self.__sid_name_dict__ = {} + self.__did_name_dict__ = {} + # + self.__status_name_dict = {} + self.add_status(STATUS_OKAY, 'okay') + self.add_status(STATUS_BUFFERING_UNHANDLED_REQUEST, 'no callback for service, data buffered.') + self.add_status(STATUS_CALLBACK_ERROR, 'callback error.') + self.add_status(STATUS_AUTH_REQUIRED, 'authentification required') + self.add_status(STATUS_SERVICE_OR_DATA_UNKNOWN, 'service or data unknown') + self.add_status(STATUS_CHECKSUM_ERROR, 'checksum error') + self.add_status(STATUS_OPERATION_NOT_PERMITTED, 'operation not permitted') + # + self.__callbacks__ = _callback_storage(channel_name, self.__log_prefix__) self.__init_channel_name__(channel_name) # self.__clean_receive_buffer__() - self.__callbacks__.add(self.SID_AUTH_SEED_REQUEST, 0, self.__authentificate_create_seed__) - self.__callbacks__.add(self.SID_AUTH_KEY_REQUEST, 0, self.__authentificate_create_key__) - self.__callbacks__.add(self.SID_AUTH_KEY_CHECK_REQUEST, 0, self.__authentificate_check_key__) - self.__callbacks__.add(self.SID_AUTH_KEY_CHECK_RESPONSE, 0, self.__authentificate_process_feedback__) - self.__callbacks__.add(self.SID_CHANNEL_NAME_REQUEST, 0, self.__channel_name_request__) - self.__callbacks__.add(self.SID_CHANNEL_NAME_RESPONSE, 0, self.__channel_name_response__) + + self.add_service(SID_AUTH_REQUEST, SID_AUTH_RESPONSE, 'authentification request', 'authentification response') + self.add_data((SID_AUTH_REQUEST, SID_AUTH_RESPONSE), DID_AUTH_SEED, 'seed') + self.add_data(SID_AUTH_REQUEST, DID_AUTH_KEY, 'key') + self.add_data(SID_AUTH_RESPONSE, DID_AUTH_KEY, 'key') + self.add_msg_to_auth_whitelist_(SID_AUTH_REQUEST, DID_AUTH_SEED) + self.add_msg_to_auth_whitelist_(SID_AUTH_RESPONSE, DID_AUTH_SEED) + self.add_msg_to_auth_whitelist_(SID_AUTH_REQUEST, DID_AUTH_KEY) + self.add_msg_to_auth_whitelist_(SID_AUTH_RESPONSE, DID_AUTH_KEY) + self.__callbacks__.add(SID_AUTH_REQUEST, DID_AUTH_SEED, self.__authentificate_create_seed__) + self.__callbacks__.add(SID_AUTH_RESPONSE, DID_AUTH_SEED, self.__authentificate_create_key__) + self.__callbacks__.add(SID_AUTH_REQUEST, DID_AUTH_KEY, self.__authentificate_check_key__) + self.__callbacks__.add(SID_AUTH_RESPONSE, DID_AUTH_KEY, self.__authentificate_process_feedback__) self.__authentification_state_reset__() + + self.add_service(SID_CHANNEL_NAME_REQUEST, SID_CHANNEL_NAME_RESPONSE, 'channel name request', 'channel name response') + self.add_data((SID_CHANNEL_NAME_REQUEST, SID_CHANNEL_NAME_RESPONSE), DID_CHANNEL_NAME, 'name') + self.add_msg_to_auth_whitelist_(SID_CHANNEL_NAME_REQUEST, DID_CHANNEL_NAME) + self.add_msg_to_auth_whitelist_(SID_CHANNEL_NAME_RESPONSE, DID_CHANNEL_NAME) + self.__callbacks__.add(SID_CHANNEL_NAME_REQUEST, DID_CHANNEL_NAME, self.__channel_name_request__) + self.__callbacks__.add(SID_CHANNEL_NAME_RESPONSE, DID_CHANNEL_NAME, self.__channel_name_response__) + + self.add_service(SID_READ_REQUEST, SID_READ_RESPONSE, 'read data request', 'read data response') + self.add_service(SID_WRITE_REQUEST, SID_WRITE_RESPONSE, 'write data request', 'write data response') + self.add_service(SID_EXECUTE_REQUEST, SID_EXECUTE_RESPONSE, 'execute request', 'execute response') + self.__seed__ = None self.__comm_inst__.register_callback(self.__data_available_callback__) self.__comm_inst__.register_connect_callback(self.__connection_established__) self.__comm_inst__.register_disconnect_callback(self.__authentification_state_reset__) + logger.info('%s Initialisation finished.', self.__log_prefix__()) def __analyse_frame__(self, frame): if sys.version_info >= (3, 0): @@ -298,39 +323,35 @@ class pure_json_protocol(object): def __authentificate_check_key__(self, msg): key = msg.get_data() if key == self.__authentificate_salt_and_hash__(self.__seed__): - self.__authentification_state__ = self.AUTH_STATE_TRUSTED_CLIENT - self.logger.info("%s Got correct key, sending positive authentification feedback", self.__log_prefix__()) - return self.STATUS_OKAY, True + self.__authentification_state__ = AUTH_STATE_TRUSTED_CONNECTION + return STATUS_OKAY, True else: - self.__authentification_state__ = self.AUTH_STATE_UNKNOWN_CLIENT - self.logger.info("%s Got incorrect key, sending negative authentification feedback", self.__log_prefix__()) - return self.STATUS_OKAY, False + self.__authentification_state__ = AUTH_STATE_UNTRUSTED_CONNECTION + return STATUS_OKAY, False def __authentificate_create_key__(self, msg): - self.logger.info("%s Got seed, sending key for authentification", self.__log_prefix__()) - self.__authentification_state__ = self.AUTH_STATE_KEY_TRANSFERRED + self.__authentification_state__ = AUTH_STATE_KEY_TRANSFERRED seed = msg.get_data() key = self.__authentificate_salt_and_hash__(seed) - return self.STATUS_OKAY, key + self.send(SID_AUTH_REQUEST, DID_AUTH_KEY, key) def __authentificate_create_seed__(self, msg): - self.logger.info("%s Got seed request, sending seed for authentification", self.__log_prefix__()) - self.__authentification_state__ = self.AUTH_STATE_SEED_TRANSFERRED + self.__authentification_state__ = AUTH_STATE_SEED_TRANSFERRED if sys.version_info >= (3, 0): self.__seed__ = binascii.hexlify(os.urandom(32)).decode('utf-8') else: self.__seed__ = binascii.hexlify(os.urandom(32)) - return self.STATUS_OKAY, self.__seed__ + return STATUS_OKAY, self.__seed__ def __authentificate_process_feedback__(self, msg): feedback = msg.get_data() if feedback: - self.__authentification_state__ = self.AUTH_STATE_TRUSTED_CLIENT + self.__authentification_state__ = AUTH_STATE_TRUSTED_CONNECTION self.logger.info("%s Got positive authentification feedback", self.__log_prefix__()) else: - self.__authentification_state__ = self.AUTH_STATE_UNKNOWN_CLIENT + self.__authentification_state__ = AUTH_STATE_UNTRUSTED_CONNECTION self.logger.warning("%s Got negative authentification feedback", self.__log_prefix__()) - return self.STATUS_OKAY, None + return STATUS_OKAY, None def __authentificate_salt_and_hash__(self, seed): if sys.version_info >= (3, 0): @@ -339,8 +360,11 @@ class pure_json_protocol(object): return hashlib.sha512(seed.encode('utf-8') + self.__secret__.encode('utf-8')).hexdigest() def __authentification_state_reset__(self): - self.logger.info("%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", self.__log_prefix__()) - self.__authentification_state__ = self.AUTH_STATE_UNKNOWN_CLIENT + self.logger.info("%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", self.__log_prefix__()) + self.__authentification_state__ = AUTH_STATE_UNTRUSTED_CONNECTION + + def __authentification_required__(self, service_id, data_id): + return data_id not in self.__auth_whitelist__.get(service_id, []) def __buffer_received_data__(self, msg): if not msg.get_service_id() in self.__msg_buffer__: @@ -371,12 +395,12 @@ class pure_json_protocol(object): if self.__channel_name__ is None and data is not None: self.__init_channel_name__(data) self.logger.info('%s channel name is now %s', self.__log_prefix__(), repr(self.__channel_name__)) - return self.STATUS_OKAY, None + return STATUS_OKAY, None def __channel_name_request__(self, msg): data = msg.get_data() if data is None: - return self.STATUS_OKAY, self.__channel_name__ + return STATUS_OKAY, self.__channel_name__ else: prev_channel_name = self.__channel_name__ self.__init_channel_name__(data) @@ -384,7 +408,7 @@ class pure_json_protocol(object): self.logger.warning('%s overwriting user defined channel name from %s to %s', self.__log_prefix__(), repr(prev_channel_name), repr(data)) elif prev_channel_name is None: self.logger.info('%s channel name is now %s', self.__log_prefix__(), repr(self.__channel_name__)) - return self.STATUS_OKAY, None + return STATUS_OKAY, None def __check_frame_checksum__(self, frame): return self.__calc_chksum__(frame[:-4]) == frame[-4:] @@ -393,63 +417,77 @@ class pure_json_protocol(object): self.logger.debug("%s Cleaning up receive-buffer", self.__log_prefix__()) self.__msg_buffer__ = {} + def __connection_established__(self): + self.__clean_receive_buffer__() + if self.__comm_inst__.IS_CLIENT: + self.send(SID_CHANNEL_NAME_REQUEST, 0, self.__channel_name__) + if self.__auto_auth__ and self.__comm_inst__.IS_CLIENT and self.__secret__ is not None: + self.authentificate() + def __data_available_callback__(self, comm_inst): frame = comm_inst.receive() + msg = self.__analyse_frame__(frame) if not self.__check_frame_checksum__(frame): - self.logger.warning("%s Received message has a wrong checksum and will be ignored: %s.", self.__log_prefix__(), stringtools.hexlify(frame)) + # Wrong Checksum + self.logger.warning("%s RX <- Received message has a wrong checksum. Message will be ignored.", self.__log_prefix__()) + return # No response needed + elif not self.check_authentification_state() and self.__authentification_required__(msg.get_service_id(), msg.get_data_id()): + # Authentification required + if msg.get_service_id() in self.__sid_response_dict__.keys(): + self.logger.warning("%s RX <- Authentification is required. Just sending negative response.", self.__log_prefix__()) + status = STATUS_AUTH_REQUIRED + data = None + else: + self.logger.warning("%s RX <- Authentification is required. Message will be ignored.", self.__log_prefix__()) + return # No response needed else: - msg = self.__analyse_frame__(frame) + # Valid message self.logger.info( - '%s RX <- status: %s, service_id: %s, data_id: %s, data: "%s"', + '%s RX <- %s, %s, data: "%s"', self.__log_prefix__(), - repr(msg.get_status()), - repr(msg.get_service_id()), - repr(msg.get_data_id()), + self.__get_message_name__(msg.get_service_id(), msg.get_data_id()), + self.__get_status_name__(msg.get_status()), repr(msg.get_data()) ) + if msg.get_status() not in [STATUS_OKAY]: + self.logger.warning("%s RX <- Message has a peculiar status: %s", self.__log_prefix__(), self.__get_status_name__(msg.get_status())) callback, args, kwargs = self.__callbacks__.get(msg.get_service_id(), msg.get_data_id()) - if msg.get_service_id() in self.SID__RESPONSE_DICT.keys(): + if msg.get_service_id() in self.__sid_response_dict__.keys(): # # REQUEST RECEIVED # - if self.__secret__ is not None and not self.check_authentification_state() and msg.get_service_id() not in self.SID__NO_AUTH_LIST: - status = self.STATUS_AUTH_REQUIRED - data = None - self.logger.warning("%s Received message needs authentification: %s. Sending negative response.", self.__log_prefix__(), self.AUTH_STATE__NAMES.get(self.__authentification_state__, 'Unknown authentification status!')) - elif callback is None: - self.logger.warning("%s Received message with no registered callback. Sending negative response.", self.__log_prefix__()) - status = self.STATUS_BUFFERING_UNHANDLED_REQUEST + if callback is None: + self.logger.warning("%s RX <- Message with no registered callback. Sending negative response.", self.__log_prefix__()) + status = STATUS_BUFFERING_UNHANDLED_REQUEST data = None else: try: - self.logger.debug("%s Executing callback %s to process received data", self.__log_prefix__(), callback.__name__) + self.logger.debug("%s RX <- Executing callback %s to process received data", self.__log_prefix__(), callback.__name__) status, data = callback(msg, *args, **kwargs) - except TypeError: - raise TypeError('Check return value of callback function {callback_name} for service_id {service_id} and data_id {data_id}'.format(callback_name=callback.__name__, service_id=repr(msg.get_service_id()), data_id=repr(msg.get_data_id()))) - self.send(self.SID__RESPONSE_DICT[msg.get_service_id()], msg.get_data_id(), data, status=status) + except Exception: + logger.error('{lp} RX <- Exception raised. Check callback {callback_name} and it\'s return values for service_id {service_id} and data_id {data_id}'.format(lp=self.__log_prefix__(), callback_name=callback.__name__, service_id=repr(msg.get_service_id()), data_id=repr(msg.get_data_id()))) + status = STATUS_CALLBACK_ERROR + data = None else: # # RESPONSE RECEIVED # - if msg.get_status() not in [self.STATUS_OKAY]: - self.logger.warning("%s Received message has a peculiar status: %s", self.__log_prefix__(), self.STATUS__NAMES.get(msg.get_status(), 'Unknown status response!')) if callback is None: - status = self.STATUS_OKAY - data = None self.__buffer_received_data__(msg) else: - try: - self.logger.debug("%s Executing callback %s to process received data", self.__log_prefix__(), callback.__name__) - status, data = callback(msg, *args, **kwargs) - except TypeError: - raise TypeError('Check return value of callback function {callback_name} for service_id {service_id} and data_id {data_id}'.format(callback_name=callback.__name__, service_id=repr(msg.get_service_id()), data_id=repr(msg.get_data_id()))) + self.logger.debug("%s Executing callback %s to process received data", self.__log_prefix__(), callback.__name__) + callback(msg, *args, **kwargs) + return # No response needed + self.send(self.__sid_response_dict__[msg.get_service_id()], msg.get_data_id(), data, status=status) - def __connection_established__(self): - self.__clean_receive_buffer__() - if not self.__comm_inst__.IS_CLIENT: - self.send(self.SID_CHANNEL_NAME_REQUEST, 0, self.__channel_name__) - if self.__auto_auth__ and self.__comm_inst__.IS_CLIENT and self.__secret__ is not None: - self.authentificate() + def __get_message_name__(self, service_id, data_id): + return 'service: %s, data_id: %s' % ( + self.__sid_name_dict__.get(service_id, repr(service_id)), + self.__did_name_dict__.get(service_id, {}).get(data_id, repr(data_id)), + ) + + def __get_status_name__(self, status): + return 'status: %s' % (self.__status_name_dict.get(status, 'unknown status: %s' % repr(status))) def __init_channel_name__(self, channel_name): self.__comm_inst__.init_channel_name(channel_name) @@ -460,47 +498,119 @@ class pure_json_protocol(object): self.logger = logging.getLogger(ROOT_LOGGER_NAME).getChild(__name__ + '.' + channel_name) def __log_prefix__(self): - return ' SP client:' if self.__comm_inst__.IS_CLIENT else ' SP server:' + return 'SP client:' if self.__comm_inst__.IS_CLIENT else 'SP server:' def __mk_msg__(self, status, service_id, data_id, data): return data_storage({data_storage.KEY_DATA_ID: data_id, data_storage.KEY_SERVICE_ID: service_id, data_storage.KEY_STATUS: status, data_storage.KEY_DATA: data}) + def add_data(self, service_id, data_id, name): + """ + Method to add a name for a specific message. + + :param service_id: The Service-ID of the message. See class definitions starting with ``SID_``. + :type service_id: int or list of ints + :param data_id: The Data-ID of the message. + :type data_id: int + :param name: The Name for the transfered message. + :type name: str + """ + try: + iter(service_id) + except Exception: + service_id = (service_id, ) + + for sid in service_id: + if sid not in self.__did_name_dict__: + self.__did_name_dict__[sid] = {} + self.__did_name_dict__[sid][data_id] = name + + def add_msg_to_auth_whitelist_(self, service_id, data_id): + """ + Method to add a specific message to the list, where no authentification is required. + + :param service_id: The Service-ID of the message. See class definitions starting with ``SID_``. + :type service_id: int + :param data_id: The Data-ID of the message. + :type data_id: int + """ + if service_id not in self.__auth_whitelist__: + self.__auth_whitelist__[service_id] = [] + self.__auth_whitelist__[service_id].append(data_id) + logger.debug('%s Adding Message (%s) to the authentification whitelist', self.__log_prefix__(), self.__get_message_name__(service_id, data_id)) + + def add_service(self, req_sid, resp_sid, req_name=None, resp_name=None): + """ + Method to add a Service defined by Request- and Response Serivce-ID. + + :param req_sid: The Request Service-ID. + :type req_sid: int + :param resp_sid: The Response Service-ID. + :type resp_sid: int + """ + if req_sid in self.__sid_response_dict__: + logger.error('%s Service with Request-SID=%d and Response-SID=%d not added, because request SID is already registered', self.__log_prefix__(), req_sid, resp_sid) + raise RequestSidExistsError("Request for this Service is already registered") + elif resp_sid in self.__sid_response_dict__.values(): + logger.error('%s Service with Request-SID=%d and Response-SID=%d not added, because response SID is already registered', self.__log_prefix__(), req_sid, resp_sid) + raise ResponseSidExistsError("Response for this Service is already registered") + else: + self.__sid_response_dict__[req_sid] = resp_sid + if req_name is not None: + self.__sid_name_dict__[req_sid] = req_name + if resp_name is not None: + self.__sid_name_dict__[resp_sid] = resp_name + logger.debug('%s Adding Service with Request=%s and Response=%s', self.__log_prefix__(), req_name or repr(req_sid), resp_name or repr(resp_sid)) + + def add_status(self, status, name): + """ + Method to add a name for a status. + + :param status: The Status. See class definitions starting with ``STATUS_``. + :type status: int + :param name: The Name for the Status. + :type name: str + """ + self.__status_name_dict[status] = name + def authentificate(self, timeout=2): """ + This method authetificates the client at the server. + :param timeout: The timeout for the authentification (requesting seed, sending key and getting authentification_feedback). :type timeout: float :returns: True, if authentification was successfull; False, if not. :rtype: bool - This method authetificates the client at the server. - .. note:: An authentification will only processed, if a secret had been given on initialisation. .. note:: Client and Server needs to use the same secret. """ if self.__secret__ is not None: - self.__authentification_state__ = self.AUTH_STATE_SEED_REQUESTED - self.logger.info("%s Requesting seed for authentification", self.__log_prefix__()) - self.send(self.SID_AUTH_SEED_REQUEST, 0, None) + self.__authentification_state__ = AUTH_STATE_SEED_REQUESTED + self.send(SID_AUTH_REQUEST, DID_AUTH_SEED, None) cnt = 0 while cnt < timeout * 10: time.sleep(0.1) - if self.__authentification_state__ == self.AUTH_STATE_TRUSTED_CLIENT: + if self.__authentification_state__ == AUTH_STATE_TRUSTED_CONNECTION: return True - elif self.__authentification_state__ == self.AUTH_STATE_UNKNOWN_CLIENT: + elif self.__authentification_state__ == AUTH_STATE_UNTRUSTED_CONNECTION: break cnt += 1 return False def check_authentification_state(self): """ + This Method return the Authitification State as boolean value. + :return: True, if authentification state is okay, otherwise False :rtype: bool """ - return self.__authentification_state__ == self.AUTH_STATE_TRUSTED_CLIENT + return self.__secret__ is None or self.__authentification_state__ == AUTH_STATE_TRUSTED_CONNECTION def connection_established(self): """ + This Method returns the Connection state including authentification as a boolean value. + :return: True, if the connection is established (incl. authentification, if a secret has been given) :rtype: bool """ @@ -508,15 +618,17 @@ class pure_json_protocol(object): def is_connected(self): """ + This Methods returns Connection state of the Communication Instance :func:`comm_instance.is_connected`. + :return: True if the :class:`comm_instance` is connected, otherwise False.. :rtype: bool - - This methods returns the return value of :func:`comm_instance.is_connected`. """ return self.__comm_inst__.is_connected() def receive(self, service_id, data_id, timeout=1): """ + This Method returns a message object for a defined message or None, if this message is not available after the given timout. + :param service_id: The Service-ID for the message. See class definitions starting with ``SID_``. :type service_id: int :param data_id: The Data-ID for the message. @@ -547,37 +659,44 @@ class pure_json_protocol(object): def register_callback(self, service_id, data_id, callback, *args, **kwargs): """ + This method registers a callback for the given parameters. Giving ``None`` means, that all Service-IDs or all Data-IDs are used. + If a message hitting these parameters has been received, the callback will be executed. + :param service_id: The Service-ID for the message. See class definitions starting with ``SID_``. :type service_id: int :param data_id: The Data-ID for the message. :type data_id: int - :returns: True, if registration was successfull; False, if registration failed (e.g. existance of a callback for this configuration) - :rtype: bool - - This method registers a callback for the given parameters. Givin ``None`` means, that all Service-IDs or all Data-IDs are used. - If a message hitting these parameters has been received, the callback will be executed. .. note:: The :func:`callback` is priorised in the following order: * Callbacks with defined Service-ID and Data-ID. - * Callbacks with a defined Data-ID. - * Callbacks with a defined Service-ID. - * Unspecific Callbacks + * Callbacks with a defined Service-ID and all Data-IDs. + * Callbacks with a defined Data-ID and all Service-IDs. + * Unspecific Callbacks. .. note:: The :func:`callback` is executed with these arguments: - :param msg: A :class:`data_storage` object containing all message information. - :returns: (:const:`status`, :const:`response_data`) + **Parameters given at the callback call:** - * :const:`status`: A status as defined as a constant of this class :const:`STA_*` to be used as status for the response. + * The first Arguments is the received message as :class:`data_storage` object. + * Further arguments given at registration. + * Further keyword arguments given at registration. + + **Return value of the callback:** + + If the Callback is a Request Callback for a registered Service, the return value has to be a tuple or list with + + * :const:`response_status`: The response status (see class definitions starting with :const:`STA_*`. * :const:`response_data`: A JSON iterable object to be used as data for the response. - .. note:: Only callbacks defined in :const:`pure_json_protocol.SID__RESPONSE_DICT` will send a response, using a Service-ID given in the dict and the same Data-ID to the client. + .. note:: Only registered services will respond via the callbacks return values with the same data_id. """ self.__callbacks__.add(service_id, data_id, callback, *args, **kwargs) - def send(self, service_id, data_id, data, status=STATUS_OKAY, timeout=2, log_lvl=logging.INFO): + def send(self, service_id, data_id, data, status=STATUS_OKAY, timeout=2): """ + This methods sends out a message with the given content. + :param service_id: The Service-ID for the message. See class definitions starting with ``SERVICE_``. :type service_id: int :param data_id: The Data-ID for the message. @@ -588,15 +707,22 @@ class pure_json_protocol(object): :type status: int :param timeout: The timeout for sending data (e.g. time to establish new connection). :type timeout: float - :param rx_log_lvl: The log level to log outgoing TX-data - :type rx_log_lvl: int :return: True if data had been sent, otherwise False. :rtype: bool - - This methods sends out a message with the given content. """ - self.logger.log(log_lvl, '%s TX -> status: %d, service_id: %d, data_id: %d, data: "%s"', self.__log_prefix__(), status, service_id, data_id, repr(data)) - return self.__comm_inst__.send(self.__build_frame__(service_id, data_id, data, status), timeout=timeout, log_lvl=logging.DEBUG) + if (self.check_authentification_state() or not self.__authentification_required__(service_id, data_id)) or (service_id in self.__sid_response_dict__.values() and status == STATUS_AUTH_REQUIRED and data is None): + self.logger.info( + '%s TX <- %s, %s, data: "%s"', + self.__log_prefix__(), + self.__get_message_name__(service_id, data_id), + self.__get_status_name__(status), + repr(data) + ) + return self.__comm_inst__.send(self.__build_frame__(service_id, data_id, data, status), timeout=timeout, log_lvl=logging.DEBUG) + else: + # Authentification required + self.logger.warning("%s TX -> Authentification is required. Message %s, %s, data: %s will be ignored.", self.__log_prefix__(), self.__get_message_name__(service_id, data_id), self.__get_status_name__(status), repr(data)) + return False class struct_json_protocol(pure_json_protocol): @@ -617,7 +743,7 @@ class struct_json_protocol(pure_json_protocol): data = json.loads(frame[12:-1]) return self.__mk_msg__(status, service_id, data_id, data) - def __build_frame__(self, service_id, data_id, data, status=pure_json_protocol.STATUS_OKAY): + def __build_frame__(self, service_id, data_id, data, status=STATUS_OKAY): frame = struct.pack('>III', status, service_id, data_id) if sys.version_info >= (3, 0): frame += bytes(json.dumps(data), 'utf-8') diff --git a/_docs_/_downloads/37503cb17b21b2c78bb8b07730976f24/unittest.pdf b/_docs_/_downloads/37503cb17b21b2c78bb8b07730976f24/unittest.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4ab710a67cc3375dc224836d4f103c2a7f09d18c GIT binary patch literal 600521 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 S?PkR)Qptfk%+>kxt%Mdi?_3$?~cbP>6 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 z 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 z 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�xOBthN6&1BM;|bNz}Tsq4|c2wse^K$^@FDTGO1 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

_|r&dL^Fj-s@~5{=KqDJ7c@pn}%}d)Ltr zrGkSBv@a-(h=Kx~v}{h-a+YNJ>7so$rCvPVu4y%C%;*?b=k(CSLK3S@qd4}^%+yO= zj)>B|T5S0w3k}Yx8N4ID{C_d_j?bBPTeNp<+qRRAZQFJ_wmMG7wr$(CZL?$BdeeLF zQ}tGzr|LW(?!Vx=*P3gNIp%My3-MzjCeRD@zyS3(1?~*XGY}}>!pe7?KOOOB{0S#< zG1;XW4L;ZmePbGwc+X>-4F1;J1(2R@jWbkBP;JKr=`Yl*>&ETVTGJyDmO>N^F@-Nu z`@&~se$tK|7<^lf0WVF={RuPbEZn$hEdkn9K?{}d9`4pJlwD0xsUpW=jP+6fa1v^c z(yBZskJoLzNC$o?O4KVB*Oy_dJU4us-Q23v@3Yl-T6w*}#}s+9bb@UviPWC#S)?7< zBn=~pEhf2MnmZ;GDwoP!dB`>tq0V$YxbaDt^=!7GsiJN<}ONc z)QT6nG<6eO47h-KdzDf;N-QOt&V0|XT)@-WL02Xn*e zS^Zips07Ur>}}D~0)b+G508VJQ;ihG6ZR}S& z=Z32GUdy<^d+{e9Ir6KmXVQp~phqr`*H5iqnje`Q)p)pUaBy&4;B=khb@1`>av$S# z^1<hua6Pyt)I4k;Uehf{${}Dyd;F-Me4v) zY{EQDESOk!\kAuM2aQWpNDNob-EYMZkOuhB1!P6b;p1O+E9<`cv)wXpg?bvmVb zqB(En(t`^6++#q|Ps5Mg`<DyxA-lG6XAWtxAdWj+j$V^r^J5?P`?@SlA;-Y{=}r)4g7 z{zzzcv}V`kNY3q1=118^spXN3=RV0@?fN+iE|F#|v`qdTsJ;V&u1K*OD4N&QAiAgE zH(}xvSBw(~ip5zs?$yEH2S$MxU+k(%_~RHt$c!(>L#paIiON$tYpFyp6f88*1vqsm zl7GDB)k`|7N|`|^;AUpkp3JjD`pN>3Z(|=Thqn?U6Wi3cJ)n_Gs~cXudnousaFC#f zqR&9<)G0c?I0xnr8WjTI+ShP#8SapmRFe7CRZrGIDJMD{vR|A zCGh<`a+!YQY&6QAfb1eR9iyk4(+iXU#L~fG(mP-R1-lO|d*6??Ftqix83Fhl{siCe zyiB9Rd(|(up3qNFav+Fg?izReyP|SOYGG=KB-X*|(QJkpk8BnbUVV%(Vy1AAg(dK9 zyhCZgZP2}7q}Jk+Vdm}X0CVi+Ot`~V0!WsJ9QWtB8ZR<^hg`UW}TUOn^Z%km>r9|*Zlxk zt_g0)ocC+YQZJXSZ&VQ_JoUhqleRy7n@-F6XPV9DY}}3ZGO7~)jQiBklZS?p0FX>W zjY?og;I`KLdAyv6x%OvNR>iR}Lj{~egHBce<0e5 zUmgsO1mELUm(f0qURSRTr0Hlf=b0E01v*-G(SE^G@Re1u0ALu^5LagAWO$u;xcMf- zdSHKB;fnHedN;ZC)3dWH#F#vE5JqpQO9z%fB3)(?4EPW!s$#sG=v3{pRyy?KX^Cnh z^=Za!KIatLIHjyF(BfA*<)Z`V=VRhFOLc%^$Ql~+BGs71LTpTu|VT41~ zlAA$>#!X&trGcnQ+M<#?9}aj#fTckJXrnZeHA^F_zEhp_yjAV7lQS(I1qm#F|4F>n zCrA1l`^=CW1m^YK6eW~+qvA-*Uu^(%UPFM<`H zmWt*u&Q_ND41Z&s40!e%O(r3RMS&$#0&qo**45tp8uk0v$sTN_xC9Gbh5T^1EsNqL zUnkZ}ABg36$%0EaWEb3CRZ{^&fPVMhjEtq|tW|{Eq+qMjjl|w1c;5h!G*sF3;Nx=x zy45x%uQ@;S25-5m2g9EX2V8&`7BLh1M0G*=+AuzPV6qnvxlM%WW~NAqg2EQiBFcT{ z5p_j=jZkQE@!#>={jVj%cuRfb=1Kc3G>Od_EYu{EWZCt*C%5n1>G(ak3HZ1Ge%*mQ zP{k_th|nOBNoTkO5udk@FANM|tKUH)*Q_7py@Nj?FbH69PbB@W z0iZ5{KZq+(Y0HSSQ-|ds1qwV@^&~N)F*7!7&sgov|JhKQ#o2H7>R(C;o4>ZQ zvS19P6&rb82K-LSg+JmZH)2i{JHLUzF-aTa$mdLisvo7kjYpy>Z+U90F#gihyXTQ3 zTQGw{kOY)a_ljZg*z>%&Orw)Tt&>4Ee_|fzeZBPyhaX=}JPLSWuhvHkZENaK~@J3Q`K_7zig}1zWuGD z%#ET_w*5-QT~4JDK&H_lwv;lVU-jO|P5Z;ZP|Wk)qw7CB@PGex0Z*^vsrnlAe27Ve%-|HFd#o%P6aQz6BFFI(s7J zigkKzs(<&)kR%Xyzuz};h8 z%{KNFAHZK!N^Adc!80*1{om~c2gCooI0XN1L++xwl;b=DLf4Vnv8cnbYW1Q&;Ll%) zzp<^^0fQIprGoUq*LQEOG&Ed7(hEom=?-Glp|DDq16BjOA6X8p6(TL&?+eXPXsHcYm z6(AH8WT_mE9yLH2`X}%8E(`qXP1To_loyQ!1EJ%Q>Vnzw*|(CU-=1koa6R{+eGQ~U z7*nvEngX-k`^g2BD9lgCnXZH4mPr26p*m6Bzk7--u5w3Bx9a|Mud)o%uv1{73dx}R zy_?bU2*!>{#!O+Y9$N>!_8{v#={R4ucnYy))Nsm7o9yTSAc^C>Gm<@RYQA(I&pkd@ zkanPPp1fF~nM6X0H}u=SR@z6-OZh{)q77*J&J!<7t}lSj%*P!M4nx3b_7ODYx*;RP zxAVQ0K$@&ufdiw_5cYPs6QC8AXpcv|s#-Mg!37nS*2-EtV723sf0NysK+zkPD8Fa6 zYzT9vi9^YBoJ3;0u6~i)$`^%6u?f*D32l3hsIG_8Q}P6?>)A%NiHSuCg#;bk0)Jma zg^Lg-LQEFcQeMb5PG--LxgwYkJ)ig_=)__&&2FG=uaMBV!s6+PBFu@VM!(S#v<#7U zMdzv4ZF79@>%A9^R@0xcNM~;pjBas+R{U3ZMubC-h^?#b!oj3I%%6S7kX!4-V2F*dB2^jWs&a0UUq|htPU9r9mkTS6 zhKMM^x5StEr2_!gW+V;h2)9!Q%$@QR?4oEHOVJcMK{ zzvw(FjBK$-D>3Zb(#_99vl@z}3K*V>Vm>_FZXZN0x%JD=&|nb$dx5{(;iywSXs{;;MVydc_1-|rlCappxV ziHjxGrib$L?DF7vP zzTa?*eHp8DL|nhz9Ig*?#>A1+7y$ZWTG2ox1jrBPd)J@LnVeI*+iVys<9saUdCYNcc8}Bw9dfhnBdp|Za9h@*euwt}TOnw{>#GW9Ru}Vu^J+XSNptUXLHB$L` zFgR9BKUG(43F>*8zm4YjRziPV-lthoMsMVt8lpfM2Zb4y@*}RTwYD&%8jVGMIV@Yy z_T00r_q<)X0OB(F6(p67&^P)A{w@A5AJ*OGNB$1H6i1y3Q)j=CL1bF6pfd=Jgv$Ujl%MKjz#M<4DRaw*Yej^!I_ z%T>529`f3QLR}Ef9uBMI#eHpac;(@2`X{YvOY5;4I)r=L0nZnY20cx>ZIR$0sra+VHXHE!(F0SlWr3@BvB$B1ElbXw+ zuEIdU&XST2#C`}Wmcpr7Gtzj_pom;aKwYHlIO4EXg5b!XXhvztVV?lPUcIEhs!2@d zkjM8T3IU=dmr9w{UKwJl`a5o7j);ZhaN(!BMau{VmN0XlcJ7{swTCYN(Mi!0kIdPR zdhGPm#M2ho6R6@uMfhN&{4_jn-%=Xie43m+fp&I)NAR&$cOx5Y7#KW=o*Jmz6aH#9 zd0qw;P9;H*1GkNZW9f8&1lI!<0#LM>U9jWm-`6tIbg17h z*K8^Xd7EgCLBZyZ?->``W3mP#Uu`Pv3H0vwxKavhQ@cN6-4_Vw(+d0MEio~s=XYf` zxaRS2(%uZo^uYJof7GxBi-B?U{4Q{ShCl1-$;jlXcmsAc)XM1a+}k8hLEg(6YEI(` z;9$IT#$i1toCxhnzqT@nHjp(wcWvQ#25`KD)ox3i2S`(`Mpzi}mKrNpgLp@~Quc1% zzBS|?K8SpyeevIOfR?Vt%taC7Jf4}u1l!Xw`!Jha)!}}KNt5STlKE!9C;wrkueE8n zU`DT%OG3}r8~C}%V}NUeIsZ6P2m6-crJ=?}Gj@{&g9kCnFETJcb5TIKB~e6Zu(f`dcx ze8$`ud7R2gN98c?Wp{a63|T(7sk~l8V0joJfQ&$8z557OA{tnNWSLgLZJ+9V`Hj8W zDE#p0-M#>I3X-VF`Q1~6752G1wu2LdzR&S>kg6Nqxy*_ad;b+_0GS@MEbA-?!VtS- zC2a$)=UF2K2db7sp#|llsb-z1vNy%(1s}YKIHU5lFl}t_=GdCy#}s2H6rrC(>xjwT z+JHqtHbeqZDv=pa9^qcz?yWs-VWacAam>^?o~@n{jo%*CD?iNpJI!#ly1tC&u7b8~ zt~%XiVG3)(kX$!rss7#i%>2!RQ;+FEUd4zls}*)U=fipfpCMp~!jYmUMZ|Fe*yYnQ zEG1$~eiggX9q<+&9MAz-cukW*xymK5_U9HVVABk`4ci6PjEs$YNPv#7IJEdonJlyT ze0J%&M$&;yJ<2H*HiZ@Dl#tl=;lp&tBTWrNHbPzSv=4P!&ODKN|Ej3z3m<$kjqQjfsBG2nj_4BbIiP$Nfwt z)fXPV^)(TxS*3quJ*}*jyxl>t^BVMn42AqQQ2VlLvbWY#0Sbh3j_&-JpQ^(TjzGs- zpV)XbNO2d29ujbp64w!P`UN;SS!xi$QF-~A5aHxru^u0u$lwSCES*;GWisK+cDf}_ zD#;Ei2&_fqY)W_MpX^w${> zqQw*7b{po!|M@UfAG!JtxC0eF^N)w>pMXZJ-#zlbl{>Yp{|?(er>d{Ls3uTU%3c3E zY->)Hx_s+Iv`Rbc?oNy}C*YT`KxG;Y7EYqo*fJ%(sBaGuHARfvVy1}w zg!8S}=|zeF=If8rS!eHg>9Ad4zhdrb{tV9S7xEu-%XduGDn*x>=euw|FRy2G_F!db zRant~wo-H>^Wum24u1NRjfBC{aDYdN(-VHu4?zeoV)UMoSy>KsI?iW;|5v8<{}WU>o#7A zdtq#V1Vp9oSf~h9WBJ3I??ZX)y&`sqh-ASKR8yg>y)E4{XBB6?HE*SP})gp*4zw`Kiz>%SZ z2_jCaM^eD)cy=KUs3;){`iFSb&(NTRWFS_mcoF0cc^m_`ac2X!tz8;(5Ve|h=w`WWxyW(Sa|LhC=TF_7NE}_O zJni()&h82vZ3gGhIL0Uv$&{=F6!>8fpV^P>8PLmYmUN^((ru{Xy{zeOe_Z)qL%{~D z&e+2nTqo^3#MDhPRFjx=EdraE0KpO#=H?Ui%|lTFQ~v_K@E*bX*(PtEf~#o9&-wZz zz`kgzN=?DFNpd;uXFYHgMGrWf5av(7GzhQk2-1l67Z9cEK?CzPkt3f~Sk}U%~n2Q{5umf+9R&1`m zdiA`r@O}>awFxl89{6 zKKvMC3mG=!_;X50|K4WKYMH8HtvSI=j%=mIdu?^DpK*9+p!){asc<-UG`Mj0#Pz@F zTT!~r=Uf~TEe@nA)JbtA$#bVw9YH>sW=fgBA~)eM{At&Fjo|N%*x6&1Xe14tU7rr!`N#E= zr~8D_5v1~zFi|zcy(C}#*d;#H?iw({;r%0N8%9 zL{545v<6>D|E)@bM+T;M9TV}MnsU<3yEU3f8Dn3Q+aedItL2wS|EDMkHu{z6d^SMedl}`ii&MGwE%sEjZdpmL!|Y>KoLh?SV<+KYU6H$mb=}US1`zG?l2D=;-b{MWFSTcs@i8?Xg-Cj(ZD*QS|?#xxXN-mH4UK<@; z#Sys&2vG|3A(h4iUT^PU1k8WC{L((E)OllpS+Eo+NB|g7`DtFBJYnH$-J-H7bH-Cf zKgAug(ZsKu@r~p&L17&7|J5ZP*FeD;-G-z<4z1e!Y+2IJuZ|&Z|FeO zB;id>i+6rZ2}YlZ>&@5X4ZN@KZOBJfE>4@ww>qR3)PWo=@i+xZ@fEc?qCyq3@{ZR+ z#Yn|~DA_IUk0|}?!{M{|Dcb#F3thIzJY%s&xpA=KCWa)_Q#u$uyu9403%phShcm$S z1MGcVOC{1T3Ivp-oF-p}*WtwJ;4DV*W{J4ht^IC{Ow&^;4bMzg3@`N@0-rw?$@ZAh z_7?*pkZ@0>5Cb|pbK+mdwJ4|(z4I3Jw#>I&AoIHN6wEY}iko4d4YPNJciE17y0rls_dq?=67!Zw|L|kvTq2UbLujAp6;U-sHES_&L{ccikIfo14M;nw#Xd1x}p z*4uQLKrY23KmilNIH+I3qS?12J;G%rXlB;3b~eq<9LU5h6$vC|^M}xSLC=};pkz=| zxJwWkEGMSs<&TEIW*V$?DnL%LXUXN+$?-gq%wL)G?&(qa#Tm9^!(mv9UdVOq zmzzj+lBK|;#+XT1J9u&25k|~;tSGRpRrTagcH$<=TqCYAF(x@747mUz2KkZCNn*-y zF!!1eln8@vInUrj2m*uskcs%m0ZK1SgqM*KrCXal1e*ibdRm&iho^o{=sE*~mO*Xz^hmCmLWFOp3z&+Vg1q zj6#Y-GuLFzzq-_tGFII9k7H!eLv^3roUUpi+yy~&U?GxRz`hu^>z*j_aP*i$VOYZ` zQTT|4V2k_+D?y{!!-kLPo|8sLcsaJAAJeJ*o{)C;qXYvCUT5fTiVIZV1kzs(AW^&ZG=rjjK+vlWM(gR%AuQ% zVt#~@=632InJA!3Fk0ipC)=sxGq&7z-$FVkv#EWc6bvEGi#vuT=CT5}(?|4yAmsx& z=E|q$iG{cqbMe{yY;2&bWt=l{j#mw*)b=%IdX^>mc5<3uE*}kAHI398E1Qa3Hq~{M ziMhqKsVMHdrB%r8R_H402W7QHwrCenuNOaLzc@%72q{Qk{Q8OdTGGYZg{#mbE9FHY zTngy8KAVnaDR@_=C@=0My zEm{$3i8Z%ZyBPdrncdfXKCNy*k7Vi6(5j`ZmDi5UPitrbqLdc0wQhjNlNA{`MMFCH zg-S`Rih`9XA8W!7)A!d42{vJ?PI@UIskeUzPSK0z$GifF)@te1>lXkiiK^ zK&bnBfkn!k&v8r0$KtYnwGYNBm>3pkv~aM{JEMC_E9YV{PtAY!$!Uoj;Yks>wWu&& zE?!E?=4$yyPD9bN3aD+Qe*-M&COdv>}0)A{Q#yTvo+JtmwKQYOjWoAF_K={d_r)BpHl-sKaO^xf5ioZhL#= zY4_K=9`7_ZG7c)JJaT_+xmGbaET540T+0N1ZMly49tsg-3anVlu=CFBG&C#_Wt(#8GQw2&f8 zH&XL-9t^juWwSeBz|RUO9}l;q(LTJbuKIYX+jbq~hH1vVf&(-WmhXZ9`~d;8j^ekT ztIuDuZ<+IJ@odtUy${^&uy0UBH!G-K=;;6n{AT>Vj@!AP>FP*B^DuuGrSa6fMLf9E zJo9GIjNOHeny>;ge}GAR4Y{wpnwpHI@4hCKUp#BSlly0u1OS&xh)2cA!)bcg z{L3vAs>pd5V`C`$EQHGaAe7I8p}l)!!QF1!eBEb0|yPLmV;YmUjOqJeLv;OJW^ zsIdFoS^icEk|9jq@(uI4wmQ8f(2W<)PIa|OsR{*~1qb{T6!H?Pa7A$*sTBgOb0}sa z{6hot530$7%dQ87$7EjzzE1KT%g;C{(^JEFGqdifV{XhtwG z6y*Wo-waYM_Fur^UEw$25ZMfZG7=XRQCC$Q^M8QD2`3Tr4AgI>fa8_e&tA}US!p42 zVlJ_0)k=UG>iT!TdXR=MnV*0cK#)cal0ZA?UsrA(J(ds1+zLQUV8kjbu;7T z? z)^pk01S8YmLs91r`1CP<5r_NVh(lvAT!WAca0lB_)a{tQ;(hbT_rFR()3;JU2ckK2 z@I>j>mY`n*u~%EaC;j{@b!!R4yJM7vpSLpPuPe7apiwLRFAQ_9->KFRK_6xJn}zA# zGpZyHW*?3k0&wxQr?d#SS4Ao(kcSzpt^ghr1ffbC!j;MeDj?C2LX?AvrnwNj8&xdZ z8;*@e-35@5$Es`kfcNth#TT*2NQBJpH^JPs`^HUh3a3c8we@)pxIBR*KTp^>rK5ZC z7x#|vR{$OXjrA=!%>9(9Oe#Fa&|Jtw9zf$mZ?iv#Qjh8E zeXj5Yq=|(c0)mP$HVY+#gP;%r9j`8A@-fTwA7WA9%^gP;+$v+ccZA1wp!@C-+Wm%~8 zWxCE6kwK(>n35egpmTsxX{T;11MeTQLg&K@`4XxOd=@);t ztW2A~_$!JuM6M>>)}*;TF&~eFczTkOH7~Nr}@eNaGfDm6wfH^jqdR6CAPZ* z>O@l!#)oNF??FzhW}Yi}OuziXOK2twdoC;ju2)tu&p1x%+pln~R=?Nj5B^qY5))c8 zBGw;5TAdRSa4mFf?-p~QMA@!POKU^IGM+`C|rmuO~l1|0-13R&9IYN(^PGgxdzp0m1E356i!C7nGw z+GRrEfme!prlx}cAV=+7`L;>#nn)!ezd0?=lA7|09W;508@@T60%RBj8ay6(h8-MZ zSBO1t=AlU37wZ(Sw8KMFz!FK>!TYq!q2@@(WD%Kdw_}NKcQJPNL2c2P zS{~v;y%?Lwrcx#hgA>uitFUaz;Ys|i@{iwHxL=Ltze8{Zoc4qR^tp-_8xM{2QZS*10F_K;Uo5CBOr8B1I|N>0|wi1RjL~g;^z|> zkfcWfv)m*ppc_HTo1f<)^7Wm z?`Z1T;6p*(y1BNN@HX`S{Fp~Jbu3^txUjT-xi6Tkogk0yUDeiau-rlhw9geV|H!kD znnHoFc@vDtPY3lmY$Pp4X;I+0L8%8TS*YfIxaS_E0iC=cMnF}<61Pp(FJjc!TOmy` z*g#%i=A)4|tmQxcK~x6IL^uoRP>EVOzYPpJ6a=1tgw#E3rO25@Q>3)5cw<_SvcC~{ zxjp>}hvR!;C2rJ^I&^}f6>eXGVxQAxW*UuKMtK`#aP7>y&rAnBq3PLHH>Hg#4AOQD z9mfe-c}jGG!VZ1cFQr4~#$sQH&6av1(~Gt0(%tcOTGlXe7|GUDk4?@-ICFb6n@DZD z2Go=?iRPBn4WU`%0qj0* zUptC)nJD;GVBT*lSXES0-D?CbPc>9A}#_ zvd z2Lc7lLc=aXLpY2S0vM5K`dPrqy%;SA%{A#pTiKUC zczbPxd}}x_8{4Y$@&yD(0+LWV&xwHqf8g|R|H%;DyABba5%?r@iUq;3YF4>J*e<0n z1}j0K91-1P)8uu0=Iv}Y;XQBALayYHy+sqqS`rx$MfH<#`X zMw%>so6>FN^^HHxnAnCkxLe)Xn&_}S6v}}eCv;mS=?~U0qXUEUIB0?vANs&FtTNn- zKZkE`v+2N}{qjpB;iQWO{l!aUG6My?rm^sP<{R;&7*L`(c2FZqlo_ZPk~Ti4QV>%B zk8{h(K6r|hL=cG_O9sNaS={2BRidO#ui8~dYg%yKm9L)_4zu`c=cms*z0aEvl?_lh z6$GA6D4b~-MJwwI3F9BxXmqC*;%s>1hvmY5`p_)@M5kwA`1eaK-?3)%-z$~VdIno@ zm_!YlA2lhvzy13XF~@Lavf0Uua0+jjoqOz0Hhp}`S0H850vgnrGaqvw=vV8yrprHE z*#69#59Bw~P9<#Te>HR;Zs2z=)w2nTBx%q(EntfR(E?Kv8IgoDp2FtIUBq)!OR>>% z=?GiFlj9n!i5xjzZPv3PRc(~}LIRu`yDU4!Wwp++S>oPnZfkx5MH2}AUBkdb+3OQM zaXXtg#e+Tm!{tufVDH3X>5fMT9AR#YgWLRBrR!2E^p`y>MgP{Ak`V92l;u3}EvUDd zEU0{_Wr(W5^L6Rq`7zO;kugC?Yh4px9~CY}%=hp!C2&${GZ!>(t>|=i@|F$Gqt>gc zTme)$%((qMA(RHb=_Z8B;UAF1b1qrFq^k3IsOcL(+Nko++ zgrxW)whLZ6Qh+d2*+HYwgZqOb3_B4@={Vb^CgxjQ<-fTI;NOJr=i#(=Oay79C9INU z=d-qJ;*z}Rdr#k=kz}`>u_0E(?o2?1w6W~gH&dT-QQg(V8nc4k8=VMF#DurHaaU^k zw#)^HmZCr2?f+cZOcS&oncxR4ia8I!taK^3?o5}BpZ})QxBQt8n{PW&h00bH^DmHo zUEO)PtLD!+OyK!BK9VoYWn@M$c%`AoU}dGfCs5dm?By@ z6GVn#o)&VUgL$3$cJ+I%+;A|!Z|2^?IH_PkXY~sBa5?7qfHfvenIw|soGNq9nENxX zz|_%D;NeY*zujAtz5C|Qy8B8?**Z8rPgO6tTJIVa^TFMPt^!F#Qc0aqsJDb;evKK9 z_!|MQ5YW!A5QiPijuNK$gIL&~B1+r633b3ZnX9i`rqEI&D$DE<`#<4=FS7$< z>^#T4my2@8my7ZMuYRlM#lgkxIK}m5hx&kZm{P`}V#{qYwy#Ko9GO>$JF?NvoQQX9 zRub;IslvZ;<^NR(NM?215gc)nFz{1&)g@&)jA{GycNvpJRLtFs2I7fHpyF@HEuwaO zrvAPO3fLb)k|1&U-9#9coNrlq-qwZKI*y*;nhJh$I6)2*NHFn0X}~pgevuGsT>J=? zCJ53Ll29iHQ-U|-vT1#Zz0r`y!O2-$Je&T9t4R-hbIUiK zJ~7vF56CR3=5gx$3Gfd4jajDz2V@|P@cWN)X@7&_B;67yDeQaG{k-r^r?(wclHVU9 zR9*s9o+vOw80f6X^xLOVmqi?bl_E~>x0{wK-WiO9NYn$^FNkb*>wMGT1VxZekx%`m z)2D>hrrN#pCdrN(X<>7o0OF)1{iV}aWNaNLgO5zusw4Ku8|b^^pB0^1QcsvcsInFo zm+INgc<8a9@)}@B5<^J=EwFy?Q!YvWt^%D84r?g38e-Y5_A^gDp8^Tj77rMj{NAS= zE7W0#2$!!nNlqvOoQG+6)1$jk>@jer*t=4!DQHI1@b1)Zb5Y(pBCM$LXIY|I>YWm6 zYd}J~NMtlKW=vL4Q|M8Hj_UVhFJxM48(5)>^W=0ANpj8cI$eGqb5W#y z;K_z2_o?#BQzg6|Llyw=#}_;pO_K#o4Y99f`lagM)y4D+E(A?F{h7@78h4rNstIiE z>rV=D2Q!_PKcu#6TaL_|Mj(uOXObP(^jG3e;N3qK432*o!Ll>{d$I5ThrLn6EYaAa z*IEunJ(&SIX<7gUYY^E9&%m-TP>xGK*uIi4u#!l^<%)DTd5nq4D-pWAzUIQ8W`vUk z#(DSljjdsMhJQ$E+6Duk)>A^nFeXXt)yIY?hG*hdJ&gff zED>GCaN&j5;q{poKi2F=APE7Z=$S~mS5MKr2?q!MjjKI}#)%ih!j6>i1I4cy)6bE}4UKkSVA#$J)eAGA zFcH-x-ZPi*;D71r1;~plp;Cy(Fb`DqHaQX_1{ESkVI&J+fhwgu4FP(!c2yNR{f3dw zQD1)J^Y9W7Vb7Y*WB*#^f%$Yf2=AhEO(mLRYlWKb|$&B?nDzQka1lU zRSGsaujB05SrrOaTUeFE(0C!Gtiq=n>voJXSxN;NoSJNB z#H{Ze?7_ekqlmPE+mQ#N(uuIfS!(0OoX?}9RYy{#N2%F`vXNiXvbkZ;3}>=SgnIrR zUZbePbUfm6oN3pwpaT6*pXSd8`*;%ve+pGxH&RLrq@6=c-BHdgiibnjjcds*tIpaC zF%4GkhxHqil-4k|gK_3ixz7AIq{!*IK@Nv#vBhaR)4SI4NYC+eX4xLX+)iar;6bk$Bda>wA3>(2&={OhWb0Dm?Pm zWxI2ht`xtkZJF6hDiSD#wF0lP64DFmMolEXH%2=7))E{KSSF>}9Aj}KJn;!%ro^FE zjObnqiyziAI)E85baL1B3G{Q%>vmlsILk6cP5Zm$eon1T6$Ic-E+_|jak|;3Gi(z~ z%U&=j8o}mRksoZTFV%7EPlCVLkInIlY%uWPq(WyV`pThWN(H}clHAlw5%pjKlItC| z=(UsA#!wVD5^x>3vIVQ)KIXEb!pPaaj6WMpP^MxN>Jn~l+XN~mbDX=bnsqQhnjt^?aBI>4Q7hKk3+H?{e$%a*81ToBo!}N61goxv zzn>buh!0Rm95#7s;7r*_G$YtO=@Ug3vKYOJ4R%+_7D-5J<04Y&I%9 z$n}DwUK&`q5|_Kku<+ds%k_27*hUL7^k`*p_084h;#-@1InpH71Y=FZ(5zK9t4&I4 zv-m2chW58a8f_S26jM{VRPF_}6}upix1wm+Kpk;dv0QXB_NR_W+1Ki6Qi^OQuwN&$ zYP+)DNN(>4YqY_$bEbUyQ;Qv&sT9P12ROlY!)*Q=atJ}Is@fM9KM+_~wogfp1h-l1 zGT!>mw;k?207#C=f_mn(_OU%Nr#*n?N^W}o{Nc*knmUYnN^HSiem{T3hWlct z27qbH(^THdCU*;ol}Cz-_?JCJn*G>P*v10+J|PRoWQK#GrP zO5_E`&wM`J6zlttbEKKry(-|I2!((_Yf#^>=80j8)HhPHQnHYmst;loFiM#w5{hX2 zA|GvTeehNv`81%&0$iQNk^pF$Ll3K)*`{aS4PLanRR-(z?GLv0y*JDQq}eH;&;>BF z1+>8>lvd3*8tMlVWIXFyx9Xd?z65;Vp)u-JyFb;IZi;gG1qxYHd5u~+nh#t@A~ltJ z!qA0a$LeZ;5KzsOqXQr0n!>@MXi#H$nIgoLU=_&CnPzTR`Tp?avqZfx5B}l}$D4iu z1HR0nR|MkXB+@arQBxEO`d!Lbsb-Y0$F(GyAvq%=PVMr92@BWh`x-6_dmsB65K1Eq zi->iIW3hd&Z^*Pk!NHxpkn?!&Dn2Z$6U}B8Rin*jv=%RD2-g0ds;@IaUln08v}Djc zqAnxUYWT@+Kl*VAeg8l9-YLiuzf0Fl+qP}nHY;sAD{b4hZQDkrZD&^6cICbTf`-(p!2e1*UtmJ0Keut-lw_jKhkDVI`7?Szr??!9HQ(jjGD;k@ePWC-o6FD zu(62_obDfl+7P!AX*1>kwoQnC4t4*;OwI>^aWISnWOi&u>Gq$jDz#v2i|CG z*nY1xy`RfjPP9?H0}}>uPrdQj-Tw)lJ8zU8!?NNP<1oq-sikVTEo~dJAg326&y~0H zdKbusgy{im41&tm;&tAG7!ZM|ZfE9sox<2qqG%K68P^=4 zyRVuYS<|L2dH>MQHA@xZltCi&ju8Uigb%})FaxOB%|U(d;@6K-a$Qv0oGP@3nZ5yb z3d!4rdD-hcDfCLth~FscVyrgNV|ecA8oLN1AiSN7cwQ{LrcAV82_<9Z6LrK;%qgA9 z*AFGpma+mjkd+oNsxPmlC~TP7OvY`K>X+COvdL;isrH8SaFYPZ(km`qW&!ahfL*qp z?g)#t&!L$Bc`6ZYF@z+;?#&o0#CF0;P3AF&Zfy%ca$N9EoFXq#F^1-LMk}?)o0{4r zX|8V#YZBWE&y-SP_KZIz2wvu(+87ph@{5i&nXR=~(Sjh>dBsJ!rM4azM!0a9qGU5ivl zi}HwhKs0t~eLAp=5tQ!(a&rO$4Je7W%HoDCE{Zye@jf}^qyGusfaEj}BohV~8KE|o zx|(J#;-_MIt)ZAV2ASrSJ-LUH|Ba-dykL%1tTXku*4pm>BQG=FXBY6s1;ukPDQMj8zD;tznUO-2kX%$p>lSj z>gN}-0An72o!ZE;rN*7i_wp!np@MX`eOy3?J zGXm)0Fqn_P#3|s0k#h*Ey*AN8y6+;i!(=z$Vqdn&tZMFdUAR7nfZSXUVwFBY zg_zKHG(U-<{pWNV)M;Im07NF`uy&P+@?T|H@?7V%8Ug$cSm;fRBC-Wls0(g-M{DQfsFxjRo82z{FR_sxv5YU3)?*RY|0N`JB zc>KT#4PH3I{KjGA9M(2YtVAzx6ezK<*?SedR!I@L!-00B6v%Wk%g5j6=4!)ju`p8=9gP z8loMz;~k++)`vRj?6w6|?weckM;1GuT+0!CB)ePj*{$r!CbjUt%KgGBBli>GJdol9 zmU9`c|K#)ZJ$9{-GLb|qL+9|3*zfv8yKv*yy*g{OE|Cy- zNPl9PkS&y|Q5}I@8C!--Gua*(CJw+9R)WRjNf7q0eDkRTpTwJ}bU$eF;maxH{+S?j zRQof*%{kHd>|*z9zuq=+;L!%!QL*N#@@H}qng5far1K`AfSHrc6}D>etBz{IRO!MS z8Q3UG?@&JWM*L{5+L1ErLr!`R*5fj}Ri3e#>xP(CQKm~i3l zB*t*k4(89e0$<=!c)hK^WHuwqe;ts2xZ9Z!(90WIDm&Rg(aRAqGBEtpQg(23BH-j; zgrfhyMBz*v|FK*D?>o#(={r_9>Oge`xI28 zsm($~eA`hFBg$<>dMjxH0ba2ordLiK6r?S&7b)VchDvZTAI)9L?@CPCxZj&VgSBPk zmJmvX^1z?Prq}+UC<{#*@hHOQl|fP6wWR95xE;chhBPw~RVzHOJy7iYQS~{Y;er!X zwfcngBCD&F;HEQ#Lk=TH7`djGS16>Zw#kwbXYh=OUGdq-)Qg<~zL2ysm6r1`fad%w znhC>R$BjPAgLe1osz|wX@Js6!9z7`bow_Hb3}d4r1O?qa?C6SRQ=_F|-TMRVnoUBB z>6SDRn$nwEM6j~_ORK6Ixv9sg2M`4 zv0C3K{1f(;yF6-j_Iw&DZ{|ziX?`f~@o4Gqn={ClEpUt(zoYo|j_+Gw*#R{~@jT5C zx%4<1Tl&mxA%Ue*_85ns1zCN@Q#;|%^8zKmbjr>B6P(^?(JFc|Gq>vyBJj?UZBO2{o~ zueP3E7Ck*XwuRNZ&Fi1RwaiB|%cO?Gn0n8Am`+ReufaxW5dYrI7xvjyjNZ%XoaHaE zTtU*jie7*P4qecV-Hy~*H5`2S;urzSh5X;`LUZ81?qlxRe{&v909u?!BAQDMYEpdE zX;PRdK$A{4p+$57_*-K5E0qe*wF}i>f^Zq(err>d)1zeEOMbC<^W*XY)^HUtWY;ic zR}MIZLV3~|6GK%lpsF5M)O7?8fW@%O6S}ot;;gDpBM6%b>d6qQ<4}TR>Owe|1ncj0 zTDhVpjmISvhblI31`6_#5luqLQ3J#3v z`=xB~qBfU4Kq3G6QD)pa zTwR3z0`0pP>ObaWH{E^=7KTUjIxQl+2D$lnoHP8mXG#^}w zCk^S8xl14WeI?o++s0#3@>QA-ahy_4t7psJ7fr#@<47D zY8>vhoD{z%tCgeYu;`+OC

F%5M?_uDfi*JR3bbS@?<1syo)E=N?Mt0`1g37cfHVO{A~f@iR+1oF5$}XO z3O1QB=s0+g5}R>hydL$zmOf~(WxFjVvZ=7ne(!{|gP@?Jl(vO~?HoI06V#K#A3TDq z8qe1PTc$Q6-NMAYOzS0uf`Nr=1fD$xeRjBwxNLgl?VgkHd$b*|k6dK8xd{ou$s(G_ zIWJsEz{Kokxby8^CG7b&j?GR6@#0S0_wn*0lFsjL;-*>KuhZz`GF8vr(whhGa%(&t zLkWH*u)p|bzFRtAOG3BdHc@QJW%q!?6e}km&AtMJ&t*U~g0eU_bWjY7W7Q2XKh!Ct zwisL8u7Yr~Jnp4TDe_DAC0h`3zA77T4a1+f(Zi`Vb&lEyLhdTLc;&K3MTC+jB}jRI zQEdaMWQx<)N{_3D6y0Boj}xDOmvPxTRdAi8&ha=Fw&{R0FgrE5Oiat)s|b{JE?+E| zF6%dC9H_$$$a~8DiK%aha|-@NsZAF{R*1kw;-Ox$1S4&;nd4lvDLs~eg{&lKp?NX**Apx` zFr3G$zC0{k*Scg$3|@(C?eB{5hs9ortjV(<7IP0R8m~M8!(IUXjTe?P1nJn+@cK1W zk(n~kS&||t8yn%dDffNTLFrB{vL%dY0JAvY&Dz?+<8%+`g1=e4jkOQ?TVip0%H43L z`k)g}YrXj`55)CrDY(RJ0m`ec6?06H>%opOQfRJ~0k>|X$pS?L`wC6x= zS@N0{s9X4~>a2p1ZNlP}*A8?;>coQf9)VAcAMLEkAF|qZyXvYKYvUDig8h}pkIZVm z+1FQrB}dX&G9i40WAI!#l2OjuJ{YB`ZUvm5{6(nsZf= zJhDM^MYqP+)cP&@1^#B48EHgCx2&3Vm7EasT*zpI~rj1_A;pc&FpMO~V)=cJ-GI-tvn#Rws(V)M5&J2MuJ+X6NZ<@Xt zAC}cXr6#lFb%LGQBXp8mFT%7V zv$(fcQCxxUK)I4f&~dqva~Qt3G`F;r=qgY752VkGe=mw|PPP!dZv|KGE)llkmu(Yq z&S<*8n&U_K4#1pii*!Ps{DY=4YeN1k1!xsk(wV$WX ziFx0Wa4d80>9!#}w}q&Ee?P>H3F4UgeUnius2S>CB2y{$D|^UCgLLCk8N8|fhsvl* z!r}@Fh%`q@NbMhEt9Tz`py8P?wIgM)zx-xXOGu`H?H}}ut)1tTYD3_(!-sUn^*)0} z>~m@F<-&F0yA_+-$|Kq#-l4nZRB|GUjQsNIIzhd;L`9PqqySvt0Zfg%bm3=8E~dpI zf6~6(I`v-!>YIudVgwAzZ&|u(BPCqk`p1>gWmJ=$&teW|v|7gb1zuS5cE;*<{c9fR zmQ+u_?%}mQmZoH*v(Fd0h*7y+cgEiF&1vxX1QMe88J?(hr)1w6_rj&v91>; zMZV?>W&ESEH-;7zZf6g9r&gsW%J0RyzlZyZcb$1a7Q@m2-<3-q{dV1D4G%K?O268k z4)-!n@8FSeS*Rde3Ol$oF9KN)VWl5H&9NHlW#O7{apAq?RH51_QeVcpiao*1TX=1( zR|5}*h_loQf*?=#w!lIgDNQS<$WYZtVzp=VVqa+dq7{z#oiG@+%S1}P@?@`ktK44J zM1vUBT@|M$8YS{!ed!`_4G|gB18CSf)VkgonPL!PPZUZn;=R(8l0@CzFia2F%+<07 zS!KPQbb{Hv$u!F7D?C+V0i8Gg0}NXP1;q)@7?+qWe(2h*e30(Y?JSrqiWDIGrH%J` zmDgJv_O-3e;n6sH?P0Ckq)&}cS_T6uj!|^{84!uok-3ElmhZ~cR~lH^?A@-HDx(xd1szbuQUSR-FArpO&J!L~sl+W6 zcqxs9fVarGR$GA)xj@op6&(av$;qwbcuXBcaoVcN)A_ zmv0^49iCK>S4$E7ioBwKk(2dSBGDICt6?&h8FrH`a)Sd=0=?gsD1t*TS zzSv^c+ePkNElx4KgyToWO;35TNZw*=L@j}%jy!;N%hrQxygu0QYU#gpA5(1jg}KeJ zMm8YWt+^1>7-(cRdSE-dx-5m#4sm_ysNvZsMt=ev0i2%=ZLuITxsL92}s@BS9o_buPeKGQ=kDhd^%n&sW z0N#5mQ^z7YP|WR;^d8NaCe771RC@C9!b3ZX)x$HQTZ)T21$#e8lC|Rj<+If7+iZzC`LajNMFpXFCRvzh5WN1b95zH9b%<1yy^wvLH)8WDE&VHIx%P=6{^XX)*h-wI?#;Z4?EiWLo(OzU(y+?R9g z%E67#`#B$M2pqi&8Y3UPQIFcSk=Bp*3hPx|0JGBUJbIAQFn069q&{iA=lr)lr`Z0R zo>Po0931~IUJnxsGt2+}`mcCB%*-4N|6{x!6)28mz~-Er2{f%sh=&RNv=NjdgmCM) zR$+98`}EW__q5S3w2BaZ+g6$a-6!;B!kp!O#NVh?Lai6`q|#I0WH}c;yRN>wtZR?6 z?_D>$zWj5aJbk-WwFd{K(#4G*L^$Y!D(*XfZF-7?7(N&=1zg%M_%p5cJ9O+XFhyBqVSPjm$^Ty;vD%9vnP((WLW_JFo3^;}Pr}(kD?OTK) zBjUupB-qgkmd?fso&y>PVDS5bZmTf3EFrH*FabZnKH)=H001Z@n1CTFmzy2%^R0me zUt}Ik5wnOWSW^%%93JSOAWOuz@W{P*VWNK1hy3!0Jd{3SSbT(XhESM~0wBzRkF(e? zq7C-w9ex~mP;STak6R%2=l9bY3{}jOP=-PO`O`W~z~$v$=ZM$m;P^KwEv=>@p%4aw z3)CA#f4l)uv<$4^a-FWu`0XH_13%RjA~sCA&nAtR)Gj-2XFgC3xVJ^HzPGJuL1$>d zDniEl9;_qkzrb(*DBs>A|D_k5v~T5;@0|p=xPkOJYhRL&IGzkB=0Ob1ayw6*Wl%Yq zWvKDK3cY#uLoPv;^sx{3)mUk<9sv;$%x_%M>4v}|!b+IwlKIn?JK9UeQ)Y;00XiCZ zo@Z0wP7mB`ea>Z_WWs-d0YNg(ydZ^}k4|E!g8Fi2auQ5zV5Tft_^~|&G9*|yK`?w* z5;W*6495NoA{sg^koogMpqP=-Y2AuQsD7mrp@&~_Qm`s;HLV1 zkXuj0v;>3h{W(obgn&6XqgZaeTx1g3{5SI*S5`YA^Nkw*dNji={7J3KO3_ z$<_Lr3^CKYG2%CF#~FaJmvm^>cM>6;xlMJS3da*0Bfzb}6szINu_XuFe6a9!CX$tH zXbI~X8!F8AaSqxgWN!yHGy!SC08(&uy!2lI7l|iiANqXhj=p$e7H=gQNjn-&&GFpp z)bSZ7sAuN8$jBLI?!(4k3%BE}`!8AqdJJSe-VGWDcf3u+E;@tL24LQE^Vrm=DEog6 zP-_?jt_z)}t-@)jYmIA6`R$hXTV^YGxKTP?5m&5-nNl-Xc=)th8*hp)XDMNV_BweA z$%lK)V`Jd<57HwC$lerYTqNfAL9~rmwskuGD}Lp3nL`3~!s= zk<~K2@Tc0mX6ZjKGLiXaX&t}kx;9lm+a|VxQ^zgmPM+Z40p<&F@WBpGbmCR~&CdRB+Su^CqsT zXSVbT9bO7_(nQAhRo-$DZ~C37<==H04$xq@+fMqVuuG?w-@A2Y2Mq~iVAvK(*Itur zAKN6>aDB2?ze-${E2tD_fNzM0dFTB68B*P-*i0tA;H7kWH=UD+ER}C0XQnG*Y?W$~ zF_@6+s&dF7>U`04ZcY5p@b_r#(%gA$8<{gPN)*b;3KE8E|K6nI(zauF-Z|f_Pg35$ zS%eT={X`yH5e zqjtGEb=I4GPn{VycP`n^*lwMCFM9fR&2jgizz03azBh|UaqMd5yTz8>46ZCZ+HUr@ zGqzJMS#D!tKefK@jGR^6i3F6_oQ!U7*E2bD(P{`$UQh&74ICX^%=JV}zQz6q zfS%$%f11Krx<4{$G~@24s-Bs7qGgE9Lv=PgnLb>sli28dWz~~XrEtHzh{ptTK^89O zWWK)M`mvEB<@;9H?JLD!Z^649WCc80Fs<7Y2rf;iVzd z$4R+*g`u*aCy@VSL9ocFOQ3nP^;|Qz9C3FTSYDcGt+S?FucS+$LRcV8%QnKP#2^2y z`g88bbL#o@Jz6$qofSroMkgM%r-N*Yx(8OP-HYvGb!tT0xmH>Y`M7BB90;v9gePD;>sX6Er-Ga$3~iEwROG1d6&>s`ee8{CO zjWJzOhxO30tLWV`9{m{);Po_vCdj57x^I!sd>=JZ|AqSMJzI& zwBl6!Pv9`4Ldm9)sy%S}zYAX?quN6V+b$Dz!P%{Rfdjxr6PcBgJDBD^92QCJ zf}+BiUf;I+#9w2-Cp($0p|!7H%IG)wlz1rsy2S*jWM9sWQJR)05J1N8}0?>;vI zA#*-v+r48~ZB5;>8P>=tTAJPNLKG*-Ec(;DMSVr*pqH{6y}AA7I;($(ebGms=4%yw z7K=%?8>*~i_^jF(+9{(^QP;9FlXHU^I-GXFp3>9Fy{ldmX{^p(8WXpR!&%gxtMn{r*wDHl!B1Sxo`;;GQhDZ{e>?1lwLjS!Hvt{G(q7-RCp3 z+_PbUF6-|kxg`74Kim(0GDp*rV(StLY$x7_y3Tq!_f5K98W3Eb4z+A;5P8dJ!nH1!MWM7OkV2ixmMIKNq|?Ms)%=pi-Xn7*F>|Vxx4)fEUpu90_*V9a-@Ts zM%mooFx&dvnn3f{x;LD+zziN>CyO{^r9xNAQyQAE=52-=0kHO>4PH7=^wpv}R zFXI@A2p($qnL9-N9*a%;wngg9l$y%rm)@5f4P#VC@ua#Xj?=}yw1N35hyXqx0XiSs z?MZeczS%QG@o}<%z14BO-Y&=WgYv`h_6KbH?{ZC)jig&^BhNHiZ7V)(`=Xj##rNE<@_(knu@1`DIvYQk(IKGEi}Cx zAtM9Bf3*H}a(4M48UK&PM##d*`9C((u5c{vQ6!(b{6&4YR{kveN?MSDn6w-IVql0s zAU`MFk+d0g!!+~%>@AwSw%a6XU67!zAv{)J>)NeSziN$S{6!`MEoE^S5=#z!g&WIZ zXe`nXQ-=&9_#z^JIsgHdIIp(!MdQ-g&I3|<^Z`T&7cZ`}0E7xFgq|P5O)P^+jL6H9 zF&b2#T0Rsq(@g?(iW+0O-z`RIxnJlcK%%+dxWEBnV|73%x?j`w%XCkJB(+*p0X}0+ z4GhIW_la1|GGH7VUGr}uoP=?pSZhDb*?Qz<47NsoI;g{mgDV&ql*qIu5wb>k@?$#>P&pDf z;xaTQxJkb6u?sSKO<6Z+hb2tmLq1kb;Z*P*P@t4vU~~i-Xd9ADzF`#7#6bEgen+_L zM!*2m-tvYQ0u2c36;FNYK-h+NVQesPI^LwD=$Mk`0#Lw@ zcd@-+qrQ^ujBM1>q6XMxl*Cab86pN)+yYL+)NmGSIG#qq8CaZ|=?1Y*l@M5Bf1XGY z5C3z%u%IBS2%V+|lp~@Q{zDv6D*(QR1XFqw=*s|AZoRnQoW}yPyegUws45$z2=o`Z z8zF7L-fKU~o4VLn4lA_a5vnFQqK6Z{Fj=r-pk)juiv;*J47y7MHAoz~Ett(~plif$ zP*8NwN9go6bW`PgDQg4BVW8`;_FJ2k`B%2 z_@G}e1`^`!Gwq%4EP<2>lAs{rK~x9=rieZwUpyby(!>zeK|OswJ>_(9n?YZVJXR1v zr=K47eYoDp`6@v}wSWt6?V&-7u+^J4;hIH_{*ps#>47eB^BR45RHqoKQrBNrCFQxi$ycFemu4*LU4 z=(-2sBM_6nZ=j3EyN_|_Ev~v9_~Vd8O-*JS(Ta=&wyDA}8EO;3cP4%t*-++3h&;3F zBNFgV>7eTdG@?*4VL{bcaAzN**((HV2 zy+-bUB2Wvk^cAqGVA4Wy9^gU>YDk-xqXd|ud8a?OTCM_-*y{n!EDM?<2qyde z%KL<%f>9^3z=|Lhq(KOzS?=uvBto9KXQDajZ9AJyyNiQa9{q4}Yge4k0uCp%J^n<{c5i7PTJO zhx`Dm-xBK5Q~mPbuMS9rdJ3444MA5Q4*61KV9X}w;`7eBYhNggy=>5Plz3 z#>Rj@4gf|CR;)v%3v>bchS1xrKZR4oYg?t-3E^mX^<2VryvJ9vt(;RGlIl1>Y7pggdB?fv46^ogMyX1=8uK z!>H_paN4xSv{VtEaS|p^;$Nk1=Y~w}Df3@BA+hp&xg+Bj+*tSb-+kZ5{8DJCvzkxH zQkdAfDcZuhR_N<3-(wRMq(sosZYLvXkslOe$CQW7xS8!i#0F4~SEd#u!HhFzYqx%+!!g(0Int zYDPSv;96uGs#`&#G{hHRBju|VG#E!|{3<)KB8akwB#WiCy-g0;e~Tj1C>6%6;t$^$ z)w`Jh>5iRrUIxBBIk!Xn{f$-0_0lR}{TC9XxnVF~x4}TzK3^-C7CgCWHWaj)8d=xc z=GY$!O;RWS4HO75L|`!I@D?J*8>7HjN~S70hc?`7=DMo`UvigM>5G z112Apju5$MC-?6~iet`Tc7enCS$F(8J04`bZC4L-Yu>h1%6mT=(3+COj(46@L1ylZ z*xqRhWj}@?dFNPu+#W8UA7s?IJpNT^a=P$S=KYO0yK4=SYs|_#Ts^V7f!UsQN#T0$> ztl4rD{(3Uxefn(X54k#KI30f8pO;t0snj)XX^x@{H7jwA>Kh|^b~qievHqXOFHqyI zKHU>Y!Da(Ye%yNxW*zlinshB{RHqwC+ezW~y*`8llO(TAKBNRwW%n6Abo%3I_bEQK zamP5XYQ0G}#|nO_6!#`hoLIu%uB^#rjR_$tZ2me3^rjD2M@}AOb4OSo1Owl7F+5p1 z^2Z(B@fiNT9TuZbq~EmuX=(RTvBw@Pc1JI77tYK%F|%V%#1ss-qJCI%S&W?s!pg*V zB^ib3FPxd#ll(^nYe}BYZ?B1E6=QoUvq#mh(8Fd$_D*h`*}CH$+4?eBVzb}btlZB_4+=13^=outQ$y8{?>?Ec&Pc5#bV36hf0rtV}n%V?(y6P3>FFe1C3^kH_x` zcIDeJ>0TDy-6>xfpK9nVZ899izfE|@x6I2>)L@S#3h|(+gaV)zKGO4ilh?~duDP~m z39$uRoBLu)$G5o1FQ7zVM`S5qULzO!F0aqe+8mu zA)_8TX;t;G_j22&PN0{dfHMnPB|sHdM^EaLp5q^)Y{#}@KE9U?w)R@wjU7{G&gRdac-Z*3P>33w+V5w=UMNReDv~x7C)ab*|3?d)3i;|*Y6E^@##<9R>(hC zH@oY?4A(EawAbugXrwTJRRMq{w`(<-wh(1K>CFKphYx8A*Ckc!TyX!{du}}|2{@iY z6Kv6|{Z;ztB+9b6bhF)~KEBE4N%M$))X+p)*G941MO+vE+?K{yel_uI-$?z>IFFBO zA*h$FllB|_v|~qA?6ZY(Blb6wcPT=OEQOJJ;xMsUN zAl~h^KjqCcG!%_OMA^16aFYnaoAn49^v(>Aa?`BeZcd=CUb`UAzSy4o$US0E4{DVp z?#AV5{B-u+wBrhx+rywvLyM^IAg~ezs8ZH1{MY3g9rZu;?K&Lb-WtC?UeHexx6nY3 zqA%~?2C~2YLn&kC5T{u4phC#!A7M`4K_Z)$7cYCk&MAA4*60n~U&HvA5JQVasdn%o z_uGh!I5Zav+Vu&MFM3&GQuHB9=Q}SM!i)5P7ur`ARNFy-%ZvmsnmWZ738Egyt)d87 zq`!dnaTAtJcB2To*&bDQpoZZXo=vrxr`EcwJnG+DF_(aw!J38%9n#64j`B+!T#5Hf~dd z7m50KbfC(KderdG_`J-Q^f$zu&+vVhHh4M7PX;G%@j~Sp^z0-!BJ@v#g(?!iDzG73 zI?2~R-SyY0^PH-yxAfQwVG^K&WRQ%_H#6~;Uu`PJ3Gt4&G z&mJQ*dew@_IrQ5#0`R|dXpa(_x(n&h$u?jDc#gFoo&-w0g-|I%a11yA3ADfDeFzmg zcdD)(7X-B@Bb?RP6;ZpbI``CG0iDo+MX%RA8il{&Whd8k9rB3f>4;a_RjLs(~$9;Q4>j z+NgfFT*d!cxw8VVDsn?BCt;;dwK5b}%IK>f(jRPC!}&!5A;Xx^z=cZapO(BUF}WPT zx>7{6(zGK(bD9!)*A-rOC2`1=R-Z`fBk9q*Lu@sm4;Hyw_imS;_$RzX3n&$u-+7;~ zQtCWBsVk{~z6(oUFPXkYsj{~mklf%!pjAq)tbHx@FKOB-`mdK-ac0mJU$f3}ho1KN zSQeS#vP11F!|+WeG{L8BA)2(PiPeG>|HB9VATEZSww-rWp^qXCZEU${sfLFS!t)g1 z_1Gf%?3^fs68C`lmrqgiM?gK8)i!6QKHK1%QrLEI=&_(!!gA;J5VGD}?gYTr-uGQF znQ~=1C~E8EAojY56{eZZeLmAEZzwN-O+VDJS9-*~`~|1tZ*%cMmkO1?$gozImru8#_PnQmw_FQnZC|T$dl<*@6~5NhC!<6%x(6xE?vTk7ueJowr57qK7EcGDBTC;= zW54V+a{!*E7j9kQ?OSxMD*o)1bN#6Fd?B`76?^^2wOv(my%N)@j<;PEdi@Pkb1`B1 z-#9cl8UJha`Tye3;NW2Y-w|lS{|HC_Ps7fkTC#DZZE!u$b>)Y%hPDaBkHDA^xR9LS zV(~}lFANS413-Y525zX22jPZJG1?XDN7J&(--VXwt92J?(K;N6rH!vx?8&saW3gRyOKcQ&s4uS2adDlUU_!VkWT5tYU&$XV(*+Z6{SR<09sCTg`thWS|K+Py?Qbz-N zu2dRYEJ4*9^{Xc_HRw&^jmF`WH;7+B?GuVpEQd!WmK`>QVX%rRNBXh8%Ei#JEE!or zZ1&P+NgAn)XJ3UNey3W5Xl+(DWAQ+Z1{Wk5AXWH`>D6r|4Kv|EIVq=1m8@c{1 zvXH<4H3~3gR!PjPU!@b@fK5s^pkMuo-h@e1e%b}F)WgkYDcK|qf3Y>vf|vO)GK^-W z*j#oXGt~6D&HrNm@imC6gXm3B66c{nj=i2bGvbAsU|Aua(*hnPr`HN!zJ8d-< zPL9x?0)obid%MwM%4Xy^xhF>!fZeUT4y{S$%~bg`y)fQ5eKj%JG|d)PQt54$74JG{ zLwJ$9Zc*iJW?XQcu?Y+By)X(9O4-1h8DS`IH>@~rd#{@JM8105bwjuN_3(JLB%MXq z3iR#w`UDxZ_IYPNr?1D?_u9C=+t>Xuw^rWw`R{%#%T?L`{p&qTM@M?DWJV<4=(d2J+k2%$QrZo5t;&D}_IkdEnGq$yspXF0N`i?oz@zD0UocHb{zA++< z13vfbhs1XlhdiX`4(Ghot+K%P=yv&>_vRx$xGjod--|6kqBmZY;~B zYxVe;HIUafONqAFtDr@X0y*AVPV%77(d}ikytEw%pwA&cl&^*p0mLNF@aGB;Ee0Msv~!E|tSwzXFCN>r(*zR+LI=nsns;seq^cdpr{Zxspx$!IRpTs2 zhv~>DS=yUU@1*nitK4aFrDIO|+8NskYCMJe*>l481}uSQ-C z&AY*P(;r(IHvf}Nob4`7u^;^bu+sa4?;rE=A8M6c1W%MC6r3-KLKH`e&2)p)2+I_) zv*y~lUPkTWa6~?p=t4kVNRHCY##HO^)PP2!1-}k*80@I+Q6$^yFx7Kly?lkdf^-&7 z;dT}uqjq-0Z>SPpLgs{64<`*t<+>rA+8IJNWRWkg5-?1mhNbH76jCQDHmwyz5y}jy zov;}$f(5n}-1Y((-N$*aHzN<$BiC->d0lYmxt~sCFVWhVcx^{fP~&^Si$(jiZ{8ja z8fR*6D6(z`Qh?$wZ7qgvwPoEL^$2GUcqZJr?asicK`x2rZql;TQ{sQ1uiLtBHs^cP zYaKOjTcDKw^(NN8YORdoq&+;qd@6V0E&;R)uQ=9UcO_j-(rSSNb)Cwka{t4M`d612DA9Hu-KxNo&O zMO)c*WzvcpHm7~Yt^Li@bmmzF=Cp3tm^23e%Mf^*X6jF6K@f{yLHj4wptSY%4wvl5 zzC_S0^LG8U8!iv(^jq&(KB{^ii1oGa8TW^deQ;Yg>{tqSSxR26zwc}3CtxVg|NZ!o zeLbl2bi_2XuZzxQ>2qI_~G&fkk^(e&+39MC(rcr{d3XP>9n*W2Uw zHOEeHUa>8O2__VE$#>hd^7aM*Y^uy{eVukZG1@_K{=)skLrOVJTU>sR$P0$@C)_~j zQ6bYY$BNh08;HK88%iyS7p&?xz7(YjuZqC9=;j=r^RVO&?>k@TKbPxPG4WajG1o-u zWJA_kg+Rnip=N*MEa3|x(SoCb?vS=ocChuFou;e*|3OO5q3H zHiqwMj0gid*8ev{pLYC@XzIVjg4~5*5xE=_-Tk}cYWZ@yY8E1?!Fc6$ zhyri_pK<1S04+F&Lcv+H-=ZbIy?VQhCgfU44YsYIOJw1B0WCPCtWG%;B6kluw^Zg_ z2f3$1__GXRs!;}`Vvs|pAP7ITXLudVUEpovG4U8E9&z;6@0zAVKd`4NB8=#XLOIw&(j~xv+`Z&ACsQ`0 z;pc)mC0p<-4l#o_q?@5j2->^jKgS=J8M($g9yybU*tD|4^$CLa3Ju?bRxT-eOPO8|eT3xyaK6 zlX~Q#@L07neEz<&7IA~fN?Bqrp*S&op13Z?WZfR)dEtlU#|6V`vHxHhT2iD_?Gf=Z z<)bkcwX!yzaH1-S2GF4?AKvhG#-OH4)Qs@r3xU_Z;W|q0D}a}&yz)b4$=dpsiVpkOF%}xHiXbJ$IhGqE{})Zv+S2i?{zy=VSTF zAtbanvV!K}fu{ez=zNR}ES&#G>0@DMX8)fmeKFZnv7{4@qR*db4Jx$h|DHh!U%-RV zH=uPSfQVrG_l20>{4;XKZP2S~wXGIn1a#XRn7h6h`jD_p+nh?OE>~-nD)s+Wt@C$b zu3=8mpR};quBJGbF7!Ip>{OOfKVQ#y_1^33)TUJxtN8y-VWlg1-M#EH^IcELh~fLR z(lMR6RDY@?Vc|JPrn(FqzeYMu{HF+ES^ts`fE>KL|HBGf{Zmo{fq{YbUYq7RDNdL_AeEmFW zH>vKazgD3UO(wB-5nU5 zA~XNux@=4=uI6?w!-_Ba30W;NG;YK|*M(YjI0Nck)cZNI~ zQ)3N#HskvzzN{`s?{u6*lUBHb%}lW)y=2r^%6&8i0fbk3FqmXy&|%i6Zi7e zn^r}3t1S&oKghhWb@6gt_&mE%Zp^q(#UV*Vk?we{v>Y?V_zq z31GL5UcqfVEH40BK~VwR3fc++PP#atQ#iEu>;5qA`)#VO?}N_w)9fjY!2in`ac8f0 zaRG`HPZwVE4ZJx}rI)6&yHSK^qNpd*&c}y6s>nLyz4A;8cmvugEGz~Acp#qk0VIeh zD-wiwq9|m)qi%P4Cj?Shm~q*_f-(#n7H&k?J?szmJYHDpq$I_}a{!+>JAZH1$bu{8 z22}{Wuy)uU>`XD`4W2|v6$0UU8pV2A5+%>`W7c}sZFa%B3GD3r<)3h1VXDpqhC~Gj zr9cGv`)tlwJKz7{1t;ab@|@McqCy7&GcoEapr8g~FMz0{5I(Wn95eU*ZRS$egP~c~ z10^h(c?nC)DSif)^yU<{rWzy<&0=`rD(=S2(WS{zUv$VNOf6vtmav6w7K(JpIZQ2u zeM^8BcJ4_$NCJU?ir$q-aHSzvOG;*D7at~cvgb( zTLtJ~t|Kqx+8_<{_bS7lScyITa3lbN-Ri;d?v2K-KaVp}w8F#54_Z@*g03Z)il$Pg zC^klSH8j1nTcdzA-R|D?VQPS=@+`AlmJ`0*^6I|g4BhBYK~qZ!%l*b-dGGbk)y&Cu zz6e|k1lgh}<+)KU3ni9OIqT2V%zn=`I8x-h-Ljb_+a)-mFe^NPIO|TS2$U>?q#B<1 zyYS-3byU$;m*p*Mrc-zVRne7FvCAVISrx&JQqxG_XD5z7Mcs3+KXjG4YS=Pm^_{CazCGJ96q(Vm_rj4-umDp8X0{&FaZM|9T{*pCaz2~s3%Hq1qe|2_e9Y@;o2al$KHET1aeg4 zd?@Sf3q|uFGDIs-DnxugYw9jGgtf&y&EM0MRRQa}U150tGa=u6__C(Tdco_YwZgS>*TS%0`G0HpZRU`M3X1rD7*pjCb z>*eGudTE>}*FI&;19ijO+n1;7&gTb_M3LRd#FhJl%}dmxVD}J}r?ijNPX;W)gypq? z+XrGEoIfAd^G&h5a=CXV@H7YHFhFgO4Vpm%I$k32CqX6$rcjY7<*CoH6T_S+bFNu< zUlh%8Qy?G8|2$cxh%N6!TI4l)h~if%Qq|!N2dDn5b6RKE;XSr>z-u=|YMMo|fbdF9 zaik4vR*tv4J3IpA6bvBd zxGXB4rMeI`Hidvcd)z_~Sn}nua!aaRh7}I2%9`1;>;JZy`G%E|W)!?43@e)JtH zBPSG9B|}Tzpb=ifM32dQ3C1|&;2SEf!dWtt!kM#CXS?=*%i=mriPzNH6%pNuuc+z6 z%*A%DD&EQy&^{p)+JiKNUp!~27b~?s?5Q{W?x>*0F1*AH;HdwAI<>wX>Mt0fqAVJ@ z=e`@o#cx3}J58on)^w#%AVI^r@SR|-NgxCowjr5B@s;6G&b+LqkTz}lLms~oi43~$ z!c)$66=od>EB%5Rck$teanmI2!FZ(mRT=HiXYS*B04-t+>aWDnAI4OZv~hbtaX!QM ztYY4GDI?@-g71f^IuY9{sj6Q@(l|*Z_6qRo)xv3%T4*n(b+7)ckwkyUIhd_^69q`{-CKJAzs$Oq)=SB-r5v0s6q=ioK3Sb zEa`L!=%56KOQ6g0((LYEU(H|xBEFQvQ4b1cAu{Q2QQmxq$t4x327JL4yMkhNc(BYjnsi0owA+0H% zZ92cqthraX%{Qpvo(BG|;GW+Juy-?V7DN#SSA_-syG(aw{eYxJqN!N5mWjhzLyy5W zgrq?&i}i{Rjl43^uzD;Hs^5~sJ#-wZRdfMzEsx&fN%a#`OvTj^D`(h%smS+NS)5t! z($O+q!4eCktsr*qhdfzw&~ULGKl|MWVr=YSYs+auY_4Ot7rFQDUugOt0hZ) zqK={W%0gBuiY^#lvn<52DVTM(?DW?jFr91&QPgA$>nW+o5Hqc>0s2nUdClJWo#G;& zZXUPLM{2pMxPK|bfQIHV?V*(FFduCk-Cq0Bs$?du9HA5U6M&@*2+`o&-CqDB{?gbnl-c-#hKuLsjc%2dWYhNW zeC|@mD+0|TT18^45>0GWgc*u23oH|H44Y1_0XE!5vp=k-p<=sj z%#Jd?;PAI26s~MxU+OW6t~?Z*Q} z^UV@if0e%4n&p)|e+|ue7X1{U$clmVF@}`HibDsWxh(S`fSeDcD=L}C68sMlLu**K;M-OFe!G^ZTL_?Im*nAV6xoZM8XK3ndOsdj zK#zDwi3I$kf!94SwD$DTcv#%2673F}qM6pOI<5%l_FX zwY8Q0M5;FdD1D{2WFwR25NdVg%ED{a;SO$Lq$`15ZAF7mgO3ewgH&_$q}>^xPbH0CfjZKxzBw!duSM{=Ep zdjP8Q)%kzH?^3{AOYrXS=e6af4lJSJ$)#c3%Em0;@X>v`9a&KcBZT~emxxE=H zWa^L3W|`z#&IIgv8gNt|O(L2aVLFNQ)`?&8Ud@$Vz6@?}>t7nMueD|+ZmNz|8QyeZ zqTYU{@<#~eZ7lV=S2OTbXQ{g=k9C9g%U^@QBOU$b^Q43$DLN1|*1$hIgK^zk3&#>V(grGx`eU*V0v- z6Nbm|Z$KM%GFvPEWz0%c`eRSnh{pDzT?Uw`@Au(CYha13Xcco4FxNma_MKY9K= z7Sx8`WmEk{9`Bv2Fm^L)Whj$9*5x1U1Wm>4$dUb3b+5@9KU^>uD66Eub8LuvB%e|#xdxQ)JbG@=$ zuS59sthh`sfBAj5$yDz`Nzg-0TyI`w^{h3CA@DYM#a{u!bsuZ0yS=As4a+9d<@RuMb{)L&0yo1UV;FtC%Sg1)fRbOy}mmsYxp0qe1)rnxhgU=)Qa zKDRQ)ZP6D=u5mU!YTOq&r735BNG2Rd0{gEy*`3-07p?!bhv?aa;29KxF$FMzs#by= zoB!Y%bjDXTVe}VEv+(zx&+7?nxgUq0POMU~vPAcu|6I+}ZuhFB3ep~Ey?QzMW)Fb< z$Gmxg6n4Xf{kMBw9ITw2|Jgk+F1G)<=f%y*{h!|R(jTkg2GK1+uI!g?wsC0ZBkgac_-|Hh@p%H0J)>p5T=C`$dqK!WW5h=z5Op0k9 zhoNqnk^(Q~R0dwV?+#EeTzx9fFkz9#vAxkuRFiuyF;)!nsQq?urXF$38-p}dp(Fco zj=5S~OS&lKdZbl`W9d_3TJefDpPn7Hz+t|K0{?(@g)`UERALT(-OjJ-y!ZrRI0t|C zZfo&`PnAyy#h_V7J)88Ye4$hjnpB~$3cdKCO0XOcsftJ$_z59CjCMy}$ir67-`R3# zxVseQkeZ}-KxIxRDSl+{BhpV-p(2bUyj2wZCC)igv|2Oe5~qwRhuFPzg#3IM`{;(Q0zsqTTlN)xoGVgbn5@q#jOHE>k2 zsPJ1_767QuO0rE4Oj1&Onw`qb$eryISEQH`v(h>()+AQ6aC7<*$a7@<-7D(AIveBR z&^jA7P)wSTuJCID_hoHIMG(oHK~ii2cjg$WM^a#dnPmm+CD}ZF&GWP}n6CVJy4WOV zX2P`c4b;)HN+~F+piq_ON_=W6Ds!m>lkMm?c)p_0g?oQ4|3TNm)WXn(zqIa`HG&1T zcj=)u;}T2_e`bcrwYoH>q2x_@p{(+qA-LEkSyZSdm(fyxL|V4AgWp$H^4QBmgtm41 zs7d6{*2>w-?}gmJyS=*+r|0{TuOctErJYabxr1kN$%AFrJG5c;M|W3jg~-=cfQ;_iag)VBzD#`Bz^#5YhHf!&`>gh{_+uruDO%Xc((4A*@_%# z8tmeAjFWE~m{nA|PpYRb(Gi^DrATXk1h5G%?t(?Tsb}6mXN@9a+1D|usF2%O-4q8< z{+T~U;kM}3fd$o>RE4oc)?7U51?%4S$V)hV#Vpz&STgkP%+9QE@M<_ zZYzRD@XBo)m_9DO`E>4A->pLzyVb2z&L(G4)c}n!AZMKC?4{eBwR!s9X>31H<*s_^ z?Z9v-+Z&KYH(m(1)g-P^vKa zf4qQ;;qmMc2j0egi(=Eliu+~_Z%s>XQU%LgA5Rpbw3(DYm=qlI>=`q%fP6yN&gJ`S ziQc3hHW`n0@fZ{mI;KQkA^i>@)uevp4Ky~0u*zUry60?ko&y(ZxBuM4Ed?5ZTiP(s z#2z5kE3rd#>y&Lh1Nnqv>((+13^rl>UpzL1n>bZ~`{e-BvJUm@JEeA&x4tiFJ_dtn zryvjpcv)0faf%5(cDY`t+JdyBvnCih1TnnnZf(enIUP=dcmhO_v()_ z-cF6z<#>5a5l*6E@q=dML}KV^8g=4HIKLnWnv>o83;uNZbS8>;Bz|a;O0EgiVC97s zhDG3Zi&sq{qOBY|97#FS*kb^t)8l8o3ygzhS{$; z5fIRzEdy4dsnckA&bPwIEr7V+TH28U8Rf)fv{B@ch^PpPj!39r64c=HOseJqW=i`& z9PCO)haBC^b^z#2mUi|(bh5iOK!!oIBF-uF5YSngIJAp#+x~eb95GkOlJ_AKyg?Sf z%l#-@d2|)hBro^0@x%RcP1k z4O_~LofAjr;XiCcNl)>roMTJwq=lHEj9ujkGyWP;rLItcX;>RzuBQ2sUA>&Ys0^#F zoR2^&tpcU-t_-RIofG04+&j@Wo!wav3_lRbj+ZoN5k$-%Ls3aqF6=khOz&#DQiWVC zLKytkvj$1)7uVb0kofkAL!t_8=LbiUT&Q%3e+;L8t9>(+idT_V?NJ<{pys!eXAzGS zoWwOv%0Dj?P)n>4QsMYPiU+p%tL;5jZR@ua`TQNM6@t=7<8D;gii!Yi9agTBNf;aj z(KQHXZOm$&m9${!(^*VHm!E;x*#r}z`W)9o1Nr#X>_To}d>FfOA%tHDw!qW#c<#`W zU(!gCT0?c6@C4VrZWWcot-7;Qs|E2sK-(1_q`Wo#M0e6nWmP5AiNJ6|Y~3F(;h0b)}KPwRvPySK^{N&V(x?;+rnZ zdOq}mh^JM@t?I$7nbpT9tZkj&(rAqh4SG&<&id&MSgRIJQTA82VYlRnhNtM=nN1oBS2Hlh1zABxOLt43to@xzQ+B7_YuMv=4udZ4q@I? zqQ5A`o*>9d9MBZs^fe%#UP72HJAS=n{th+ewa=}vvPpvan#cwLBsyN`+{Q)N5E{&Y zPj!%)QJAL|>9L$IKJx4bGKC0BHtip7pKj7-I>3Y$T6f?BjDwAW=vGC$c=I7P>}Mpz z*0zJ7{{eAS2Ny08^jBP6uW6Ko(5CPzeQ{Xn?rf4H&v^hDyWY_XiW#NHEZCW?lj~OA z@)>I_)6TF<)!7&pjR@N5MW<;AG9i?KC3ut8n~VmP(GHG!b0oB>(vPhSuDrSI0Qn!wkSRgFbSQy{>wu3tJKop=Lfx1J>e~m{q zsnf}jN!*$XX3J?OoS$_*??gtn))=|0Eaeg0HpWsiL!Uh-b18R?H@GTJS!Fpq?PVHI zG=_3-OpIr{@@+0z4k}(O7f!2MdWdk{9XG4ZB!pk~!+H*twQ=|jQFw)5*dBN`$K2}ZMDhSp&&KeMU7fH|# z4Jt_@M*Pev68viw>KH!mm5w#ahhI%O}!xVqDt_son|E-N-fNH$~y!`Kdl3dv;=y!5^=Ua5pfe9Fwv@I}%WU(veJ5?vw<>LUUZwTO-ziNR`Hn$njN1hJZssTuflP$(hYyj>(z!as z(jwr=E@mK3@7q)RFw(Ya|i`4BCIIsr;DyMGW*FR>?G;m$#HUH`|iVD z|Bv3>K?;^cX-bNgHj5adqPvy~#a>u~Au3zX7~sOxAGh_R`BP@mS3fUkM|RNfC2!r( zZ2HR_F}}Q1d|GR7KwBYwsZe$Ur$WnsJXnVVSkvZO!6vqol~XvM@8E4eO+6(>Sj7^E zCV*mNhM=!;FsHr{uNAI;$B8-k(`?L;&2;GKnxEJI-iw@+slvu>UWZJ=5nCTmBGyOy zbWT+}w)Y*iXMJB!;v@OxQo(5p>5m+yLlRHFoN(b|c6>zt=E0-J^`rcnw6K1e<5dtj zY@1-wXFnsZZ{9xx`NqBlATbU9WjsgJgyRYzsZ>4 z8h=R|oQEz_wJbvC%e(3_yi2z_a8x@HejcP>7XO%R&>EIU#pjD&Pl;Rf&RmvRRje<` zAg91psK5J1b8q`xtAu^>@)25;W>TysS_P$-0-2g@g85teAH_6L>KOgYQ^f02^sV9w z$*Wb;aY;loaH>fZIOuYorOBR`KVY_#ziclft+ihsy1!>kHWZCrq-;yVc%OWXLMlPs z(vcb5McMWX%SG1lqH5fDpfny2v#nv zKdD9?f7y8^V=^Ih!uA3tWMXHXyxsXeLz@{)j<1EZh>>?HR-}|Gsdk+njyJT{DmZ%3 zcn`R@^L`63YIk3AgJK_cHE$m58wmD12-+K#eY8rAYcqGQHfSvkPvG1PX~KUO9-lLPx--cWHs;bi`(@OE=H=|oUalQq2*Z9=ER`1d7 z;~A3Zte7z@c-rdo@1|cy%bd4N{vF2s?VS3QuEpXkV>k)Fks(Wx&N`4r(cyCWU?w(UEfO->+kRqR~fH)>sVo{I3buwvp z8;^VvheBO97QN!z;5Urmf z#k%k4394?rtLDvJ|n* zylvKOU7Uj!f{lK*Hu^M}|LeP5a}Og)nbAY$8wyfigRe%?8?P=( zgHzrVeaxsVwkYa>j#-V<=yPh7dinVt)lfz4Fvk0_+CvPp8ypAtrOfhO4|vU~cZ8D! zlkXxWd-Y6~lpP?`G?l0bVY(3M`7z=5ifMX=hM1+? zgVwDLnru=`%!+2LNQHBuw^r}*s?yVn`}egBGp9bxrD;uaSK(dmrZHAyH`$Lad~2}@ z>ws~YkqXc>{5slTYP?gPs#wXDor%qHRj$ibpOeYOkp)_E0uMWyg+}vmL`%Mbp^M6w z?c;sR#+el{HmTqQ{=9{aGzP=a&6rV;LETNAhiA%zJZ8pT{GPSJIa9xT@_ntWbxA(7 zkPkAGL?St!o=h=;9&5u#27bf{oES`m2poFL^f3p0^rINO(EM@}6j%yc+j`=X{BlL3 z3>_gh2p!}x>I&_sjuQK>P=d^~Q0FR{25uf?rka{CMcrs>1_kk0G85hioVo8)lV+Sk zV@RwHjhQyqY?5CIP4~U8_s8Z=P`yacNYiqkFP&dTc7U_1&%Pkc-vlO$l+WJ`9+Dqt zHYZLe!aAEfk)9EPh#s9zZ=ZuYTA!Yu25%EV<^f^3U)MXbCu`S};2R)qD#MVvxm{k+ z>=Dn?$rnq`S28yq3-UuqRt2NJ4D-@yYfk4__oPZ1b=dyh`NkegptPl?L|->`#%K?lGEkr+<0C*6L#GyjlBZUF)qLb(>_^h{ez}fVGrXa9z4W7}4i$pUipoOK*wJS7 z`8W@W#LS#9Tzh_HbqxBnBdkbG8NWC5`bm^zGWUpz_Exqs*2#^3rBI@Plsi`!wRh7F zk>WB@V>#V>J>m>;J>oZ!a{Q=*p71;*dn<2kn!uDYmHOQ9(Q=;pvNg zR@VkH61Z>QTFju4r;I_-r!a|sP-#T+$Ui<`{763SZ(729>W}6bQENf?>b1$5!wDRp zUFSrZa3;-4sKS?Rf&LdnUuUvb1(N@03!zhmlHiT$S&T9Znnrbi83RS#iB zGzD!x5-&Cz`9%byH|_f9v9kK^4BpY_j>SyW4)`P=8E^Y&6WIb@{59p@`VhEWAOSySpV1DH-8sDm$gx7p>usP|jNA zM}KrHJT-P!@ka>yaH+X`dLE;^YpG0J{7h$K&QmNV}d_m78o6U};aRe}%g05*0ZT^H{0tDe-MTn?N>gevXJX~XvH9#GS#awI(^cm(~3}V0Sgv=A8j){YYP12Sj+J~*ZrrT!c^$d%m{IHPG<9JoPMueOSpcF@=R-PDG~O~g>}gfj@*V^wUP zj%QWk)M;SjOPZsMsb0*dY7f1*d53iZ@o6Kr^K0MfKhT#OU(#!8jyNNtwt1P9Xmc<} zy-~6-8EMC7%yx=PsrY^>qdcA%Q;0$hr;rbjDT?<^&#~?$7FY7`CCXOvpAco)1|mOs ze&6_meGKOKN#|of>NAY;==wRSH&Cx+wKjYHpsLqVZ)aq5=Q{8RH!8?auX)(&=U|%` z>FLu_8vgn51)=4ML9@|#fIz1{b2g%K8y68Kuk^*LdDMeJXeo$fZ-RMM*hMqPuvv1O zaIhXR-EA5+BCBOG`8VQ(X}ZrqU=0ua+yE4+E95c>Ws+G4xE}zIb+0I zryb~F%-?R`biL7HaVf3Rja$OU_ii1&kFcyf-2Ex3&O#5Yos#uFcxYLs6uc&Eag>>L zn&-!!{W{m`QyN%0kNou^T#pCqu*s&5l(aVYXzb1Jtfmh2PO+oH5SIr7>JABn8~t%$mbmwb1d>Dmf|;TvPx!SEX`G z*0PIu#f_&{==SzIih`t%uTIUxLc>K!;`d6cymIqueiYsh+9cJY)=%9MFqk9gX6Iui zS4G*Tag-Rcl&b4}CKzF|zEK&Cy=6ym88Wn=RNm!FcwmMRuxz!ST7;#0^oGy@y7&9T=W}w`ts7v%SZ)|&guTYk&|wy93J4zo_c7&o(f zao5=h^8Es`V=NEbAiDOD65vk1=#81!yYhY|dUxGyI>rN@L+ANuNY*Cm88QqzfRnJV zsS_(^Kd<`HGg-sS`3Lh~X?v;QgQ<4@S2*1MsDOX!amuS3W&q6;`gnvcUe38DFA#Ug zdCGZyI)0a$7{^31R*Bh{=48*K>vboU6hnzk=WQW8m(s@~!TwAka8%RZvd?UDTPDY@Q*2Ji!oGAo+lX| zNAmeSG8uDfIk9?K+|L#D&Qv%7h|$I#dxj8n4(-eMJbVw_JojARC7shQR$FTA4jIm{ zZ8omq?!m}9PtrA=IrLa~%?uSu+2DhZx%g#qk&Ch8ZOUhqXG4RO^a=(3Kgu!aXw~!L z1{Y$-k9M!_X(%Jc8|b3d*bm^7bK(Z)e`ucywCHEh-b>BDGkvn+R~dx zk1kiuAfQTy#LQv^%PO(>KXBiV?!(7XW}s3fzs1aC&6oY89e~IYG^L4L=0Ay% zR$(79q@ZT3@g|DXV^4HgE!Xo-pxH{mm%9W5>3r!fNGF|bLA7$vgVJ_VXPqyPk58_T zCu=)vkrSPUYtJ)M&yZhHzdX;Kh;%G2KfAjYCm;RR>wV!m=$zU;%MJS8`83fhRM~d* z*yeRhO0wSG^0YNF7@4cZ5!n88dZM3yQ6KL7n7DB!5^&OoD@5fiaU+t=F!S@@Sv#`- zzt)Z_u1@A2APZMAT4!@h4GSG6HfBy%W_DIO1Qsz5cWWnCS~?aD8+UsP;8)$l%+>> zes)%N;F3F5ZgzG~J}w>xRyG<|RvG|L(aHS(grebU>g;S`PR1f-YVT%&z@nldslzPg zVQ+6{>gf1NfQGe=8yWETHzABTd03VM^xtPj+r*pa41qVc}O^zMg;LU8M#) zBCyChnp=32>9djnI6Q_3Eb2DC7Jr2iShUIX*~mD^*Z`=Slau=^^!4Kswbx9RPOs6| zCH-quf=pjfQi_j@<2^4sC+mADR$g`~P6;j!HVFxCZZ0uCUUnWyVY2@-3Q&`Rg`*YF zH$0r&?El$?Kh=s=Erp#?hRgS)alT}?aXuT@alX|bR<4KeLT&*k#r73Atlc+a8m8@7 zb*4i0A^G-qwd{?u%%SagL=Y61eW9^$RQE-zE3NBGAXqFkWY|k;t{*p8CdxLnr)8c5 znLL`5(&dV$2lv#<4S-+&m-Zkv=CSAV2=H4AkaE0XlTJtl*lIwymKSDcAcwHc(&ddM zo}cM)MgM2k5gp6pnEoZ!K^@2Ay8af{iA8--I^%dGbRl>>100Kk+w%^zGr+84fFvKM zh$rCWLdVF_IJ?LfJ7O9R9vc|fGk~v*BWCp+*tXRH9an*8a29&_K|kZN>zYZp@!A}Y zi~8ehf9O<&VdC)grn#02@{KII#Oj-7f%gUybXQRX;!Zd{XSbCWEsj&b6gYOZD~rUS zNT$<}?*nE+q;<`xH;Ds!;2IP?K?vCR{??fO<||WBY}`o`-piCK$S%HLy+2mak!5FpEct;unYZ6>MysO9kh##x8pyLn! zHO`P5C%PkoXTXR+--0c2idv((h8@SJlQ5rSdGTkU;SY)SA?yMBI2O#jF>8Gc0YEWc+KfS7wRVj1P!5kB6T|Hyde2k5r} zjl_Mgvj&}g;c8sT@Du<*J|LQS3mk{z?AQSb!Ahv> z*4})a+l)PX(mVIK4HUXd@;lQ%dBRylSTPakV_1Z5%Y%8`f*|@JUQ2k>^F>4N;qfAK zC&2#0m@{5NmntvJ;MUtOAJm-*#=CTRQE|603?dkuv1__vorxX06q})&woq2XWt(A9 zO^oTQ?|F?50(fC@H__WaM3y(~nXK-ywMRHV)2DhqIV!Y+#mPc)3@dX`d?|0Ga)$@g zo8^^pgouCho-J7%j=_)?a~U^tRhE|~t+#7D478w!U9W;#aRnq5ZikMTWQyH3uqTN8 zq`(Y)J}jQWyl4H6s6W3iE}6FCwsBmLPA%%E%Pr_#FoKnP0~4P}9))iFj&B#wz#9|| z(ymUV=kqJsa$Z3~IaEe9?|fr^O|2ESNqZ%plB@|O`BC0lA7?8R)8r=7Y_5?LXQ6F@)I6mBzy*BtO;Xk$Ndq= zlX^6Qj}>>n+g}F)(G;FB{97$=YDYDJaxIcpmz)lCr73b%Br=*`1;xe7ZlU+0)Z*JL z@*CZzUg5<|xs7_}Q(S=>aH(F{qR1K)Slbuk*h^`-{L5;toXFkDMXk8WPq)jcZ#Z7y zL_VK4%w1rO2W{gxft9H*4OV>syVgQs|G#%7|(`3{o?+yKR3wie(XT7+= zdpKL4-&!*d;ZLI)eZWQTz%d?e0aeI6-Z7 z)V#O+8z%UMUycWPlCE}=^Z_;wf+380N1}vG4h?;i%Lx3|K#GH%8-2ii<+kZ-tT-$U zMGpuRV@Fb4AZ!OyBv7N2Olt>nkodjbF5AKDbLppxDvaiR%lk<#jK;+ZzG3@ZjH;T~ z`lBcV3Sx%i1#maJUTUu3dmNxi$4#dYGfXA=%A1~YJ0e(K)E$!kv3EE>s|V+e+nu-d z$)CfCA6V}=i(43W!1%QrW}W>$u~+i~Ud&>02U*X8j+&-OmhY*GH4)9sh^S3qMk6d( z8H$m4c9`8vAQ?YM)-J|2)Ell?xX@Jv$JYuL6Q_C~|I@i)*R_z`;>g^^4Ywl~wM@0x zjlC#~@E4sYA-%N%#S|ihiHnGTYpBr%dQ(D=3vbeNxk!{WQCPAwfl`sXi;}{Z(0XU+ z@gnyCG|ZoyZwx-jJLA`Mdo*WG?`}j146+OI=gY`>n5BI)yQTR#bc%7WGE)*p#2nFj>N&Kxk@YA%mVRUr*W|_mazIXPtc94St zFTPrR9U%^(1*mW$>g!8{jzYPC5J}VT=}9S2irfW3HmcHvM9Sr9 znWj?K0NIf1!))`%X(y%x_|IG^i_HjncK(}tInMH?$l+X4;ZL^|7jWTRSo6)Wg*_d= z6G87ykzKe*x}SiL+L@^v=Dpt}*$OHh1O<61l+|p_lwJ_zl+M1yXGE#Py3~+)jWQPv zWN9enwp-3|t$&WHhfFB2qfu`Gv*GLviJ)9FlnY)VvT?(pTvsNXRAQF5n;0pKz8$>L zguR+uDsTTCpfCyzd!;FTHg{j%{*VPSBj@$~%5U(MS!pkx#>|Y4*WfGvX$`aToUz4;m)e-gKur8jB+k+RFV7XmMr{TdvQ)z-T&vU~bL`1P-% z7E$R;mrC=(Yx%Vc))}g%_%d0S&4t*po4EP&@K<4PXsq`0_ts+G!ZNz3rc*{sv`R0PU(6J$pk)>Lyg0bz4n_Qh zsVTXr>gnzkPJ*k;|HzM+X_=~DeqKfvP`_Ug#>KqImpn;{DB<}C5>%cee0qKZ*%BL|FXB0(Tr%D*@~K! znKV1gfk$<%y@7G-_l7+yX(GkHB&YP!IEdbo!yEb2M5RW#e~<#L{V?n-S)F$leLal= z(i;TAI|+g^8?sz6{~v}jshuJer`wn|WFg(h8oKCTeaMPJdSI@^)SzUMam2qU8=xGS z>Q+=46QIUoMit=S!4dTNye~)EKF;HYiNUj%Nv(dNAVDvM+WC{4m=|IVLyuo(o|n`; zu2J3}xzhD>Qj`oT1nH(|xLb&g{9}kH%okLYqTy&$1vv9f4y(MR5Jng!ocSoyI}@TP zQ)hO~@y-P4Ulw_NA$TxW>U)P)pwPQ+Dw7~*HciJDe}!Kbn{L+5$SEA>E*xk>qUd2+ z<(HfGt4o7pU4vtyNMUW|mjJzR=6PR2xM5J$_B5kN`vTSfbS~rFHRB7)rY7bLRz<)7 zF*t&DnN;N`BZVQWy!a61-0mZd``@U85~sV?@b4nL$}i*nKx|^r6|68j<^0?v^&F<$ zqcW*Z_x^EXp)IVW`$fZ6!q}MO_4CYa-_US+LpAObl%F>wYq93Lk~Hp5VcEd{8mNiw zgTIwuPSiDD`7XZIHvv`r5fz~37XKogaMiD`z8CpysbC+;YfMBFC2jb$xG*5$|6t%U zqPv~=1?SlsYe9KDaVcQ4;aqwgDu^@YXd}o@f#}W85D|VTX|+Av(}6xVUPziPtS=F6 z&X7`uPs1BA0=bd$XkSfc=bZk$SLl0agIU~G^~JbOoMDMw`NN4zr;UqZqBxbNRRDX*w*!2#@`Gp%LuVRl4IUv_2@W9v&Gh07 zm9>V$65Qa?lJqWDoi7!3f&8a5^)`lz^0s=4GYo1TYn@TL;fi0OxfH+3&M|f3Vji{c zqpmK)*=DYPtY~{?x76gRZat_btGAI=bW)xZPuyV^5VM=%iZUkM{uv=u?z`)^!`zyg zkW0AT^Z}~e_fXsHz4nYWS)j_~>ClV=7RV@dvkZ z-^V61EsvR`%!DQnI!)3iU4=47J|{)5Za2w? ztRBQFo=<$(Dr;@X7457aWGe#4LNX@j-2c2qf5~btnd5w7*L+#088`0L7tw^X;a8q> zx_4J-=SZ7gWHk2QQ9@4;faewFLpTt?9azL04c28vIB@%xkpb^!LK64>;U|xo88c(B zB&&#KmKEro=V!;(Z*R4_$|^~PNb2QH`Km&>YS}e|4mObL$xd-Whcm$8V_X2No;FgHHYFM)jH{i$hn85P#lxZ-)gpm_w67fE_c zrQ%tMgF2zhB`UW-%0=ST*$q)2s>+4@bhyS-ZYKd|`X)l( zgwnz$%xZ+HVo)99DQ@Le+5!=#7cd!=ofCQDJ!OYS-9%qip6gsB#Y8pz4av2h*mTXS z`Eq7uwoPZg>9wX;RjcjT|JBAK_H~Yk=2HIS`OaG;WAUf>yf1<6 zocF(*LaiUx-HrL4vh&hAL?7BrQHM%9QEy7YCw@EGiNZG29T9cU-JFdkhH(eQEFXaa z2Sw=v9DYB2S;Cb8vT=~5c5pxV9vDNU{F~RM5?AI$c&OlO7=WKh9`jN31z#`{H!tcLm;ht^lFwra>3I8a*8YS+Nh|)BMPY^H zFrgj|U1EjZ?-9&EMKmF24DGLdo7TgwgTi1!RTVl{3p3xtuY*cxLSY{|Rtw$O!@YxssqVjid_}KRf{vSquLo95;tbWjUCOj4GV}-xn6c!AQJclFc#q>s)*yL*uMl$MQ@J4nbi)`xZNS5W` zxcR^5>H}>2=QpBn<^4H~HbOXWQoYzp!W3XXqp%a3^AEXyJRqA9``-XrnC|H zcoAlJG5>xbF*IM%;a8yvo}`QkZAkvx2n;;A|NjFN7xlupFZU;$fp!*fliez?;>7>Y zcuEbf5W%Q<{{L(Ef%)D6ZCoLVJjW85(hm5{VBMU^cc!({Kwj*CQv^#lXqYK=gA9Cp zskL;2oY?`;$WkJAPHXN4*)mZ1V0weM8rYg>{#(GncW9x>zufR-S(&fTFMNE}zvSck zS;EQ3A6U$3m|Vc+cUaPb`}qT#n1=2GPQAmTJGibtVBW!J{y^#yeYr=e$)Nb{io}u|JC~)`)xO}z`H*t z_x|jwu)EH7_0hE#w;x#7Y36w@&~9AEvP zW;!(m?k|`!TUzGI?F&%A=JD(=T0(;SVcjj5ynBu=U4Z z8$GodydTA%>n&V$^!z-%Nvm`ley}D6O8vj+e{^!+H-@^WWp|<`9sB>m{n52cCjUOB zKfbofr0@~{<7=NxKK=>16E#t7-^S0GdiVX{uc{4x zucZ&(pKvYKH>CWe=UrCg((C81Y;O)WDZQ?GrMz+eoY!>=R{Z8%{!VE2F730gejhwK z^=tD3e*4#Y?yG)RzyB3z!S=6fVI5P9LdbXb;IEe-q#xL&&G}kScFpdPwRNEORl(1I zyI;df#Z9mNjrG3Uf2vem>{>p<$I?fyk6iCuFC4GF&#z|g4=W-Bj(Yr&|DBs&=2$cI zp`nod^Isl+{(p8fdtTLK6taLT*?>>jfI01u&J5n-1idrOKQ}Ol9a4(m@lMdxX@0ta zDeRC|1aEeN?waPW8yL+Fsomg-PSDP2e!GFW?2z7ygLyZYs}tox<4*#72NNxr+#gEF zvJBE<+WSE4jF##GdAS456)gP^Ic-|gKgh&6u<1V( z-P2}1;c#@t^t5xQyfUA?k=OWJfAGef+nBTJ#U+VFB^AKwZ!X|Ov$>@Om#V6(zZ(|- DnHpgV literal 0 HcmV?d00001 diff --git a/_docs_/_downloads/f482679fb1771f4d05403bb87fd0cc34/unittest.pdf b/_docs_/_downloads/f482679fb1771f4d05403bb87fd0cc34/unittest.pdf deleted file mode 100644 index d04f0545b0b7e6419a5d0b0ee8962825d9698b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 428400 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 z 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%0A$&of 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%0D9yUW=*7} z-Cq_#&hb@^iE#G)P|+?wU(|UW7v$KB>R}SIuOmGBVz-qoxc{f)Sy9&PK~v}w-e$MRa14v zfkdZMB2ex+xXNa-8tlFm%2$+zj(rb_#ocsmRnfU?UDBU*5C3$v?w@XnRG&s~Eh8`nVP1OyC?dSxt5-j&`jfs%+ z*oJx~zUEn6Pi32kS=AyaB&KKRUv zAOK(LDzIv=P=8=^PtjhVb0S+TFK`xA5inL>b}_@L1~p-QLV;9XL=Uz>7-_SoND9Fx zK??+1!|R82h~g8}gV7=R9SUb$=3U46K%k}zMRwUM zLDEW|+r@BG3zaQbMLAV3{B#Xb`% zu3U}W*-`guck8k{4wk~8EN)t)k|`7R+Bp^ZBBeIXI@A|f!?tjDg9!cC{bK{M$c7|i z3Op)6v%m8__mbm+3s2a73H2zR+SD{z)m|<8J{dd2&PlY!rr1=)+LD;zR$v}?f4G(3 zR@p5fuhgcx%MCa?)oGv(H7n@#j zzCY->GM!Ogoy|)0eEmN5fBi4s-U2+1U0V~4~vj7&FGq%*@Qp5Hs5`w3*p4 zGjp4n*^Zg*>Fj;ZnR(y4@7^;rZ{}0CYL)7jw6wIODzP9nnN&%3dk}JnsOsMIk0Pu) zj7F~$l*1U}Njp@G>7S5mq=mw72|H^vJM}o}%>hK42-{b-W)-CL2ljFM`}bxI>T<_V zj50Vli=Wt~I7a8NI87wDa)?DB_(ok@mQx|J1;V=&HM(Wnlt^dny8ElI6QLNHz|DU| z;_U2+mi0sS|57(A0At-X&~)=Q%_7rsfIbd1$xzvE>tW6ua~of?z@wEg8TPaq{&vID z?Z1!d0`N);Ye-y1^}}kg8APi2B0COGe&>r&T25{FJ26PRfbPS_xTl2xjt919J2~uc zuH!HAkX;!?cPt8T%*Ej|)iYRkU|wY?2Mk84ra^ zOK7f0r;iD$MfB?ldOj6eZ0I%Rqx|CK%PCGafvh{( z8SPdPxz5WLmBKp0gwx^T*QoLdRm!=mP zguMow;b}dk(do0>1rH`%t(aZ482xS0^&9frFbb4DC);D_h?tGQ%a#}IHy>^Yla+Xq7%*0nUj3yov*)R_M%SqZb~>R$2EtK zT8GS)6(@8Be!<$|Iw95HI#e!Eg=X`3-d^p3hc^-~eB!Ty2b+XBgv?;*mt}m+%)3&i zrt`HC*)Ms4nqKM*AxOOwJE-M-V_K=ux*^I`;B(ea#*kYV`CvD+A4W+;YoEOn$3(V!3i-l{26A{sC@M zG$$it_IIJxifrA+Xw3#QIyulr-Khetkt$*`R=3mJ-B0DAc^HB$QY(`WK%`N;Ns@ycA62oxkHM1)8N6fb3l=n@dTeB8}Z)N{3K|( zl!(Xu^{xNS6Pc=Ii-=oQ?i zP8Q3%8Nj2n8mGFFpu5al^}}@yfavadHJY)C_N1T2$2A?$!S;*t9bsR0J+Xq}$N606 zJS}+88K&AgEiI!Tq;?91ct^j$wXlTb3UhURk$P_Dw%@!>y+G8;tgdyrs+!#jhyNNO zM9QxbGzgV;xim7!5jM`L6~}7e-JjrC1FYj?xr4S80vn}usvh)ga4kk;uDF{w6{s7& z`SgEQrv9ju@Pa_tyt-6ArF+}y0`*XMyLJahv#^K;(bN8LQ3N1j%+2dHer&`_nXj~TETb}tYp9m7MqE=1d$nZXBqpOzuWwrTN+ z`Zj7Gx%vH|z7lV7Vgw(2gP4m%B!C$2`;Ex!LWYdvh{aPz{wbLvF(E29(-!U}+m4+m zu1SN)!I3zxW-o&@Dmh%l#6*lJhBI0u{!pE_MjSPg%WzdT9!S*l3VnJJA>5xq)ES6U z!XY|i;Yw6eOo^%3p&qXU4Dw|c-Z%$~-^BlfgghBvkXMKbQ?va6K)ezsewjVBpFF};>9-_bc32NJF81+;xDN4yh04xWtagNPk?mgM`~kc9DkT0{dkQtlTpKRPcURF* zYkm>*x*vJ$sc{uaWl&Y6kWd=r*dgoe#(G({+;TW0G(l3Ps;E#VoFyKMZxzT01B634V&pUXBwLHHL z`45`3oJ>srUXzxCjs2fvkOWK&%>VYlV{p1mEb$@9I2`YMMiR6Uv=QKLE+opAv{(Ah?G<>v!s49rfl6X|%P6}8os``L z!p3BoNxloLqMsEA-!eT)-LGu78Sr}3Gy=i(WwHjtL?D0j9Gb&r4_2A(xZ{AQiBK$j z>dH^_*Zr-);cjkKi&sSpO9c5%kb|J=L-3&e@7-m0hlAm0H-t|Am=|cV9s+~|W4&4` z2MGpuB8TnN7NSJ_O(pq}?N|hg(J(3pSqd~F(^v(fkyv0DGJy!u*HA6e&JXITi+S7~J}F6)Uh~U|QuzhyCMq#pgLX;&JPOWgLn!v)a<}Jw zs7-;Hy3VX56V?s_P{Z@#`}vTgA336Xock39iM6!xRW{hfPm_3vBC3qg(XuH>c0Oe? zZ@q5G@}Wr8^dB748dzj>r7AHyJr;(nm1T`OC{>!CTM{oDdUjghafOm)oafy)<2A@8 z7_Myv7Zn1#p%_>*13?|Os9{9mGoEj>nqdcXlyjFl6>Wkjj^mKobFHVCiAu}I-z9iQ z0Sw0c^cE>NW{15^KHY=?V~)hQBApH#5#F`yk7TfTRZ%3_j{b)FQXSl zlk`=SwxO}U9*<8hlEGDNow$5&kKwwbq)qFu4=Wc{ML>iNU*8xnPH&%mtV^CJiN^lN zJ>8rRzRv7A7fpZH zM_7oQ?yUbP5+&~vBz(4CmNI~izSck~^H+p9vVUI?4bF!`{SziK?L4dB2RuXzey zomPLiKLk0nYu0|C(WPdM*p`{H>gA$|Y?C{(aOn9Z!&8bSWV(qq?qWYCxv?Nt zyo^16Z*Q(ausuk_tiHAgAaleyW3i)h5)YWOkZcXE*JRWcF}iH`Gn?hF|*H+u?Bn(prYNQMIyj?>-lKt&&KX0S9 zUZdcY(&&4L_vK2th?PBG2>W5PnOeR!`Kl#p*yq1{6V}VULHN)@H?}>83?Hi z8n5umUqM%*eJZHJ|@bV=q0)Fh_6c zx0nhzNU}&`6|nM}sgrOXMkZiGKjJLFGP*>n5}!nzLvXb*JG14^rbm3X&AGFMT+C-y zmWh{qNL|A*z8mOB6~Z~?Wjn|Jcv2_yJVlXFq`Gd%;yr>ajDD>)=lS$gS3^5(l$ieF zIb(f8tXLYNklE}F!4O;MncKR(q}Fqw`Il>1-uey0)M^0-wr(u?_icx-n_4al0Q}!A zUeRsFOg8tj*Ksc|Hz(JcPY3M$uXk05zWlu2yttUBFwz@5-j7!=PZuft9j{Ki!Fu;w zh+=P|VXcV1JR=)?llVS9+}=L!-0f{|2P=qOFppkj7Z6wSbOoeuum?|9C!^*mlRj_s z&#Pz6Q1d)(0Fp=;8}#OowlU_4+->+IR$zPXuaNzY%2ut5o^{HqaJpYhH>|+6+?tR= zb{6BXHY~k{0bKPTlcBRa$IF*|G?g~A>eOyhl?bd=?$untw*Bs7xoeovx!m)(pwI3C zYT3IUU+-ky%Y+X2=}rw*LqjqSkEd>aLM4o{=e`bs$QwC=rWaY~S2uig)zD_AvL=!W zLR;!wr{b1Y^b@QrI^#qHR)@43R$+bj_!I3#?!D-p$9Glx%F z^;}Br`_lod+xrrwuKM=Q^<29)Od7c9>y?1H+#|+Zkd;i1dwk9*{jnt{wkdQ^qS96W zB9T3%vT3y7*Jy9ttGJG!&UJ)Sal&B1Ce~Fds)i76r48OiuZr_KWPdrtxBuw-g86?u zobf;DGG}C9`PX@k1T1Xq?Eh|`d2nWDB}+?m|MdkW*DAJE>y7TmDEE)O{+FfdJ zoA%Yr&u?VD#{-K^v1-F2JK1@{SH&dpRFoC*_zT1p3izB~->2~!RNklY+u7e4@f>B} z^?en#k8Z^Q4^DF~FV&#jP z76uKY#@_c0QxRVlJfs~1T6aChBBbC`iMI-0QVTV6?$0CvyRjAK?SS-*Tb7D6Aon|~e|`MPF3TQJ zyTqIqOS95HBi-|Q-3xBFrLF1cg*+sjT4CgB{pI@+pX7Y4$w($2MDnc)$|qVB2IuxB zV_%EO^^6r&)BE){d&2>E9kQu%)^~HclLfEc(H7g;5dYWu_0yb`_j(f#36L;Z{MW5M zEq_0$Ky)kvJqda5_0iZF(7eu>Un$OVsbI%uU@>WrPSPG5e3IsqrpKqNbF%Gr&#;C+ zp;fn?eLH)1Hr487?ad-}H%y(08f}BzN?q5?8|8T^5^C{;UHZJdmu_rp^1$tA%-&B? zx2{!`_!t^plWB2{UJFfvPqH5KsjApo^&~ zxLJ$>KZ`#WZ0)8Aoh&aD0i*4|umGUH809Mpd@;Ic@gp#k=p{5Of#BxDtFgzQzs279 zb&b8(cYZiZj3CW}}=oM4zK*9~HI&{gYo~Nr7Eo&0+vP`hP(xENyAL|NH z#MA#m38ZLck7wdE{i1JAN3g9thGrycvR8$ewn(ur!AfqlehzTD*Ec@N79b150J!^y z*~{CVz(hasg(fZ*ZwD=EP;p5SNWzo%sc874ei2kIAt=p(K-N(1n8e*PIi{Ehqy3%7 zjX^0X^7p?74X#egN%7JWUbXJZd!m?KQ8YN7%Bf0@DUnDn58W^?y?ovvAiYhA|G_zU zR^*jW6PRHfWkykEoS;{%6@YAz>i~_pu5hb^G?qwWLTZ31)%~q(U?Eh_3{75+(m;U# zipqim2^syrdVv}}_2N2K0lI{=wJ+H}N$ew^~ji4aA71V<5>u`;;)i0c;sPh#<$l|Z;g z9fZ%gz8hl)xxo&Z8Ih>sd6t|)-o5C{=Vn?cITVS!-HaPg*+sS({p6d zo>%CLreN|Kb5Y&m>*C5AeoFJCgh7}Y?2SyUIjn53OWh(76-8Rsf3k7&iV7>!HWqKW zc|rQCfsEcwvgbgR4Ye|!sewo8m%s{`%+HbbxhXg<;=qk%>aE37lgVZ=%?{!F7?mj} z0cs% z^ctn#Pvx^}OniG&IwA#+YIl;e&d|2zC?sn3iUfML=Fqj~KcaQC3_ag!xdn%re2>q4 z;f9&C#*my+AiVunE zdT)o|YgrX!SZAGG^kFI_wNgM|IvDmR16!@=@Z*XcLc>x@TW7S3fc-tx!g14`BnR6{ zj(-g!!dmZQDk!M~pro=T30WWI(M=UPq>Yc0JXjB0{7Wp0R=+$YKU&{`!x%c^$YErR z7_)&V>@)!~4X*j!eKa{)o&oL1G2?fpdR9q7_Y954Aok`!>{Wo+yT`&JU9+Y3Y0?E{ z#nkDG(XqIQQ?|AH&%7!6Zt+I-#L{n_S75Y1_xx1kwkE6;8I1#cf^F~SwZjL3I(6O6Ac@GE0~bh- zRus5x^T#^Zx){rTl!DpFfH$N<8fxT_OF2}xH*ll~4$58t3uZ*?H_hm$q;NtjGR-KY zpt^Cey?cr8saaynP{=r>nuiExd|c;-F{DC<1YyHL;d$W7t!no|omI3WcQCi=FccEm z$YCfVu~S6Nc?js2H-bmBTJryFZjHgNo7RE;6Rk5INL7A;gwb%~*P|wd1-O}7>0V33 z^Pp}rxu>VZ$!I^t#85PcqKGPCDd2%NPr&L6kv~!vYIZY*E>sRspfN5mntn!0f0@yO z4ki1lc~k6hL&t*vGfO217HppM)32vqQVs`TG_4%)5oVSbXVdm9>37AF60b*2=(+x{ zDo~zLd4rOg)Zw>%Zg0m<8p$`3wZ!QwvE^B(Z-s-A|1dS^&lrK|{THe107}6@t}f`l zQM2wK1+{}U<4Gikd`{mgTPd{09fJ}T|A{9GH3Cr^K+s?KIRcSaR&f2VLiSV+r2i$! zB*~0ApoAs=E0>{hAEX8i2oyPYB^>yP^f#4u<34}s=qqN&wPN@uikzns;g5+`uS!H< zBaptTvxjdUS6m!Uz5?$3ip!uP>1BEM26xTH(Ae3hWG;>w(vvF5BA`#R2V!x~#Y(K;l6d`l z0L$QD!BR<@%CPwqyir8^K^Aq)fKd6K?Vi6&avZ5v=_xcS9cZb*FMb|XS;ibiFAS=d zl14r`(AB%-u0z2KgO%;?($XmS?bV3Fdspg^!ZOF1^8{-Bn2pWa#HX`xsmUJ z)GTJa@jmjYUrqwzkdKyNz2na4Q6hrAcd=7txKRI8w@j&SsT%N;(E}r+{Z^$Xw|jiO zvSAX3A^~S@5Mdw87`2!K*9o7m8G#~Sp#SJ+Q~;8!F-R7mYOMVcC>#>em(kAp=h`5M z`S~w}Z-~<~%m2v;6a@)5d#m<#{!i8O%nYg?7RquN*!p{bUS1a{#Aklzf%va}=XLla z#%pq`yuC7Oe^o1f zyx@jZG9UIZ!X;4zIN=r)2&%5L*T@_` z&QhAXYbL6Jo4^Vs{j;8COd|6G=|0LY+8Cg)iK1*xe{lMc5@QGZSUBhON%dpPSzXLl z;kl+ODGnB|m4BWNQ!B=H%=vYZHl-=J6~3Ty#^+ugKW`XiYe>Iy!3tqf(Xu0;EcP8~Ss!TTy2vhp*!iVexY`ytE6BECN zdly_KG-YOc8y7eJE|8IWekEcS{Vz;2?TFR57j&7MML7zU8bLQ0Jq5-*O7+gqXdD=AMd zote#1NB7(B328MXZt)ggN(j<8w*9vP)I?#8Lr}B@Qw+zn5(PmqTl3D$W(Q3V=CC0q z%P7@Ed{T~ZDt$T$hSfw0Lp<52=C$HTxI4S0i=RfW(!t~}trWY+$QoA1 zX;6*bSKCs622Vlx=P;wm`CFmWfi}Tb5ob>S(g1WhlrJr>q%NB9JxNk6@#SwY{0pnU ze8T$oM^BN!$3ikfLQ)+?gkhK{QD>Ctv~>C(b=o|3d^% zJKcXwmuQrBO<*6ZMiC;+SIX=}%9ao-o%<9C3fa^@Vq8xeNxfjf@7V=Pzj8dg?MU4! z4s6>1wD9Yo18*0`G&^M;KOnATZh+`o939iOp(gcS8AT@Wc_ge-aHvcu@CSLVwSbpy z{>+HxpI}d71+o__!Gn0>zJPzr9_j%jtio*zixgQu*z6z$h>Y%oP#&h|9p(V@m^))? z8OQnyP4o18@4bj2S}=S21-kX7qM(D!br0BSO~IE(W$G-iPJatQLgr*UT{{{&$d+lg4q0AA6>OEOKTeM6{oS zh~rW|ZW|z3sA^V}Q0&dwj9G6KmC|CRTaGfZme72gwUEMA2G9hE3)rY3>5~wol!x`f z|L{~1-iH`crrvs6`-g1o0%OD{KiuyL2MEA2K6T`XbByFc9ZQLvu7WvSM-Q!kXn7%9 zZSp*!6&7-QMdCotaPhMvxjX%^C2q9@))Ti_1K!tf&|ArS-(aD7V?C~Ug4jI-G>L;| zEhowY9b$;`?1Z2YLPc}~xymj<3J;P$?1xM5)UR!~=y|UD3Zqm8ft5?r-xQ-LGfYAuwYJD9oVJML-&TJB_S5(DDf2eM`wXU z6o4SevUm9o@ht}m;K}yoNw|KsJu~dS7x5LOnet<=r6pra!j91XtO~UE^k0mpkVj^~=*nJY%b)=%`j0?z#sIK=;xOLO z*L$hjh&2E*sp}nCq{3ypSaO7dGB<}`KW(?5#z!TaO=QPiQJq>yn?yiiSM)Ep9CtaV z$k^-ykxsX$nXl-&l3VEGSA-jKk#wKJR>c;?4q8NflPMgpKiahGsDEf1tAHi3&shDY z=x%cbi&}#WSDaQAuNThu;ZfW^oN%_;YI8rZ^HD(7w-H&GW@l}TnO zHd!%#wM|WZtCcidP$|^JkB;CiLH1ODyx4R zp&gAlSBD`kH^fzl1ja0r!1x!N^|qFl=eNt*+3Tz84L-h3ueYb8*V&w=4ZSw_&F?hH zMW1&zq)g!q;2M$opc)w?7?%e~27uTonDS9+(VeTS-uIx5S5m-i43FvAZ8s2(h~S4E zZkJn43<(WMj<^iT4AJs)MOxse!>5004j=Z1WyMvF;Bh*W8?gh|`Y`8ChpfLe0bEap zhq`y>I+!7tL>cdtn13*a*A%5wQX%!5$pL=%(F|a!_ghP6&5%ateWJ&R60e}>hV5n{ zgVy=50-~nbBKmT_?@DvV32!q<8U2L>6i6cHPmwdpnAWa`S+{&9C$mj!OARoFG59$8 z$smF`9(&nlJBkQC%wf-nQ^w%iXpq53dpHxd#Bo4(_IVgd39KGAsk6SQqllGs=FBc( zeDe>h!T4r9Ilwb2seNu|FYHqICKAqtITIg*$Vx%$SR;+d;a=OHVpTmUJd+CB>RS?6R704OR^Xsi4_3Xv5G zWO5MPwpKifA^-0HXChKbMa`N`^828s*(9T;njOtWMv;kGRJb*?BE&P>tx?0TS<={7 z2Y{5?ctngNdacPAdwim|DkEPiao`gYKMgpR&%mgV)V8Qr&%mpb)Vkk!DUS^RF_kfi z;>ID2G{Pf<8*d1UoeogLt-w|&;%KK?RKl$!K?Fi1s3MQBCi7K@9i*SwTTbRzeW*5I2Moh4JQIwhk@1yiDt^EGIQIl|-Q zD)9ywwf89)=qEB8G1 z-yN>>7rZjsh$3`%F!PJ!!My9aUZ(|5?^--@2Y$d9PQdOqn{X%8;>JOwe8!6>XHR#q z&bG%FryFJ_!&c?h7F}v?ju@8-v2V$`*1@Z+bu_Q8<1q%U2pe=*lN#ba+&+a1bOfCb z_aPstrUlRTSLDh8%td|V#?JP*k@>e#?hWKSk31?>S&Th>RX`hZ#YAMlav4S<#gH}cVgpjJHeqLwAMNsaWbtBHz4 zZ-gtlQlQzkLDhjgxL$#*Gknw-ucxz{rF;g*6<_faFPxF{-J(0Y68K{CZzoLSo$Xfz zc+Xe&1SNfX!iy-2Rl@^q!Dx86_#(DQ{tHcu5i*854?NZn16P}T`tIC{HU1-4ySz&2 ziC(kaSBbnX>)t>EdcD&do{@q6=LC&=^NEajjeEiPtT0E<-?i^{9bf@74XW~uFm#_# zwD|aAt`6-$ECdkV7T%&=sj;4jhG88|>Y&`bCP&Zg3f8gK%Qd`KXJ7Q(~00 z+!R`72gD+kWR9FMs0@vNgN%Q6h zEn?2k!Mr(n09&*liGmJuXmI>YorHJI`~7zVI}a4*8pZ|OMW4trCf2=zV^0uDCMWJe zS|38-gTHcUrMq)*uCmLM5H&rtkJ%o85Wb>TSS{1@=I+L_cof2ZOg1^2k=H$+X?L(F zzPCjoAv#JcvVgjHXE@vYv!f3MqTxjUi5zOBerP>tuoJW89IH>$=K8FCF4Ku?sZMtf zheX*6i};7P32wUaB(zZ7DgX5p&59I1%XKzSC)TxIk!Lg2T5tNf``C}!_9#q;Unzt_ z$>eb4bzJ%!s(i;+s?~!Dyst1fFbwtKElw?AiAYm&agF7~6X_2k>T}9;yB?4Sr>KD3`{d>g@?4WS=L6Yf+Zv zV*ZV2xg5H!W4d1S+RJMGUJZa-9K&y{hs=2DO}^7}^j)06v${gmT<#6>Hn^rXf7b)y zltDOS_&&zov3~DzN6s_Le@1suU)8%=$7E9s2fGups`izASB3Lv ztgBOV7H_J3qV4;$tIKjHPsck2J`Bkk(1zCmFDso651@-`t?huk78Bp}W}SjV=}Hc1 zx{#tz?51Fqyq~URVDYJuj*jN`_Hn+SJYPf4R@=dCwOS9k8-5coYrOa&8;9wHyiGGD zlVPwha#A4InZ|T9TE#&WXC>T0Ac~Fe&Kr~c^w7wLa-fG zMhJM0ZKbQE-+_48ooZ(3PDI&Rb{U35p~ZMK$P2&lI9wT`A@5jU`LGr5H?R6s7L0;{ z#qL11pcSWL>=z2}(xmM~bia9zw??d$arE&6cg%{1qunJiCi4&D&g zFfDShLf`3gy)(L#Lw}+wiOGkmPe8#S1h~07Ql6Cg-14{>65E}-(9I@MFfnF?j zk^7VJhY`K!5y?fZCC#exK%8UZ5c*#su#nOby?%kzTC%5C}&QSTB;wU-HT&8cz zm}p-o`0%x~3-Wc}H0CgUk}#>5l}w5)O#72fb2=WYJ4DTXjaWO0LKyEQCuyqKsIyK+ z&>WPgy4c^q+F^IALDo8qj#N-I<^B5FuVSK0>k-z(h}Thh7soOr>J(W^JyJ>0`q#5U zOtf$fK2i29Yli_1r6g@-7v&{oO=~-gyqE6KyU&$Z9w{R9MfGhn%T$yW6g2!& z6hGqaK?kuBiST*=c9Y^&B{k(G;YIdLOHgrJc*;W=6_CDqRtc(qHbzTSma7RQf~^xq zMhtzCX#*<_Q8h+SRF^XmyoC^fsADleytQk}%V(P1gc*TL#4HB>^b-Ku* zcD^fd%9{zNa#G@u-|FkU125d62M3xesmQB~7^5lg7dIF3mvj35-0xi$F_$x2W z6HvcL}vpJ$29@(rX01`LK@pR#+s%2Y%Mo zrGk8=wV2Y)9^r>t#Dbx1wnTqfqCLOGJif&&wRPCtfVPTe>8ukg*}hFHx$xcHK(K<} zoAM>?ocwV8d1gK5?Rjw4;r{$`?{X()!}k15WORl3B71L{-Id=9puKR= zV42l~i!$`i_M_8%gden9y3>8m0XZ&R)&_5f@6*G}{`lIxE%2xoso%>u^KHS9SZ{; z69Xj-y`Zy`nXLl_CB2flla(>(s_1NBVQlCGqJ$ib^_@V^r1e2w2wcsb%m~at3r8Is zj7=!%rHtKOZ5@mpDL`TT1vIy{5!QDyCZG`JVq#!oU}R!qV+7fZjMNN_IY(7M?qCI%Y_e#V2 z>|&a&esTKTv9@&YeY9kHJmF&6irg*GgN8z9)Av(mN(r-x;Pv&GxwdYnpV9(K&Xiu+x%9yJx)t+Dd zs5y6Dsy(v`u`-8OtPNZR?KTI)OcmiY0 z2N1FpBkf~iW9c0Q&zhH!#xcUAEQ){z3kF}RinUd^3ot)cmS`(RR-s+}vbYB#ScE)e zSfpvdNd)aTE;}~7rXw}CT2uiIIEc&hQJbC_Cp=k+57U-EHpn3*?B;4jUE7SO>c!3( zWD4z|xRo|)SQqVU{+6~*&=B6_Y?F&*T&sLU)+w=;k9=t3?a^adI>@m;S_BxDr4RF& zmEo!+bovkTVW_qiH>%GX;Y*jUDI~0cTvBtU!tl;ZuE+lB^yN26_^$)&<(%zlIRDvTW|x>%_I-> zIzg>}xEdowgwlSDu~`;sh)|#b+_zXvR*pRM1f!V3B@T|lJ8@cI`fwnM1taJkDRb9t zrW3=u#bcmfi#Sm{u9A@pO43A0KNug8aV;WUaqzVSC`EP>v>mp6(?f?EHy9iXvfurfPn{q$ zRf|k}tn8jLvteb^XRG`bH*b*bwllI3jJjkkSXo2~Dtrk?qCgfIZmc(ejJ5gQn|6 zYld0ab$I7VL$;kH9O?*$*)lyQTy?Iw2nXj?G9JYLfpyTy>{hi&&YyW7zXY-`8d z!unaV?F^9MQ9eWT(Y9zl#y8ePvSNMEka}LV#w|TfgM1yIwXWRKHMAx`1FFUbIZ3}< zW4~xVZP?A8CfmSxcXNeRMQ9?l1}4H7ajjQv5#v;!#?%15mad_aFX}s?&(I?SI%ADR zt|!I`a(pNWVhQfKWJRklw(XAB(BAK#zOr3%pF##KhTa%l!ZrwVd-F?f=gD{4MIFTN zf1DF`3XO!2AY$TV%T(m(;M4DW{c+WQAubGkL3qSv;%JN0xbUJ|N7@nlgP!dL3DZ{S z8z`Er^47~3v69=!K?5m-ka7fd+*&T2;pcfI@~z4`8&|k}e-s;6gs5_#myFAJ=tI9* zs|EK4ZtVTuk7`g=y{o_{V1(NWks6$o9wkj+QZ>wcmxdbTik`E@Yd8KNWO-QmH6w-5nhbZkv2-GEh>C4q&_;c|UMXsvG|n02OYx?A{)2E_GOg|;YIrksZ&Ss1dbwM`>QhUy z`4InnqId$S8?kV?vT;m$&^>kgcy{4`Mj8F8(-w2i*Wj)4Tz+?7$ntEPw-79>i|_=z zLoBR+Fm`HoICNa+M*!Z%0_v}F^6!IuC6sc`JA`k(1L_~iFW{fYZk8@UO+3o87VP$( zDe{g69|QgV$C{?N`a00fv4HZKWrN zDc{tYHR@^X(QENfm#;;Xyl)qWVYki3I_&GujcD0ZH@bkE<6hcvc>$lP=nBR|0d9aR zo3J$wnLgQA2qtCw^T9MX?0(O;)PxzaHxe#`BOJ@U1wCjQ$s@y!h;=m_`rssnq#5$k z!?3yPQID*t$FNpdIbgKr0uUIS+7D)eQ1$r zZGksx-<3S_X1L>*Cw-Xo?DdIAc`1*w#LwN zjVJ`lBZ)tNrk@$hoiF`|N%7gcH+WrVz;kaxuJaym&nIB=!;L{s9gt3TKx((;YcCyX zd&+N?2L1+O4?w~F$G)QQ;x@^%jd$*L8R`b#db&m&IV?)^<&xJHK_G~POcZs%f{Zm0 zwRpcR%3lBjASH= z^Jc=n6O)dY0^gn%@_YaC4w^q@4$98~U(u>!7SMA^VybZps`tCHX=+r(cCs7H> zXl202ICigW*D86XH)Eislkq)L^#vEfvD&v#vdCx|Ny_f{%?wEq6GRJ1?Wlp61Kol+ zz>X#s2f6LC1OS859y%rk1+a$AapcmQq6J}*>-FIV^goj2f-~!pjRh>3TV1qXuDk#K zv|m_r^Hn|r5mt|oCSXC2k;b1=4Q5o2v)m6k(T8j8}hd>|t9( z;MOBQ4Opv&yzAjxM2rgy{0)H<&};W8riYOOfqauBGho&ZVxotW1M%x7kygMcs5#!l z+Kiyx4933o*BkBYdAGOQ2h28T#4RMAkhtq`%*)A~!W!er-a%$J1o}(gYh<o!^ZsHu-_6^dJp;?ixi2=1wme;NvI_hsEr$PVML_weA>r_3NlJFJN=b&iyQ z+KuQf9L}5}14O!l8X@LQfhX|b z_eY%`YCZlsOU&p0zs=Ge%iVeHgGOJ!Uq-tR%um}@FNdqTwbc>_ z_?XEpBK4uAyA{+RM)g0J2PyyNDi2|;Mkhi#(FeB*lBvf0^8o>|q7Qi*q+N}D*QK)v z`MmW3Cy0IX3r+|zXqS&}dk!%2E!4~qW;^tWZujO7U$>C8La6P~D!ZKzd*GX)n>N{2 z{o@{niS8bCu%5R)8RHQN0@=3+c>)H1f6DIB{0*1g3+o15C4c~vqdFu=2pNon>LB<3 zN&G3wA2}()=>O-9OHs|%*X=R~o&NW=jDe1{JhG3$P^d(5VFHBzdxSn7+C4!}mrwV9 zV$hoG7OVbeOfulIA?x9wPt~PDBW}RQjn2YBZdi~MG6_fNzaaKL$fZdqfeWDN>vbCZ zA2U}kg6snq##p*-G&UEXk=^nJUxQ;bVR7$~xh_$|K*10~4TUWTVB{DDwB>79d4Tus}8%L8)56FIE+;M*E!j%eR4;u>d?=+1lk z8fTVhL|?wf7(h5Uy}^lF`om`4B3B%l&kmyDiBbB)Y4Rdh5?RNSja8N`%Ep_QRhC2o z_eOX{-Iq?})@S_5=w|n+M>A>}oyU$8uN!Ed;3fjRlkkGBGkXGO^%NRdw}u;{pKFvi7+E diff --git a/_docs_/genindex.html b/_docs_/genindex.html index 497820b..312f218 100644 --- a/_docs_/genindex.html +++ b/_docs_/genindex.html @@ -161,19 +161,27 @@

A

- +
@@ -251,51 +271,43 @@
    -
  • SID_READ_RESPONSE (socket_protocol.pure_json_protocol attribute) -
  • -
  • SID_WRITE_REQUEST (socket_protocol.pure_json_protocol attribute) -
  • -
  • SID_WRITE_RESPONSE (socket_protocol.pure_json_protocol attribute) +
  • SID_WRITE_RESPONSE (in module socket_protocol)
  • socket_protocol (module)
  • -
  • STATUS__NAMES (socket_protocol.pure_json_protocol attribute) +
  • STATUS_AUTH_REQUIRED (in module socket_protocol)
  • -
  • STATUS_AUTH_REQUIRED (socket_protocol.pure_json_protocol attribute) +
  • STATUS_BUFFERING_UNHANDLED_REQUEST (in module socket_protocol)
  • -
  • STATUS_BUFFERING_UNHANDLED_REQUEST (socket_protocol.pure_json_protocol attribute) +
  • STATUS_CALLBACK_ERROR (in module socket_protocol)
  • -
  • STATUS_CHECKSUM_ERROR (socket_protocol.pure_json_protocol attribute) +
  • STATUS_CHECKSUM_ERROR (in module socket_protocol)
  • -
  • STATUS_OKAY (socket_protocol.pure_json_protocol attribute) +
  • STATUS_OKAY (in module socket_protocol)
  • -
  • STATUS_OPERATION_NOT_PERMITTED (socket_protocol.pure_json_protocol attribute) +
  • STATUS_OPERATION_NOT_PERMITTED (in module socket_protocol)
  • -
  • STATUS_SERVICE_OR_DATA_UNKNOWN (socket_protocol.pure_json_protocol attribute) +
  • STATUS_SERVICE_OR_DATA_UNKNOWN (in module socket_protocol)
  • struct_json_protocol (class in socket_protocol)
  • diff --git a/_docs_/index.html b/_docs_/index.html index e5b6f19..809a618 100644 --- a/_docs_/index.html +++ b/_docs_/index.html @@ -165,17 +165,185 @@
    This Module supports point to point communication for client-server issues.

    Submodules:

    Unittest:

    -
    See also the unittest documentation.
    +
    See also the unittest documentation.

    Module Documentation:

    +
    +
    +socket_protocol.AUTH_STATE_KEY_TRANSFERRED = 3
    +

    Authentification Status for ‘Key has been sent’

    +
    + +
    +
    +socket_protocol.AUTH_STATE_SEED_REQUESTED = 1
    +

    Authentification Status for ‘Seed was requested’

    +
    + +
    +
    +socket_protocol.AUTH_STATE_SEED_TRANSFERRED = 2
    +

    Authentification Status for ‘Seed has been sent’

    +
    + +
    +
    +socket_protocol.AUTH_STATE_TRUSTED_CONNECTION = 4
    +

    Authentification Status for a ‘Trusted Connection’

    +
    + +
    +
    +socket_protocol.AUTH_STATE_UNTRUSTED_CONNECTION = 0
    +

    Authentification Status for an ‘Untrusted Connection’

    +
    + +
    +
    +socket_protocol.AUTH_STATE__NAMES = {0: 'Untrusted Connection', 1: 'Seed was requested', 2: 'Seed has been sent', 3: 'Key has been sent', 4: 'Trusted Connection'}
    +

    Authentification Status names for previous defined authentification states

    +
    + +
    +
    +socket_protocol.DID_AUTH_KEY = 1
    +

    DID for authentification (key)

    +
    + +
    +
    +socket_protocol.DID_AUTH_SEED = 0
    +

    DID for authentification (seed)

    +
    + +
    +
    +socket_protocol.DID_CHANNEL_NAME = 0
    +

    DID for channel name

    +
    + +
    +
    +exception socket_protocol.RequestSidExistsError
    +
    + +
    +
    +exception socket_protocol.ResponseSidExistsError
    +
    + +
    +
    +socket_protocol.SID_AUTH_REQUEST = 0
    +

    SID for authentification request

    +
    + +
    +
    +socket_protocol.SID_AUTH_RESPONSE = 1
    +

    SID for authentification response

    +
    + +
    +
    +socket_protocol.SID_CHANNEL_NAME_REQUEST = 8
    +

    SID for channel name exchange request

    +
    + +
    +
    +socket_protocol.SID_CHANNEL_NAME_RESPONSE = 9
    +

    SID for channel name exchange response

    +
    + +
    +
    +socket_protocol.SID_EXECUTE_REQUEST = 30
    +

    SID for a execute request

    +
    + +
    +
    +socket_protocol.SID_EXECUTE_RESPONSE = 31
    +

    SID for a execute response

    +
    + +
    +
    +socket_protocol.SID_READ_REQUEST = 10
    +

    SID for a read data request

    +
    + +
    +
    +socket_protocol.SID_READ_RESPONSE = 11
    +

    SID for read data response

    +
    + +
    +
    +socket_protocol.SID_WRITE_REQUEST = 20
    +

    SID for a write data request

    +
    + +
    +
    +socket_protocol.SID_WRITE_RESPONSE = 21
    +

    SID for a write data response

    +
    + +
    +
    +socket_protocol.STATUS_AUTH_REQUIRED = 3
    +

    Status for ‘authentification is required’

    +
    + +
    +
    +socket_protocol.STATUS_BUFFERING_UNHANDLED_REQUEST = 1
    +

    Status for ‘unhandled request’

    +
    + +
    +
    +socket_protocol.STATUS_CALLBACK_ERROR = 2
    +

    Status for ‘callback errors’

    +
    + +
    +
    +socket_protocol.STATUS_CHECKSUM_ERROR = 5
    +

    Status for ‘checksum error’

    +
    + +
    +
    +socket_protocol.STATUS_OKAY = 0
    +

    Status for ‘okay’

    +
    + +
    +
    +socket_protocol.STATUS_OPERATION_NOT_PERMITTED = 6
    +

    Status for ‘operation not permitted’

    +
    + +
    +
    +socket_protocol.STATUS_SERVICE_OR_DATA_UNKNOWN = 4
    +

    Status for ‘service or data unknown’

    +
    +
    class socket_protocol.data_storage(*args, **kwargs)
    -
    +

    This is a storage object for socket_protocol messages.

    +
    @@ -189,11 +357,11 @@
    -

    This is a storage object for socket_protocol messages.

    get_data(default=None)
    -
    +

    This Method returns the message data.

    +
    @@ -201,13 +369,13 @@
    -

    This Method returns the message data.

    get_data_id(default=None)
    -
    +

    This Method returns the message Data-ID.

    +
    @@ -215,13 +383,13 @@
    -

    This Method returns the message Data-ID.

    get_service_id(default=None)
    -
    +

    This Method returns the message Service-ID.

    +
    @@ -229,13 +397,13 @@
    -

    This Method returns the message Service-ID.

    get_status(default=None)
    -
    +

    This Method returns the message status.

    +
    @@ -243,7 +411,6 @@
    -

    This Method returns the message status.

    @@ -251,14 +418,15 @@
    class socket_protocol.pure_json_protocol(comm_instance, secret=None, auto_auth=False, channel_name=None)
    -
    +

    This class supports to transfer a message and it’s data.

    +
    @@ -267,9 +435,8 @@
    Parameters:
    • comm_instance (instance) – A communication instance.
    • secret (str) – An optinal secret (e.g. created by binascii.hexlify(os.urandom(24))).
    • -
    • auto_auth (bool) – An optional parameter (True) to enable automatic authentification, otherwise you need to do it manually, if needed.
    • +
    • auto_auth (bool) – An optional parameter to enable (True) automatic authentification, otherwise you need to do it manually, if needed.
    • channel_name (str) – An optional parameter to set a channel name for logging of the communication.

    Hint

    -

    This class supports to transfer a Service-ID, Data-ID and Data.

      -
    • The Service-ID is designed to identify the type of the communication (e.g. READ_REQUEST, WRITE_REQUEST, READ_RESPONSE, WRITE_RESPONSE, …)
    • +
    • The Service-ID is designed to identify the type of the communication (e.g. READ_REQUEST, WRITE_REQUEST, READ_RESPONSE, WRITE_RESPONSE, …)
    • The Data-ID is designed to identify the requests / responses using the same Service_ID.
    @@ -277,7 +444,7 @@

    Note

    The comm_instance needs to have at least the following interface:

      -
    • A Method comm_instance.init_channel_name() to set the channel name if needed.
    • +
    • A Method comm_instance.init_channel_name() to set the channel name.
    • A Constant comm_instance.IS_CLIENT to identify that the comm_instance is a client (True) or a server (False).
    • A Method comm_instance.is_connected() to identify if the instance is connected (True) or not (False).
    • A Method comm_instance.reconnect() to initiate a reconnect.
    • @@ -298,172 +465,84 @@
    • If a channel_name is given at both communication sides and they are different, the client name is taken over and the server will log a warning message.
    -
    -
    -AUTH_STATE_KEY_TRANSFERRED = 3
    -

    Authentification Status for ‘Key has been sent’

    +
    +
    +add_data(service_id, data_id, name)
    +

    Method to add a name for a specific message.

    + +++ + + + +
    Parameters:
      +
    • service_id (int or list of ints) – The Service-ID of the message. See class definitions starting with SID_.
    • +
    • data_id (int) – The Data-ID of the message.
    • +
    • name (str) – The Name for the transfered message.
    • +
    +
    -
    -
    -AUTH_STATE_SEED_REQUESTED = 1
    -

    Authentification Status for ‘Seed was requested’

    +
    +
    +add_msg_to_auth_whitelist_(service_id, data_id)
    +

    Method to add a specific message to the list, where no authentification is required.

    + +++ + + + +
    Parameters:
      +
    • service_id (int) – The Service-ID of the message. See class definitions starting with SID_.
    • +
    • data_id (int) – The Data-ID of the message.
    • +
    +
    -
    -
    -AUTH_STATE_SEED_TRANSFERRED = 2
    -

    Authentification Status for ‘Seed has been sent’

    +
    +
    +add_service(req_sid, resp_sid, req_name=None, resp_name=None)
    +

    Method to add a Service defined by Request- and Response Serivce-ID.

    + +++ + + + +
    Parameters:
      +
    • req_sid (int) – The Request Service-ID.
    • +
    • resp_sid (int) – The Response Service-ID.
    • +
    +
    -
    -
    -AUTH_STATE_TRUSTED_CLIENT = 4
    -

    Authentification Status for ‘Trusted Connection’

    -
    - -
    -
    -AUTH_STATE_UNKNOWN_CLIENT = 0
    -

    Authentification Status for ‘Unknown Client’

    -
    - -
    -
    -AUTH_STATE__NAMES = {0: 'Unknown Client', 1: 'Seed was requested', 2: 'Seed has been sent', 3: 'Key has been sent', 4: 'Trusted Connection'}
    -

    Authentification Status names for previous defined authentification states

    -
    - -
    -
    -SID_AUTH_KEY_CHECK_REQUEST = 3
    -

    SID for request for checking a key

    -
    - -
    -
    -SID_AUTH_KEY_CHECK_RESPONSE = 4
    -

    SID for the authentification response

    -
    - -
    -
    -SID_AUTH_KEY_REQUEST = 2
    -

    SID for requesting a key for the given seed

    -
    - -
    -
    -SID_AUTH_SEED_REQUEST = 1
    -

    SID for requesting a seed for authentification

    -
    - -
    -
    -SID_CHANNEL_NAME_REQUEST = 5
    -

    SID for requesting a channel name exchange

    -
    - -
    -
    -SID_CHANNEL_NAME_RESPONSE = 6
    -

    SID for the channel name response

    -
    - -
    -
    -SID_EXECUTE_REQUEST = 30
    -

    SID for a execute request

    -
    - -
    -
    -SID_EXECUTE_RESPONSE = 31
    -

    SID for a execute response

    -
    - -
    -
    -SID_READ_REQUEST = 10
    -

    SID for a read data request

    -
    - -
    -
    -SID_READ_RESPONSE = 11
    -

    SID for read data response

    -
    - -
    -
    -SID_WRITE_REQUEST = 20
    -

    SID for a write data request

    -
    - -
    -
    -SID_WRITE_RESPONSE = 21
    -

    SID for a write data response

    -
    - -
    -
    -SID__NO_AUTH_LIST = [1, 2, 3, 4, 5, 6]
    -

    List of SIDs without need of an authentification

    -
    - -
    -
    -SID__RESPONSE_DICT = {1: 2, 2: 3, 3: 4, 5: 6, 10: 11, 20: 21, 30: 31}
    -

    Dictionary to get the SID for the response by the key which is the SID for the request

    -
    - -
    -
    -STATUS_AUTH_REQUIRED = 2
    -

    Status for ‘authentification is required’

    -
    - -
    -
    -STATUS_BUFFERING_UNHANDLED_REQUEST = 1
    -

    Status for ‘unhandled request’

    -
    - -
    -
    -STATUS_CHECKSUM_ERROR = 4
    -

    Status for ‘checksum error’

    -
    - -
    -
    -STATUS_OKAY = 0
    -

    Status for ‘okay’

    -
    - -
    -
    -STATUS_OPERATION_NOT_PERMITTED = 5
    -

    Status for ‘operation not permitted’

    -
    - -
    -
    -STATUS_SERVICE_OR_DATA_UNKNOWN = 3
    -

    Status for ‘service or data unknown’

    -
    - -
    -
    -STATUS__NAMES = {0: 'Okay', 1: 'Request has no callback. Data buffered.', 2: 'Authentification required', 3: 'Service or Data unknown', 4: 'Checksum Error', 5: 'Operation not permitted'}
    -

    Status names for previous defined states

    +
    +
    +add_status(status, name)
    +

    Method to add a name for a status.

    + +++ + + + +
    Parameters:
      +
    • status (int) – The Status. See class definitions starting with STATUS_.
    • +
    • name (str) – The Name for the Status.
    • +
    +
    authentificate(timeout=2)
    -
    +

    This method authetificates the client at the server.

    +
    @@ -475,7 +554,6 @@
    -

    This method authetificates the client at the server.

    Note

    An authentification will only processed, if a secret had been given on initialisation.

    @@ -489,7 +567,8 @@
    check_authentification_state()
    -
    +

    This Method return the Authitification State as boolean value.

    +
    @@ -504,7 +583,8 @@
    connection_established()
    -
    +

    This Method returns the Connection state including authentification as a boolean value.

    +
    @@ -519,7 +599,8 @@
    is_connected()
    -
    +

    This Methods returns Connection state of the Communication Instance comm_instance.is_connected().

    +
    @@ -529,13 +610,13 @@
    -

    This methods returns the return value of comm_instance.is_connected().

    receive(service_id, data_id, timeout=1)
    -
    +

    This Method returns a message object for a defined message or None, if this message is not available after the given timout.

    +
    @@ -565,64 +646,57 @@
    register_callback(service_id, data_id, callback, *args, **kwargs)
    -
    +

    This method registers a callback for the given parameters. Giving None means, that all Service-IDs or all Data-IDs are used. +If a message hitting these parameters has been received, the callback will be executed.

    +
    - - - - -
    Parameters:
      +
    Parameters:
    • service_id (int) – The Service-ID for the message. See class definitions starting with SID_.
    • data_id (int) – The Data-ID for the message.
    Returns:

    True, if registration was successfull; False, if registration failed (e.g. existance of a callback for this configuration)

    -
    Return type:

    bool

    -
    -

    This method registers a callback for the given parameters. Givin None means, that all Service-IDs or all Data-IDs are used. -If a message hitting these parameters has been received, the callback will be executed.

    Note

    The callback() is priorised in the following order:

    • Callbacks with defined Service-ID and Data-ID.
    • -
    • Callbacks with a defined Data-ID.
    • -
    • Callbacks with a defined Service-ID.
    • -
    • Unspecific Callbacks
    • +
    • Callbacks with a defined Service-ID and all Data-IDs.
    • +
    • Callbacks with a defined Data-ID and all Service-IDs.
    • +
    • Unspecific Callbacks.

    Note

    The callback() is executed with these arguments:

    - --- - - - - - -
    param msg:A data_storage object containing all message information.
    returns:(status, response_data)
    +

    Parameters given at the callback call:

    +
      +
    • The first Arguments is the received message as data_storage object.
    • +
    • Further arguments given at registration.
    • +
    • Further keyword arguments given at registration.
    • +
    +

    Return value of the callback:

    +

    If the Callback is a Request Callback for a registered Service, the return value has to be a tuple or list with

      -
    • status: A status as defined as a constant of this class STA_* to be used as status for the response.
    • +
    • response_status: The response status (see class definitions starting with STA_*.
    • response_data: A JSON iterable object to be used as data for the response.

    Note

    -

    Only callbacks defined in pure_json_protocol.SID__RESPONSE_DICT will send a response, using a Service-ID given in the dict and the same Data-ID to the client.

    +

    Only registered services will respond via the callbacks return values with the same data_id.

    -send(service_id, data_id, data, status=0, timeout=2, log_lvl=20)
    -
    +send(service_id, data_id, data, status=0, timeout=2) +

    This methods sends out a message with the given content.

    +
    @@ -632,7 +706,6 @@ If a message hitting these parameters has been received, the callback will be ex
  • data (str) – The data to be transfered. The data needs to be json compatible.
  • status (int) – The Status for the message. All requests should have STATUS_OKAY.
  • timeout (float) – The timeout for sending data (e.g. time to establish new connection).
  • -
  • rx_log_lvl (int) – The log level to log outgoing TX-data
  • @@ -644,7 +717,6 @@ If a message hitting these parameters has been received, the callback will be ex
    -

    This methods sends out a message with the given content.

    diff --git a/_docs_/objects.inv b/_docs_/objects.inv index 904069e86288e858d3ff07dadfdf099993121f7a..e03424d3763232a34ef0f7f87bbff87ca9376704 100644 GIT binary patch delta 629 zcmV-*0*d{z1?L5jeSfW&&6b)l6vy{I1wHLnPiH&33}h-t1)D(ata4(w6)F--!qnOI zHTrsek_OPDPTNxm?ligo-~Gtt29y+A&}?5yErraT{mcDMCRGm3dnYRrI80K#%ip$Z z<9E(@q^=bc6h~7=BNSma!%r+CD4>s+5bV{kglq2HU84TOpnn*9jNp$krqK|@&^RIz z*8wm$3p0K@fV%{MdWlQ@BvlWf)N0PkLE5JLj(mHbLOe*o`Ag z|7Wp{Yl4wy=YRL8v~jv3zHPQAX>YgYF^=iE$NXNC>8O5)AI(hjgAZn~m{a%W*rs+Z z%SH3~19E4~49Sr6mrt=fqw&I09?sBHf6)>XRF6;=gb_1;7Jd|2l#ycc$#*de3G+~d zOfhFcxau*OYb&O-Ecpg%mB_hL{bZAk*=fAhcP{8uCV!RymL-E23d-k9z+jB#x>9`* z`>F)?RmtM&{i96Cp>GYz@9SlA7~$70`tbc1?N>I9+C z*_TXkJv1tjg4nVvq`7;WKnJ5`QGjT0=5>Lu&2glV41{Ki9l3*1B?!o#VK}9YXE0}D z+7(JBcy6Arx!4ZmDJXgsNa?Z?y7QyGfudP)luqt*zJ}Zx-#Mq%#?JBUpQE!`B1LU< zVX=Z-$Q?LZI&~ PZTFXEB949oj+nBe=-xk` delta 576 zcmV-G0>Ay|1+oQ@eSfu=!E)0u5Qgu03Ndg^hF*I!wn{unau0?d8)cMK6*@lN9#q~|fZn3A&f)8f%yMA_*G4sB2VJ3AfKBi>`X(g^1`TnuY?B{p3r zgksNd|B}zE*?$iq_OX84oIIe zIZ50$SjN6&{!+-JIP}4^$6!XC$}XR=m%ebKzRT`xr-{jXdxYD~6)n9U25yf2K&07< z+m@E3-mu9cxc3KJ<1}D#LTo`WZhuxWV;=KNar!Y1F@H}|9tA8I8m2eCuP!NCQ$TIX z&!rRw#$D!SvH-c~7s%3%cNfLcXjRuBdmLEawkmZ2`ABG~`H4Fk)qsTZ0mf6Dp3$6L zsSPw-imKWQxgW{XP`@Za+BB^+&%WyKpzbY5oBXyCTd2_V1`XEU55?W* $@ + +clean: + rm -f $(LOGFILES) diff --git a/_testresults_/unittest.json b/_testresults_/unittest.json index 7c084f6..36ed4d9 100644 --- a/_testresults_/unittest.json +++ b/_testresults_/unittest.json @@ -1,11 +1,11 @@ { "coverage_information": [ { - "branch_coverage": 98.72, + "branch_coverage": 100.0, "filepath": "/user_data/data/dirk/prj/unittest/socket_protocol/pylibs/socket_protocol", "files": [ { - "branch_coverage": 98.72, + "branch_coverage": 100.0, "filepath": "/user_data/data/dirk/prj/unittest/socket_protocol/pylibs/socket_protocol/__init__.py", "fragments": [ { @@ -20,83 +20,83 @@ }, { "coverage_state": "clean", - "end": 24, + "end": 28, "start": 5 }, { "coverage_state": "covered", - "end": 25, - "start": 25 - }, - { - "coverage_state": "clean", - "end": 26, - "start": 26 - }, - { - "coverage_state": "covered", - "end": 27, - "start": 27 - }, - { - "coverage_state": "clean", - "end": 28, - "start": 28 - }, - { - "coverage_state": "covered", - "end": 36, + "end": 29, "start": 29 }, { "coverage_state": "clean", - "end": 38, - "start": 37 + "end": 30, + "start": 30 }, { "coverage_state": "covered", - "end": 43, - "start": 39 + "end": 31, + "start": 31 }, { "coverage_state": "clean", - "end": 45, - "start": 44 + "end": 32, + "start": 32 }, { "coverage_state": "covered", - "end": 46, - "start": 46 + "end": 40, + "start": 33 }, { "coverage_state": "clean", - "end": 48, - "start": 47 + "end": 42, + "start": 41 }, { "coverage_state": "covered", + "end": 47, + "start": 43 + }, + { + "coverage_state": "clean", "end": 49, - "start": 49 + "start": 48 + }, + { + "coverage_state": "covered", + "end": 50, + "start": 50 }, { "coverage_state": "clean", "end": 52, - "start": 50 + "start": 51 }, { "coverage_state": "covered", - "end": 54, + "end": 53, "start": 53 }, { "coverage_state": "clean", "end": 55, - "start": 55 + "start": 54 + }, + { + "coverage_state": "covered", + "end": 56, + "start": 56 + }, + { + "coverage_state": "clean", + "end": 57, + "start": 57 }, { "coverage_state": "covered", "end": 58, - "start": 56 + "start": 58 }, { "coverage_state": "clean", @@ -105,9 +105,19 @@ }, { "coverage_state": "covered", - "end": 62, + "end": 60, "start": 60 }, + { + "coverage_state": "clean", + "end": 61, + "start": 61 + }, + { + "coverage_state": "covered", + "end": 62, + "start": 62 + }, { "coverage_state": "clean", "end": 63, @@ -125,38 +135,188 @@ }, { "coverage_state": "covered", - "end": 86, + "end": 66, "start": 66 }, { "coverage_state": "clean", + "end": 67, + "start": 67 + }, + { + "coverage_state": "covered", + "end": 68, + "start": 68 + }, + { + "coverage_state": "clean", + "end": 69, + "start": 69 + }, + { + "coverage_state": "covered", + "end": 70, + "start": 70 + }, + { + "coverage_state": "clean", + "end": 71, + "start": 71 + }, + { + "coverage_state": "covered", + "end": 72, + "start": 72 + }, + { + "coverage_state": "clean", + "end": 73, + "start": 73 + }, + { + "coverage_state": "covered", + "end": 74, + "start": 74 + }, + { + "coverage_state": "clean", + "end": 75, + "start": 75 + }, + { + "coverage_state": "covered", + "end": 76, + "start": 76 + }, + { + "coverage_state": "clean", + "end": 77, + "start": 77 + }, + { + "coverage_state": "covered", + "end": 78, + "start": 78 + }, + { + "coverage_state": "clean", + "end": 79, + "start": 79 + }, + { + "coverage_state": "covered", + "end": 80, + "start": 80 + }, + { + "coverage_state": "clean", + "end": 82, + "start": 81 + }, + { + "coverage_state": "covered", + "end": 83, + "start": 83 + }, + { + "coverage_state": "clean", + "end": 84, + "start": 84 + }, + { + "coverage_state": "covered", + "end": 85, + "start": 85 + }, + { + "coverage_state": "clean", + "end": 86, + "start": 86 + }, + { + "coverage_state": "covered", "end": 87, "start": 87 }, { - "coverage_state": "covered", - "end": 94, + "coverage_state": "clean", + "end": 88, "start": 88 }, + { + "coverage_state": "covered", + "end": 89, + "start": 89 + }, { "coverage_state": "clean", - "end": 96, - "start": 95 + "end": 90, + "start": 90 }, { "coverage_state": "covered", - "end": 101, - "start": 97 + "end": 91, + "start": 91 }, { "coverage_state": "clean", + "end": 92, + "start": 92 + }, + { + "coverage_state": "covered", + "end": 93, + "start": 93 + }, + { + "coverage_state": "clean", + "end": 94, + "start": 94 + }, + { + "coverage_state": "covered", + "end": 95, + "start": 95 + }, + { + "coverage_state": "clean", + "end": 97, + "start": 96 + }, + { + "coverage_state": "covered", + "end": 98, + "start": 98 + }, + { + "coverage_state": "clean", + "end": 99, + "start": 99 + }, + { + "coverage_state": "covered", + "end": 100, + "start": 100 + }, + { + "coverage_state": "clean", + "end": 101, + "start": 101 + }, + { + "coverage_state": "covered", "end": 102, "start": 102 }, + { + "coverage_state": "clean", + "end": 103, + "start": 103 + }, { "coverage_state": "covered", "end": 104, - "start": 103 + "start": 104 }, { "coverage_state": "clean", @@ -165,58 +325,88 @@ }, { "coverage_state": "covered", - "end": 107, + "end": 106, "start": 106 }, { "coverage_state": "clean", + "end": 107, + "start": 107 + }, + { + "coverage_state": "covered", "end": 108, "start": 108 }, { - "coverage_state": "covered", - "end": 110, + "coverage_state": "clean", + "end": 115, "start": 109 }, - { - "coverage_state": "clean", - "end": 111, - "start": 111 - }, { "coverage_state": "covered", - "end": 113, - "start": 112 + "end": 117, + "start": 116 }, { "coverage_state": "clean", - "end": 114, - "start": 114 - }, - { - "coverage_state": "covered", - "end": 116, - "start": 115 - }, - { - "coverage_state": "clean", - "end": 118, - "start": 117 - }, - { - "coverage_state": "covered", "end": 119, - "start": 119 + "start": 118 + }, + { + "coverage_state": "covered", + "end": 121, + "start": 120 }, { "coverage_state": "clean", - "end": 145, - "start": 120 + "end": 123, + "start": 122 + }, + { + "coverage_state": "covered", + "end": 125, + "start": 124 + }, + { + "coverage_state": "clean", + "end": 126, + "start": 126 + }, + { + "coverage_state": "covered", + "end": 130, + "start": 127 + }, + { + "coverage_state": "clean", + "end": 131, + "start": 131 + }, + { + "coverage_state": "covered", + "end": 134, + "start": 132 + }, + { + "coverage_state": "clean", + "end": 135, + "start": 135 + }, + { + "coverage_state": "covered", + "end": 136, + "start": 136 + }, + { + "coverage_state": "clean", + "end": 137, + "start": 137 }, { "coverage_state": "covered", "end": 146, - "start": 146 + "start": 138 }, { "coverage_state": "clean", @@ -225,413 +415,428 @@ }, { "coverage_state": "covered", - "end": 159, + "end": 148, "start": 148 }, { "coverage_state": "clean", - "end": 160, + "end": 149, + "start": 149 + }, + { + "coverage_state": "covered", + "end": 156, + "start": 150 + }, + { + "coverage_state": "clean", + "end": 157, + "start": 157 + }, + { + "coverage_state": "covered", + "end": 158, + "start": 158 + }, + { + "coverage_state": "clean", + "end": 159, + "start": 159 + }, + { + "coverage_state": "covered", + "end": 163, "start": 160 }, - { - "coverage_state": "covered", - "end": 161, - "start": 161 - }, { "coverage_state": "clean", - "end": 168, - "start": 162 + "end": 165, + "start": 164 }, { "coverage_state": "covered", - "end": 169, - "start": 169 + "end": 166, + "start": 166 }, { "coverage_state": "clean", - "end": 177, - "start": 170 + "end": 179, + "start": 167 }, { "coverage_state": "covered", "end": 184, - "start": 178 + "start": 180 }, { "coverage_state": "clean", - "end": 190, + "end": 185, "start": 185 }, { "coverage_state": "covered", - "end": 196, + "end": 190, + "start": 186 + }, + { + "coverage_state": "clean", + "end": 191, "start": 191 }, + { + "coverage_state": "covered", + "end": 192, + "start": 192 + }, { "coverage_state": "clean", - "end": 201, - "start": 197 + "end": 197, + "start": 193 }, { "coverage_state": "covered", - "end": 205, - "start": 202 + "end": 198, + "start": 198 }, { "coverage_state": "clean", + "end": 199, + "start": 199 + }, + { + "coverage_state": "covered", + "end": 200, + "start": 200 + }, + { + "coverage_state": "clean", + "end": 205, + "start": 201 + }, + { + "coverage_state": "covered", "end": 206, "start": 206 }, { - "coverage_state": "covered", - "end": 208, + "coverage_state": "clean", + "end": 207, "start": 207 }, + { + "coverage_state": "covered", + "end": 208, + "start": 208 + }, { "coverage_state": "clean", - "end": 209, + "end": 213, "start": 209 }, { "coverage_state": "covered", - "end": 221, - "start": 210 + "end": 214, + "start": 214 }, { "coverage_state": "clean", + "end": 215, + "start": 215 + }, + { + "coverage_state": "covered", + "end": 216, + "start": 216 + }, + { + "coverage_state": "clean", + "end": 221, + "start": 217 + }, + { + "coverage_state": "covered", "end": 222, "start": 222 }, { - "coverage_state": "covered", - "end": 227, + "coverage_state": "clean", + "end": 224, "start": 223 }, - { - "coverage_state": "clean", - "end": 228, - "start": 228 - }, { "coverage_state": "covered", - "end": 229, - "start": 229 + "end": 225, + "start": 225 }, { "coverage_state": "clean", - "end": 230, - "start": 230 - }, - { - "coverage_state": "covered", - "end": 235, - "start": 231 - }, - { - "coverage_state": "clean", - "end": 236, - "start": 236 - }, - { - "coverage_state": "covered", - "end": 238, - "start": 237 - }, - { - "coverage_state": "clean", - "end": 239, - "start": 239 - }, - { - "coverage_state": "covered", - "end": 240, - "start": 240 - }, - { - "coverage_state": "uncovered", - "end": 241, - "start": 241 - }, - { - "coverage_state": "clean", - "end": 242, - "start": 242 - }, - { - "coverage_state": "covered", - "end": 243, - "start": 243 - }, - { - "coverage_state": "uncovered", - "end": 244, - "start": 244 - }, - { - "coverage_state": "clean", - "end": 245, - "start": 245 - }, - { - "coverage_state": "covered", - "end": 246, - "start": 246 - }, - { - "coverage_state": "uncovered", - "end": 247, - "start": 247 - }, - { - "coverage_state": "clean", - "end": 248, - "start": 248 - }, - { - "coverage_state": "covered", - "end": 252, - "start": 249 - }, - { - "coverage_state": "partially-covered", - "end": 253, - "start": 253 - }, - { - "coverage_state": "uncovered", - "end": 254, - "start": 254 - }, - { - "coverage_state": "clean", - "end": 255, - "start": 255 - }, - { - "coverage_state": "covered", "end": 259, - "start": 256 + "start": 226 }, { - "coverage_state": "clean", + "coverage_state": "covered", "end": 260, "start": 260 }, { - "coverage_state": "covered", - "end": 267, + "coverage_state": "clean", + "end": 261, "start": 261 }, + { + "coverage_state": "covered", + "end": 265, + "start": 262 + }, { "coverage_state": "clean", - "end": 268, - "start": 268 + "end": 266, + "start": 266 }, { "coverage_state": "covered", - "end": 274, - "start": 269 + "end": 270, + "start": 267 }, { "coverage_state": "clean", - "end": 275, - "start": 275 + "end": 271, + "start": 271 }, { "coverage_state": "covered", - "end": 278, - "start": 276 - }, - { - "coverage_state": "clean", "end": 279, - "start": 279 + "start": 272 }, { - "coverage_state": "covered", - "end": 283, + "coverage_state": "clean", + "end": 280, "start": 280 }, + { + "coverage_state": "covered", + "end": 282, + "start": 281 + }, { "coverage_state": "clean", + "end": 283, + "start": 283 + }, + { + "coverage_state": "covered", "end": 284, "start": 284 }, { - "coverage_state": "covered", - "end": 286, + "coverage_state": "clean", + "end": 285, "start": 285 }, - { - "coverage_state": "clean", - "end": 287, - "start": 287 - }, { "coverage_state": "covered", - "end": 292, - "start": 288 + "end": 298, + "start": 286 }, { "coverage_state": "clean", - "end": 293, - "start": 293 + "end": 299, + "start": 299 }, { "coverage_state": "covered", - "end": 296, - "start": 294 + "end": 305, + "start": 300 }, { "coverage_state": "clean", - "end": 297, - "start": 297 - }, - { - "coverage_state": "covered", - "end": 302, - "start": 298 - }, - { - "coverage_state": "clean", - "end": 303, - "start": 303 - }, - { - "coverage_state": "covered", "end": 306, - "start": 304 + "start": 306 }, { - "coverage_state": "clean", - "end": 307, + "coverage_state": "covered", + "end": 309, "start": 307 }, - { - "coverage_state": "covered", - "end": 308, - "start": 308 - }, { "coverage_state": "clean", - "end": 309, - "start": 309 - }, - { - "coverage_state": "covered", - "end": 311, + "end": 310, "start": 310 }, - { - "coverage_state": "clean", - "end": 312, - "start": 312 - }, { "coverage_state": "covered", - "end": 316, - "start": 313 + "end": 315, + "start": 311 }, { "coverage_state": "clean", - "end": 317, - "start": 317 + "end": 316, + "start": 316 }, { "coverage_state": "covered", "end": 319, - "start": 318 + "start": 317 }, { "coverage_state": "clean", - "end": 326, + "end": 320, "start": 320 }, { "coverage_state": "covered", + "end": 321, + "start": 321 + }, + { + "coverage_state": "clean", + "end": 322, + "start": 322 + }, + { + "coverage_state": "covered", + "end": 327, + "start": 323 + }, + { + "coverage_state": "clean", "end": 328, - "start": 327 + "start": 328 + }, + { + "coverage_state": "covered", + "end": 330, + "start": 329 }, { "coverage_state": "clean", "end": 331, - "start": 329 + "start": 331 }, { "coverage_state": "covered", - "end": 339, + "end": 336, "start": 332 }, { "coverage_state": "clean", - "end": 340, - "start": 340 + "end": 337, + "start": 337 }, { "coverage_state": "covered", - "end": 346, - "start": 341 + "end": 341, + "start": 338 }, { "coverage_state": "clean", - "end": 350, - "start": 347 + "end": 342, + "start": 342 }, { "coverage_state": "covered", - "end": 356, + "end": 344, + "start": 343 + }, + { + "coverage_state": "clean", + "end": 345, + "start": 345 + }, + { + "coverage_state": "covered", + "end": 350, + "start": 346 + }, + { + "coverage_state": "clean", + "end": 351, "start": 351 }, + { + "coverage_state": "covered", + "end": 354, + "start": 352 + }, { "coverage_state": "clean", - "end": 357, - "start": 357 + "end": 355, + "start": 355 }, { "coverage_state": "covered", - "end": 362, - "start": 358 + "end": 358, + "start": 356 }, { "coverage_state": "clean", - "end": 363, - "start": 363 + "end": 359, + "start": 359 }, { "coverage_state": "covered", - "end": 370, - "start": 364 + "end": 360, + "start": 360 }, { "coverage_state": "clean", - "end": 371, - "start": 371 + "end": 361, + "start": 361 }, { "coverage_state": "covered", - "end": 374, - "start": 372 + "end": 364, + "start": 362 }, { "coverage_state": "clean", + "end": 365, + "start": 365 + }, + { + "coverage_state": "covered", + "end": 367, + "start": 366 + }, + { + "coverage_state": "clean", + "end": 368, + "start": 368 + }, + { + "coverage_state": "covered", "end": 375, - "start": 375 + "start": 369 }, { - "coverage_state": "covered", - "end": 388, + "coverage_state": "clean", + "end": 376, "start": 376 }, + { + "coverage_state": "covered", + "end": 382, + "start": 377 + }, { "coverage_state": "clean", - "end": 389, - "start": 389 + "end": 383, + "start": 383 + }, + { + "coverage_state": "covered", + "end": 385, + "start": 384 + }, + { + "coverage_state": "clean", + "end": 386, + "start": 386 }, { "coverage_state": "covered", "end": 391, - "start": 390 + "start": 387 }, { "coverage_state": "clean", @@ -640,38 +845,88 @@ }, { "coverage_state": "covered", - "end": 393, + "end": 398, "start": 393 }, { "coverage_state": "clean", - "end": 411, - "start": 394 + "end": 399, + "start": 399 }, { "coverage_state": "covered", - "end": 413, - "start": 412 + "end": 403, + "start": 400 }, { "coverage_state": "clean", - "end": 414, - "start": 414 + "end": 404, + "start": 404 }, { "coverage_state": "covered", + "end": 411, + "start": 405 + }, + { + "coverage_state": "clean", + "end": 412, + "start": 412 + }, + { + "coverage_state": "covered", + "end": 414, + "start": 413 + }, + { + "coverage_state": "clean", "end": 415, "start": 415 }, { - "coverage_state": "clean", - "end": 438, + "coverage_state": "covered", + "end": 418, "start": 416 }, + { + "coverage_state": "clean", + "end": 419, + "start": 419 + }, + { + "coverage_state": "covered", + "end": 425, + "start": 420 + }, + { + "coverage_state": "clean", + "end": 426, + "start": 426 + }, + { + "coverage_state": "covered", + "end": 430, + "start": 427 + }, + { + "coverage_state": "clean", + "end": 431, + "start": 431 + }, + { + "coverage_state": "covered", + "end": 434, + "start": 432 + }, + { + "coverage_state": "clean", + "end": 435, + "start": 435 + }, { "coverage_state": "covered", "end": 439, - "start": 439 + "start": 436 }, { "coverage_state": "clean", @@ -680,168 +935,198 @@ }, { "coverage_state": "covered", - "end": 441, + "end": 442, "start": 441 }, { "coverage_state": "clean", - "end": 453, - "start": 442 + "end": 444, + "start": 443 }, { "coverage_state": "covered", - "end": 466, - "start": 454 + "end": 445, + "start": 445 }, { "coverage_state": "clean", - "end": 467, - "start": 467 + "end": 451, + "start": 446 }, { "coverage_state": "covered", - "end": 468, - "start": 468 + "end": 455, + "start": 452 }, { "coverage_state": "clean", - "end": 472, - "start": 469 + "end": 458, + "start": 456 }, { "coverage_state": "covered", - "end": 473, - "start": 473 + "end": 462, + "start": 459 + }, + { + "coverage_state": "clean", + "end": 463, + "start": 463 + }, + { + "coverage_state": "covered", + "end": 470, + "start": 464 }, { "coverage_state": "clean", "end": 474, - "start": 474 + "start": 471 }, { "coverage_state": "covered", - "end": 477, + "end": 476, "start": 475 }, { "coverage_state": "clean", - "end": 478, + "end": 477, + "start": 477 + }, + { + "coverage_state": "covered", + "end": 481, "start": 478 }, + { + "coverage_state": "clean", + "end": 482, + "start": 482 + }, { "coverage_state": "covered", - "end": 479, - "start": 479 + "end": 484, + "start": 483 }, { "coverage_state": "clean", - "end": 480, - "start": 480 - }, - { - "coverage_state": "covered", - "end": 485, - "start": 481 - }, - { - "coverage_state": "clean", - "end": 486, - "start": 486 - }, - { - "coverage_state": "covered", "end": 488, - "start": 487 + "start": 485 }, { - "coverage_state": "clean", - "end": 489, + "coverage_state": "covered", + "end": 490, "start": 489 }, + { + "coverage_state": "clean", + "end": 491, + "start": 491 + }, { "coverage_state": "covered", - "end": 495, - "start": 490 + "end": 496, + "start": 492 }, { "coverage_state": "clean", - "end": 496, - "start": 496 - }, - { - "coverage_state": "covered", - "end": 502, + "end": 497, "start": 497 }, + { + "coverage_state": "covered", + "end": 498, + "start": 498 + }, { "coverage_state": "clean", - "end": 503, + "end": 499, + "start": 499 + }, + { + "coverage_state": "covered", + "end": 501, + "start": 500 + }, + { + "coverage_state": "clean", + "end": 502, + "start": 502 + }, + { + "coverage_state": "covered", + "end": 504, "start": 503 }, + { + "coverage_state": "clean", + "end": 505, + "start": 505 + }, { "coverage_state": "covered", "end": 506, - "start": 504 + "start": 506 }, { "coverage_state": "clean", - "end": 507, + "end": 516, "start": 507 }, { "coverage_state": "covered", - "end": 512, - "start": 508 - }, - { - "coverage_state": "clean", - "end": 513, - "start": 513 - }, - { - "coverage_state": "covered", - "end": 516, - "start": 514 - }, - { - "coverage_state": "clean", - "end": 518, + "end": 520, "start": 517 }, - { - "coverage_state": "covered", - "end": 519, - "start": 519 - }, { "coverage_state": "clean", - "end": 542, - "start": 520 + "end": 521, + "start": 521 }, { "coverage_state": "covered", - "end": 544, - "start": 543 + "end": 525, + "start": 522 }, { "coverage_state": "clean", - "end": 545, - "start": 545 + "end": 526, + "start": 526 }, { "coverage_state": "covered", - "end": 551, - "start": 546 + "end": 527, + "start": 527 }, { "coverage_state": "clean", - "end": 552, - "start": 552 + "end": 535, + "start": 528 + }, + { + "coverage_state": "covered", + "end": 539, + "start": 536 + }, + { + "coverage_state": "clean", + "end": 540, + "start": 540 + }, + { + "coverage_state": "covered", + "end": 541, + "start": 541 + }, + { + "coverage_state": "clean", + "end": 549, + "start": 542 }, { "coverage_state": "covered", "end": 555, - "start": 553 + "start": 550 }, { "coverage_state": "clean", @@ -850,72 +1135,622 @@ }, { "coverage_state": "covered", - "end": 557, + "end": 562, "start": 557 }, { "coverage_state": "clean", - "end": 558, - "start": 558 + "end": 563, + "start": 563 }, { "coverage_state": "covered", - "end": 560, - "start": 559 + "end": 564, + "start": 564 }, { "coverage_state": "clean", - "end": 561, - "start": 561 + "end": 572, + "start": 565 }, { "coverage_state": "covered", - "end": 563, - "start": 562 + "end": 573, + "start": 573 + }, + { + "coverage_state": "clean", + "end": 574, + "start": 574 + }, + { + "coverage_state": "covered", + "end": 575, + "start": 575 + }, + { + "coverage_state": "clean", + "end": 587, + "start": 576 + }, + { + "coverage_state": "covered", + "end": 599, + "start": 588 + }, + { + "coverage_state": "clean", + "end": 600, + "start": 600 + }, + { + "coverage_state": "covered", + "end": 601, + "start": 601 + }, + { + "coverage_state": "clean", + "end": 607, + "start": 602 + }, + { + "coverage_state": "covered", + "end": 608, + "start": 608 + }, + { + "coverage_state": "clean", + "end": 609, + "start": 609 + }, + { + "coverage_state": "covered", + "end": 610, + "start": 610 + }, + { + "coverage_state": "clean", + "end": 616, + "start": 611 + }, + { + "coverage_state": "covered", + "end": 617, + "start": 617 + }, + { + "coverage_state": "clean", + "end": 618, + "start": 618 + }, + { + "coverage_state": "covered", + "end": 619, + "start": 619 + }, + { + "coverage_state": "clean", + "end": 625, + "start": 620 + }, + { + "coverage_state": "covered", + "end": 626, + "start": 626 + }, + { + "coverage_state": "clean", + "end": 627, + "start": 627 + }, + { + "coverage_state": "covered", + "end": 628, + "start": 628 + }, + { + "coverage_state": "clean", + "end": 640, + "start": 629 + }, + { + "coverage_state": "covered", + "end": 652, + "start": 641 + }, + { + "coverage_state": "clean", + "end": 653, + "start": 653 + }, + { + "coverage_state": "covered", + "end": 654, + "start": 654 + }, + { + "coverage_state": "clean", + "end": 657, + "start": 655 + }, + { + "coverage_state": "covered", + "end": 658, + "start": 658 + }, + { + "coverage_state": "clean", + "end": 659, + "start": 659 + }, + { + "coverage_state": "covered", + "end": 660, + "start": 660 + }, + { + "coverage_state": "clean", + "end": 693, + "start": 661 + }, + { + "coverage_state": "covered", + "end": 694, + "start": 694 + }, + { + "coverage_state": "clean", + "end": 695, + "start": 695 + }, + { + "coverage_state": "covered", + "end": 696, + "start": 696 + }, + { + "coverage_state": "clean", + "end": 712, + "start": 697 + }, + { + "coverage_state": "covered", + "end": 714, + "start": 713 + }, + { + "coverage_state": "clean", + "end": 720, + "start": 715 + }, + { + "coverage_state": "covered", + "end": 721, + "start": 721 + }, + { + "coverage_state": "clean", + "end": 723, + "start": 722 + }, + { + "coverage_state": "covered", + "end": 725, + "start": 724 + }, + { + "coverage_state": "clean", + "end": 727, + "start": 726 + }, + { + "coverage_state": "covered", + "end": 728, + "start": 728 + }, + { + "coverage_state": "clean", + "end": 734, + "start": 729 + }, + { + "coverage_state": "covered", + "end": 736, + "start": 735 + }, + { + "coverage_state": "clean", + "end": 737, + "start": 737 + }, + { + "coverage_state": "covered", + "end": 741, + "start": 738 + }, + { + "coverage_state": "clean", + "end": 742, + "start": 742 + }, + { + "coverage_state": "covered", + "end": 744, + "start": 743 + }, + { + "coverage_state": "clean", + "end": 745, + "start": 745 + }, + { + "coverage_state": "covered", + "end": 750, + "start": 746 + }, + { + "coverage_state": "clean", + "end": 751, + "start": 751 + }, + { + "coverage_state": "covered", + "end": 754, + "start": 752 + }, + { + "coverage_state": "clean", + "end": 755, + "start": 755 + }, + { + "coverage_state": "covered", + "end": 760, + "start": 756 + }, + { + "coverage_state": "clean", + "end": 761, + "start": 761 + }, + { + "coverage_state": "covered", + "end": 764, + "start": 762 + }, + { + "coverage_state": "clean", + "end": 765, + "start": 765 + }, + { + "coverage_state": "covered", + "end": 766, + "start": 766 + }, + { + "coverage_state": "clean", + "end": 767, + "start": 767 + }, + { + "coverage_state": "covered", + "end": 769, + "start": 768 }, { "coverage_state": "clean", "end": null, - "start": 564 + "start": 770 } ], - "line_coverage": 98.74000000000001, + "line_coverage": 100.0, "name": "socket_protocol.__init__.py" } ], - "line_coverage": 98.74000000000001, + "line_coverage": 100.0, "name": "socket_protocol" } ], "lost_souls": { "item_list": [], - "testcase_list": [ - "socket_protocol.pure_json_protocol: Authentification processed without secret.", - "socket_protocol.pure_json_protocol: Authentification required, but not processed/ correctly processed.", - "socket_protocol.pure_json_protocol: Checksum corumpation while sending.", - "socket_protocol.pure_json_protocol: Incompatible Callback return value(s).", - "socket_protocol.pure_json_protocol: No Callback at response instance for the request.", - "socket_protocol.pure_json_protocol: Register a second Callback with the same service_id.", - "socket_protocol.pure_json_protocol: Send and receive check including authentification.", - "socket_protocol.pure_json_protocol: Send and receive check.", - "socket_protocol.pure_json_protocol: Timeout measurement for authentification and send method.", - "socket_protocol.pure_json_protocol: Wildcard Callback registration for data_id.", - "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id and data_id.", - "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id.", - "socket_protocol.struct_json_protocol: Send and receive check (Twice for coverage of buffer initialisation).", - "socket_protocol.struct_json_protocol: Send and receive check.", - "socket_protocol: Client setting the channel name.", - "socket_protocol: Server and Client setting different channel names.", - "socket_protocol: Server and Client setting the same channel name.", - "socket_protocol: Server setting the channel name." + "testcase_list": [] + }, + "specification": { + "comment": "Comment", + "item_dict": { + "_-UtxUEzYEeuiHtQbLi1mZg": { + "Description": "The Data-ID shall hold information to differtiate the data for a specific Service.", + "Fitcriterion": "A Data-ID is part of the Message Object and it is holding the Data-ID information.", + "Heading": "Data-ID", + "ID": "REQ-3", + "ReasonForImplementation": "Give the possibility to transfer different information for each Service. ", + "last_change": "2021-01-02T11:30:34.261+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_-UtxUEzYEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_2pi_8EzZEeuiHtQbLi1mZg": { + "Description": "Every Communication shall transfer a complete message with its content.", + "Fitcriterion": "Send two different messages and compare the received message with each sent message.", + "Heading": "A full Message Object including the defined properties and data shall be transfered.", + "ID": "REQ-5", + "ReasonForImplementation": "See Reasons for every single information of the Message Object.", + "last_change": "2021-01-02T18:34:06.024+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_2pi_8EzZEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_4w4SsE1DEeuiHtQbLi1mZg": { + "Description": "An authentification is executed by the client on every connect.", + "Fitcriterion": "Check authentification feedback (client and server) after connect has been triggered.", + "Heading": "An automatic authentification shall available", + "ID": "REQ-14", + "ReasonForImplementation": "Simplify handling for authentification.", + "last_change": "2021-01-02T23:14:05.136+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_4w4SsE1DEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_7izDUEzYEeuiHtQbLi1mZg": { + "Description": "The Service-ID shall hold information about the type of the request / corresponding response. Examples: read request, write request, read response, write response, \\ldots", + "Fitcriterion": "A Service-ID is part of the Message Object and it is holding the Service-ID information.", + "Heading": "Service-ID", + "ID": "REQ-2", + "ReasonForImplementation": "Give the requestor the possibility to use different types (Services) for a transfer. ", + "last_change": "2021-01-02T11:30:12.192+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_7izDUEzYEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_AlIUwEzZEeuiHtQbLi1mZg": { + "Description": "The Data shall hold the data to be transfered. For the most requests not data is transmitted.", + "Fitcriterion": "Data is part of the Message Object and it is holding the Data information.", + "Heading": "Data", + "ID": "REQ-4", + "ReasonForImplementation": "Give the possibility to transfer Data. ", + "last_change": "2021-01-02T11:31:03.526+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_AlIUwEzZEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_CZeooE0YEeuiHtQbLi1mZg": { + "Description": "It shall be possible to add a specific message, identified by Service-ID and Data-ID, to a whitelist. All messages added to that whitelist shall be transmitted and received, if no authentification was successfull performed.", + "Fitcriterion": "Transmition and Reception will be enabled, after the message has been added to the whitelist.", + "Heading": "A whitelist for communication (rx and tx) shall be available to enable communication for unauthorised counterparts", + "ID": "REQ-9", + "ReasonForImplementation": "Give the user the possibility to define messages which will not be protected behind the authentification mechanism.", + "last_change": "2021-01-02T17:31:54.018+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_CZeooE0YEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_GhVN8E4MEeupHeIYRnC0qw": { + "Heading": "Some additional Information and Passthrough Methods", + "last_change": "2021-01-04T01:07:33.441+01:00", + "system_type_uid": "_4-K5EHYYEem_kd-7nxt1sg", + "system_uid": "_GhVN8E4MEeupHeIYRnC0qw", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_Lmn-kE0hEeuiHtQbLi1mZg": { + "Description": "After the connection is established, the client will initiate the channel name exchange. The channel name defined on the client side will be dominant.", + "Fitcriterion": "Perform a channel name exchange with no channel name definition, differing channel name definition and identical channel name definition. In all cases, the channel name of the client will be used. Perform two channel name exchanges with only one channel name definition. This definition will be used.", + "Heading": "Define a channel name for the server and client after connection is established", + "ID": "REQ-10", + "ReasonForImplementation": "Structured logging by creating logger childs for each channel.", + "last_change": "2021-01-02T23:15:38.830+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_Lmn-kE0hEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_MR7eOHYYEem_kd-7nxt1sg": { + "Description": "A Message Object shall hold the following information for transmission.", + "Heading": "Message Object", + "last_change": "2021-01-02T09:59:58.979+01:00", + "system_type_uid": "_4-K5EHYYEem_kd-7nxt1sg", + "system_uid": "_MR7eOHYYEem_kd-7nxt1sg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_Pn3WgE0NEeuiHtQbLi1mZg": { + "Description": "Communication (rx and tx) shall be disabled, if a secret is given. Except of a response for registered services, saying that a Authentification is required.", + "Fitcriterion": "RX and TX is not possible, till a successfull authentification has been performed.", + "Heading": "Communication (rx and tx) shall be disabled, if a secret is given but no authentification had been successfully performed.", + "ID": "REQ-8", + "ReasonForImplementation": "Message protection (e.g. for secure functions or data)", + "last_change": "2021-01-06T17:47:34.036+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_Pn3WgE0NEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_Tb-78E4LEeupHeIYRnC0qw": { + "Heading": "It shall be possible to register a callback for a specific Service-ID and all Data-IDs", + "ID": "REQ-15", + "last_change": "2021-01-03T22:34:48.778+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_Tb-78E4LEeupHeIYRnC0qw", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_XzMFcHYZEem_kd-7nxt1sg": { + "Description": "The Status shall hold some general information (in most cases it is used by the responder). Examples: Okay, Service or Data unknown, Operation not permitted, Authentification required, \\ldots", + "Fitcriterion": "A Status is part of the Message Object and it is holding the Status information.", + "Heading": "Status", + "ID": "REQ-1", + "ReasonForImplementation": "Give the possibility to transfer additional status information (e.g. to explain negative responses).", + "last_change": "2021-01-02T11:30:19.795+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_XzMFcHYZEem_kd-7nxt1sg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_YfrfUE4LEeupHeIYRnC0qw": { + "Heading": "It shall be possible to register a callback for a specific Data-IDs and all Service-IDs", + "ID": "REQ-16", + "last_change": "2021-01-03T22:35:14.051+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_YfrfUE4LEeupHeIYRnC0qw", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_YhmzIE4lEeupHeIYRnC0qw": { + "Description": "Every Communication shall transfer a complete message with its content.", + "Fitcriterion": "Send two different messages and compare the received message with each sent message.", + "Heading": "A full Message Object including the defined properties and data shall be transfered.", + "ID": "REQ-23", + "ReasonForImplementation": "See Reasons for every single information of the Message Object.", + "last_change": "2021-01-04T01:39:17.964+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_YhmzIE4lEeupHeIYRnC0qw", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_ZJMD8EzaEeuiHtQbLi1mZg": { + "Description": "If the checksum does not fit to the checksum of the transferred data, the message will be ignored, because the complete content including the Service- and Data-ID is possibly corrupted.", + "Fitcriterion": "Corrupted message is not in the receive buffer after transmission.", + "Heading": "A checksumm shall ensure the correct transmition", + "ID": "REQ-6", + "ReasonForImplementation": "Ensure correct data transfer.", + "last_change": "2021-01-02T10:14:02.766+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_ZJMD8EzaEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_ZOW3ME0vEeuiHtQbLi1mZg": { + "Description": "An exception shall be raised, if a service registration with an existing request SID or response SID is performed.", + "Fitcriterion": "Catch exception for registration of existing request and response SID.", + "Heading": "Registration of already registered request Service-ID or response Service-ID shall not be possible", + "ID": "REQ-12", + "ReasonForImplementation": "Changing existing services will create strange situations with already registered callbacks.", + "last_change": "2021-01-02T23:17:23.969+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_ZOW3ME0vEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_aA508E4gEeupHeIYRnC0qw": { + "Heading": "Connection established information", + "ID": "REQ-20", + "last_change": "2021-01-04T01:04:20.847+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_aA508E4gEeupHeIYRnC0qw", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_elO7wE4gEeupHeIYRnC0qw": { + "Heading": "Is connected information", + "ID": "REQ-21", + "last_change": "2021-01-04T01:04:39.113+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_elO7wE4gEeupHeIYRnC0qw", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_gvJ1oE4gEeupHeIYRnC0qw": { + "Heading": "Reconnect Method", + "ID": "REQ-22", + "last_change": "2021-01-04T01:05:07.252+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_gvJ1oE4gEeupHeIYRnC0qw", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_j-npsE0MEeuiHtQbLi1mZg": { + "Description": "The Client shall have a method to initiate the authentification. In case that the server and the client do have identical secrets, the authentification shall be successfull.", + "Fitcriterion": "Check authentification method feedback (client) and authentification feedback (client and server), in case of differing and identical secrets.", + "Heading": "An authentification between server and client shall be possible including status feedback methods ", + "ID": "REQ-7", + "ReasonForImplementation": "Message protection (e.g. for secure functions or data)", + "last_change": "2021-01-02T16:09:47.102+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_j-npsE0MEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_jZU84E4gEeupHeIYRnC0qw": { + "Heading": "Depreceated struct protocol", + "last_change": "2021-01-04T01:06:22.776+01:00", + "system_type_uid": "_4-K5EHYYEem_kd-7nxt1sg", + "system_uid": "_jZU84E4gEeupHeIYRnC0qw", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_k-Q4EE0oEeuiHtQbLi1mZg": { + "Description": "The service is defined by a Request Service-ID and a Response Service-ID.", + "Fitcriterion": "Define a service and check, that the server will respond on the new Service-ID. The Status shall be \"Request has no callback. Data buffered.\", because no callback is registered for that request.", + "Heading": "The User shall be able to define a new service", + "ID": "REQ-11", + "ReasonForImplementation": "Definition of Request and Response SIDs.", + "last_change": "2021-01-02T19:35:16.321+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_k-Q4EE0oEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_k7opsE4LEeupHeIYRnC0qw": { + "Heading": "It shall be possible to register a callback for all incomming messages", + "ID": "REQ-17", + "last_change": "2021-01-03T22:35:14.081+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_k7opsE4LEeupHeIYRnC0qw", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_qUrK8E4LEeupHeIYRnC0qw": { + "Heading": "Callbacks", + "last_change": "2021-01-03T22:35:52.411+01:00", + "system_type_uid": "_4-K5EHYYEem_kd-7nxt1sg", + "system_uid": "_qUrK8E4LEeupHeIYRnC0qw", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_r9srME0vEeuiHtQbLi1mZg": { + "Description": "", + "Heading": "It shall be possible to register a callback for a specific Service- and Data-ID", + "ID": "REQ-13", + "last_change": "2021-01-03T22:33:14.224+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_r9srME0vEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_tb5akE4LEeupHeIYRnC0qw": { + "Heading": "Callback choice, if several callbacks are available (caused by wildcard callbacks)", + "ID": "REQ-18", + "last_change": "2021-01-03T22:36:13.396+01:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_tb5akE4LEeupHeIYRnC0qw", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_zdGSEEzZEeuiHtQbLi1mZg": { + "Heading": "Communication", + "last_change": "2021-01-03T23:05:27.372+01:00", + "system_type_uid": "_4-K5EHYYEem_kd-7nxt1sg", + "system_uid": "_zdGSEEzZEeuiHtQbLi1mZg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + } + }, + "titel": "Title", + "uid_list_sorted": [ + "_MR7eOHYYEem_kd-7nxt1sg", + "_XzMFcHYZEem_kd-7nxt1sg", + "_7izDUEzYEeuiHtQbLi1mZg", + "_-UtxUEzYEeuiHtQbLi1mZg", + "_AlIUwEzZEeuiHtQbLi1mZg", + "_zdGSEEzZEeuiHtQbLi1mZg", + "_2pi_8EzZEeuiHtQbLi1mZg", + "_ZJMD8EzaEeuiHtQbLi1mZg", + "_j-npsE0MEeuiHtQbLi1mZg", + "_4w4SsE1DEeuiHtQbLi1mZg", + "_Pn3WgE0NEeuiHtQbLi1mZg", + "_CZeooE0YEeuiHtQbLi1mZg", + "_Lmn-kE0hEeuiHtQbLi1mZg", + "_k-Q4EE0oEeuiHtQbLi1mZg", + "_ZOW3ME0vEeuiHtQbLi1mZg", + "_qUrK8E4LEeupHeIYRnC0qw", + "_r9srME0vEeuiHtQbLi1mZg", + "_Tb-78E4LEeupHeIYRnC0qw", + "_YfrfUE4LEeupHeIYRnC0qw", + "_k7opsE4LEeupHeIYRnC0qw", + "_tb5akE4LEeupHeIYRnC0qw", + "_GhVN8E4MEeupHeIYRnC0qw", + "_aA508E4gEeupHeIYRnC0qw", + "_elO7wE4gEeupHeIYRnC0qw", + "_gvJ1oE4gEeupHeIYRnC0qw", + "_jZU84E4gEeupHeIYRnC0qw", + "_YhmzIE4lEeupHeIYRnC0qw" ] }, - "specification": {}, "system_information": { "Architecture": "64bit", "Distribution": "Linux Mint 20 ulyana", "Hostname": "ahorn", - "Kernel": "5.4.0-58-generic (#64-Ubuntu SMP Wed Dec 9 08:16:25 UTC 2020)", + "Kernel": "5.4.0-59-generic (#65-Ubuntu SMP Thu Dec 10 12:01:51 UTC 2020)", "Machine": "x86_64", "Path": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest", "System": "Linux", @@ -925,24 +1760,52 @@ "Dependencies": [ [ "stringtools", - "3eac28a80770a728e1f521fadb92868d" + "09b4d1c41b828c8d1ccb723fa1fd79a9" ] ], - "Description": "The Module {\\tt socket\\_protocol} is designed to pack and unpack data for serial transportation.\nFor more Information read the sphinx documentation.", + "Description": "The Module {\\tt socket\\_protocol} is designed for point to point communication for client-server issues.\nFor more Information read the sphinx documentation.", "Name": "socket_protocol", "State": "Released", "Supported Interpreters": "python2, python3", - "Version": "883349fccf7a5238d7c8d6e4e98afa6d" + "Version": "fdca73452afabd6d5a54327817639dce" }, "testrun_list": [ { - "heading_dict": {}, + "heading_dict": { + "_-UtxUEzYEeuiHtQbLi1mZg": "Data-ID", + "_2pi_8EzZEeuiHtQbLi1mZg": "A full Message Object including the defined properties and data shall be transfered.", + "_4w4SsE1DEeuiHtQbLi1mZg": "An automatic authentification shall available", + "_7izDUEzYEeuiHtQbLi1mZg": "Service-ID", + "_AlIUwEzZEeuiHtQbLi1mZg": "Data", + "_CZeooE0YEeuiHtQbLi1mZg": "A whitelist for communication (rx and tx) shall be available to enable communication for unauthorised counterparts", + "_GhVN8E4MEeupHeIYRnC0qw": "Some additional Information and Passthrough Methods", + "_Lmn-kE0hEeuiHtQbLi1mZg": "Define a channel name for the server and client after connection is established", + "_MR7eOHYYEem_kd-7nxt1sg": "Message Object", + "_Pn3WgE0NEeuiHtQbLi1mZg": "Communication (rx and tx) shall be disabled, if a secret is given but no authentification had been successfully performed.", + "_Tb-78E4LEeupHeIYRnC0qw": "It shall be possible to register a callback for a specific Service-ID and all Data-IDs", + "_XzMFcHYZEem_kd-7nxt1sg": "Status", + "_YfrfUE4LEeupHeIYRnC0qw": "It shall be possible to register a callback for a specific Data-IDs and all Service-IDs", + "_YhmzIE4lEeupHeIYRnC0qw": "A full Message Object including the defined properties and data shall be transfered.", + "_ZJMD8EzaEeuiHtQbLi1mZg": "A checksumm shall ensure the correct transmition", + "_ZOW3ME0vEeuiHtQbLi1mZg": "Registration of already registered request Service-ID or response Service-ID shall not be possible", + "_aA508E4gEeupHeIYRnC0qw": "Connection established information", + "_elO7wE4gEeupHeIYRnC0qw": "Is connected information", + "_gvJ1oE4gEeupHeIYRnC0qw": "Reconnect Method", + "_j-npsE0MEeuiHtQbLi1mZg": "An authentification between server and client shall be possible including status feedback methods ", + "_jZU84E4gEeupHeIYRnC0qw": "Depreceated struct protocol", + "_k-Q4EE0oEeuiHtQbLi1mZg": "The User shall be able to define a new service", + "_k7opsE4LEeupHeIYRnC0qw": "It shall be possible to register a callback for all incomming messages", + "_qUrK8E4LEeupHeIYRnC0qw": "Callbacks", + "_r9srME0vEeuiHtQbLi1mZg": "It shall be possible to register a callback for a specific Service- and Data-ID", + "_tb5akE4LEeupHeIYRnC0qw": "Callback choice, if several callbacks are available (caused by wildcard callbacks)", + "_zdGSEEzZEeuiHtQbLi1mZg": "Communication" + }, "interpreter": "python 2.7.18 (final)", "name": "Default Testsession name", "number_of_failed_tests": 0, "number_of_possibly_failed_tests": 0, - "number_of_successfull_tests": 18, - "number_of_tests": 18, + "number_of_successfull_tests": 22, + "number_of_tests": 22, "testcase_execution_level": 90, "testcase_names": { "0": "Single Test", @@ -951,179 +1814,79 @@ "90": "Full Test (all defined tests)" }, "testcases": { - "socket_protocol.pure_json_protocol: Authentification processed without secret.": { + "_-UtxUEzYEeuiHtQbLi1mZg": { "args": null, - "asctime": "2020-12-26 10:11:41,226", - "created": 1608973901.226603, + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878128, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "testrun", "levelname": "INFO", "levelno": 20, - "lineno": 44, - "message": "socket_protocol.pure_json_protocol: Authentification processed without secret.", + "lineno": 28, + "message": "_-UtxUEzYEeuiHtQbLi1mZg", "module": "__init__", "moduleLogger": [], - "msecs": 226.60303115844727, - "msg": "socket_protocol.pure_json_protocol: Authentification processed without secret.", + "msecs": 878.1280517578125, + "msg": "_-UtxUEzYEeuiHtQbLi1mZg", "name": "__tLogger__", "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10996.20509147644, + "relativeCreated": 42.94395446777344, "testcaseLogger": [ { - "args": [], - "asctime": "2020-12-26 10:11:41,228", - "created": 1608973901.228542, + "args": [ + "{'status': None, 'service_id': None, 'data': None, 'data_id': None}" + ], + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878207, "exc_info": null, "exc_text": null, - "filename": "test_handling_errors.py", - "funcName": "authentification_no_secret", + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", "levelname": "DEBUG", "levelno": 10, - "lineno": 90, - "message": "Authentification with no secret definition (pure_json_protocol).", - "module": "test_handling_errors", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:41,227", - "created": 1608973901.227093, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 227.09298133850098, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10996.695041656494, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:41,227", - "created": 1608973901.227539, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 227.5390625, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10997.141122817993, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:41,227", - "created": 1608973901.227932, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 227.93197631835938, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10997.534036636353, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:41,228", - "created": 1608973901.228328, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 228.32798957824707, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10997.93004989624, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 228.54208946228027, - "msg": "Authentification with no secret definition (pure_json_protocol).", + "lineno": 10, + "message": "Creating empty message object: {'status': None, 'service_id': None, 'data': None, 'data_id': None}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 878.2069683074951, + "msg": "Creating empty message object: %s", "name": "__tLogger__", - "pathname": "src/tests/test_handling_errors.py", - "process": 260862, + "pathname": "src/tests/test_message_object.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10998.144149780273, - "thread": 139911147616064, + "relativeCreated": 43.022871017456055, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00021409988403320312 + "time_consumption": 0.0 }, { "args": [ - "False", - "" + "'data_id'" ], - "asctime": "2020-12-26 10:11:41,229", - "created": 1608973901.229028, + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878362, "exc_info": null, "exc_text": null, "filename": "test.py", - "funcName": "equivalency_chk", + "funcName": "in_list_dict_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of authentification is correct (Content False and Type is ).", + "lineno": 242, + "message": "data_id is part of the message object is correct ('data_id' is in the list or dict).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of authentification", - "False", - "" + "data_id is part of the message object", + "{'status': None, 'service_id': None, 'data': None, 'data_id': None}", + "" ], - "asctime": "2020-12-26 10:11:41,228", - "created": 1608973901.228824, + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.87828, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1131,26 +1894,216 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of authentification): False ()", + "message": "Result (data_id is part of the message object): {'status': None, 'service_id': None, 'data': None, 'data_id': None} ()", "module": "test", - "msecs": 228.82390022277832, + "msecs": 878.2799243927002, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10998.425960540771, - "thread": 139911147616064, + "relativeCreated": 43.09582710266113, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return value of authentification", - "False", - "" + "data_id is part of the message object", + "'data_id'" ], - "asctime": "2020-12-26 10:11:41,228", - "created": 1608973901.22893, + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878322, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (data_id is part of the message object): 'data_id' in result", + "module": "test", + "msecs": 878.3218860626221, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 43.13778877258301, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 878.3619403839111, + "msg": "data_id is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 43.17784309387207, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.00543212890625e-05 + }, + { + "args": [ + "{'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'}" + ], + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878439, + "exc_info": null, + "exc_text": null, + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Creating a maximum message object: {'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 878.4389495849609, + "msg": "Creating a maximum message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 43.254852294921875, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'data_id'" + ], + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878592, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "data_id is part of the message object is correct ('data_id' is in the list or dict).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "data_id is part of the message object", + "{'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'}", + "" + ], + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878506, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (data_id is part of the message object): {'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'} ()", + "module": "test", + "msecs": 878.5059452056885, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 43.321847915649414, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "data_id is part of the message object", + "'data_id'" + ], + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878547, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (data_id is part of the message object): 'data_id' in result", + "module": "test", + "msecs": 878.546953201294, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 43.36285591125488, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 878.5920143127441, + "msg": "data_id is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 43.40791702270508, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.506111145019531e-05 + }, + { + "args": [ + "'DID'", + "" + ], + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878747, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Content in message object for data_id is correct (Content 'DID' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Content in message object for data_id", + "'DID'", + "" + ], + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878667, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Content in message object for data_id): 'DID' ()", + "module": "test", + "msecs": 878.6671161651611, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 43.48301887512207, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Content in message object for data_id", + "'DID'", + "" + ], + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878707, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1158,1223 +2111,1331 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of authentification): result = False ()", + "message": "Expectation (Content in message object for data_id): result = 'DID' ()", "module": "test", - "msecs": 228.92999649047852, + "msecs": 878.7069320678711, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10998.532056808472, - "thread": 139911147616064, + "relativeCreated": 43.52283477783203, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 229.02798652648926, - "msg": "Return value of authentification is correct (Content %s and Type is %s).", + "msecs": 878.7469863891602, + "msg": "Content in message object for data_id is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10998.630046844482, - "thread": 139911147616064, + "relativeCreated": 43.562889099121094, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 9.799003601074219e-05 + "time_consumption": 4.00543212890625e-05 } ], - "thread": 139911147616064, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.002424955368041992, - "time_finished": "2020-12-26 10:11:41,229", - "time_start": "2020-12-26 10:11:41,226" + "time_consumption": 0.0006189346313476562, + "time_finished": "2021-01-06 22:48:56,878", + "time_start": "2021-01-06 22:48:56,878" }, - "socket_protocol.pure_json_protocol: Authentification required, but not processed/ correctly processed.": { + "_2pi_8EzZEeuiHtQbLi1mZg": { "args": null, - "asctime": "2020-12-26 10:11:39,812", - "created": 1608973899.812216, + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879598, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "testrun", "levelname": "INFO", "levelno": 20, - "lineno": 43, - "message": "socket_protocol.pure_json_protocol: Authentification required, but not processed/ correctly processed.", + "lineno": 33, + "message": "_2pi_8EzZEeuiHtQbLi1mZg", "module": "__init__", "moduleLogger": [], - "msecs": 812.21604347229, - "msg": "socket_protocol.pure_json_protocol: Authentification required, but not processed/ correctly processed.", + "msecs": 879.5979022979736, + "msg": "_2pi_8EzZEeuiHtQbLi1mZg", "name": "__tLogger__", "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9581.818103790283, + "relativeCreated": 44.41380500793457, "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:41,020", - "created": 1608973901.020524, + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881673, "exc_info": null, "exc_text": null, - "filename": "test_handling_errors.py", - "funcName": "authentification_error", + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", "levelname": "DEBUG", "levelno": 10, - "lineno": 67, - "message": "Authentification with different secrets for request and response instance (pure_json_protocol).", - "module": "test_handling_errors", + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", "moduleLogger": [ { "args": [ - " SP server:" + "SP server:" ], - "asctime": "2020-12-26 10:11:39,812", - "created": 1608973899.812801, + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879748, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 812.8008842468262, + "msecs": 879.7481060028076, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9582.40294456482, - "thread": 139911147616064, + "relativeCreated": 44.564008712768555, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:39,813", - "created": 1608973899.813259, + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879806, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 813.2588863372803, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9582.860946655273, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:39,813", - "created": 1608973899.813639, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", + "funcName": "add_service", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", "module": "__init__", - "msecs": 813.6389255523682, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", + "msecs": 879.8060417175293, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9583.240985870361, - "thread": 139911147616064, + "relativeCreated": 44.621944427490234, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: authentification request, data_id: seed" ], - "asctime": "2020-12-26 10:11:39,814", - "created": 1608973899.814036, + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879877, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 814.0358924865723, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9583.637952804565, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:39,814", - "created": 1608973899.81429, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "authentificate", - "levelname": "INFO", - "levelno": 20, - "lineno": 456, - "message": " SP server: Requesting seed for authentification", - "module": "__init__", - "msecs": 814.2900466918945, - "msg": "%s Requesting seed for authentification", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9583.892107009888, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 1, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:39,814", - "created": 1608973899.814476, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 1, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 814.4760131835938, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9584.078073501587, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:39,814", - "created": 1608973899.814926, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", + "funcName": "add_msg_to_auth_whitelist_", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 2c 2d 2e 5d", - "module": "test_helpers", - "msecs": 814.9259090423584, - "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 2c 2d 2e 5d", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 879.8770904541016, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9584.527969360352, - "thread": 139911147616064, + "relativeCreated": 44.6929931640625, + "thread": 140012350113600, "threadName": "MainThread" }, { - "args": [], - "asctime": "2020-12-26 10:11:39,966", - "created": 1608973899.966171, + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879924, "exc_info": null, "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 2c 2d 2e 5d", - "module": "test_helpers", - "msecs": 966.1710262298584, - "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 2c 2d 2e 5d", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 879.9240589141846, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9735.773086547852, - "thread": 139911118194432, - "threadName": "Thread-26" + "relativeCreated": 44.73996162414551, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879969, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 879.9688816070557, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 44.7847843170166, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.88001, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 880.0098896026611, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 44.82579231262207, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", "0", + "0" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880058, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 880.0580501556396, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 44.873952865600586, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", "1", - "0", - "None" + "0" ], - "asctime": "2020-12-26 10:11:39,966", - "created": 1608973899.966614, + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880107, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 1, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 966.6140079498291, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9736.216068267822, - "thread": 139911118194432, - "threadName": "Thread-26" - }, - { - "args": [ - " SP server:", - "__authentificate_create_seed__" - ], - "asctime": "2020-12-26 10:11:39,966", - "created": 1608973899.966863, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", + "funcName": "add", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback __authentificate_create_seed__ to process received data", + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", "module": "__init__", - "msecs": 966.8629169464111, - "msg": "%s Executing callback %s to process received data", + "msecs": 880.1069259643555, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9736.464977264404, - "thread": 139911118194432, - "threadName": "Thread-26" + "relativeCreated": 44.922828674316406, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" ], - "asctime": "2020-12-26 10:11:39,967", - "created": 1608973899.967068, + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880153, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentificate_create_seed__", - "levelname": "INFO", - "levelno": 20, - "lineno": 482, - "message": " SP server: Got seed request, sending seed for authentification", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", "module": "__init__", - "msecs": 967.0679569244385, - "msg": "%s Got seed request, sending seed for authentification", + "msecs": 880.1529407501221, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9736.670017242432, - "thread": 139911118194432, - "threadName": "Thread-26" + "relativeCreated": 44.96884346008301, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - 0, - 2, - 0, - "'3394f16e89fecd5e5e874d2c49cef180f654cf347db2fbe03998e2166d1f6f54'" + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" ], - "asctime": "2020-12-26 10:11:39,967", - "created": 1608973899.967313, + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880204, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 880.2039623260498, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.01986503601074, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880248, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 880.2480697631836, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.06397247314453, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880299, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 880.2990913391113, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.114994049072266, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880347, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 880.3470134735107, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.16291618347168, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880394, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 880.3939819335938, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.20988464355469, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880438, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 880.4380893707275, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.25399208068848, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880483, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 880.4829120635986, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.29881477355957, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880535, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 880.5348873138428, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.35079002380371, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880577, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 880.5770874023438, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.39299011230469, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.88062, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 880.620002746582, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.43590545654297, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880662, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 880.6619644165039, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.477867126464844, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880758, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 880.7580471038818, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.57394981384277, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880807, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 880.8069229125977, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.622825622558594, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880872, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 880.8720111846924, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.68791389465332, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880917, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 880.9170722961426, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.732975006103516, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880958, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 880.958080291748, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.773983001708984, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:48:56,880", + "created": 1609969736.880999, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 880.9990882873535, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.81499099731445, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881048, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 881.0479640960693, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.86386680603027, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881094, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 881.0939788818359, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.909881591796875, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881139, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 881.1390399932861, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 45.95494270324707, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881184, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 881.1841011047363, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 46.000003814697266, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881226, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 881.2260627746582, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 46.04196548461914, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881278, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 881.2780380249023, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 46.09394073486328, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881325, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 881.3250064849854, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 46.14090919494629, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881366, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 881.3660144805908, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 46.18191719055176, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881409, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 881.4089298248291, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 46.22483253479004, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881454, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 881.4539909362793, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 46.269893646240234, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.8815, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 881.5000057220459, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 46.315908432006836, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881542, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 881.5419673919678, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 46.35787010192871, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881584, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 881.5839290618896, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 46.399831771850586, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881628, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 881.6280364990234, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 46.443939208984375, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 881.6730976104736, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 46.48900032043457, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.506111145019531e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:48:56,982", + "created": 1609969736.982504, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "send_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 53, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.88177, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 2, data_id: 0, data: \"'3394f16e89fecd5e5e874d2c49cef180f654cf347db2fbe03998e2166d1f6f54'\"", + "lineno": 719, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", "module": "__init__", - "msecs": 967.3130512237549, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 881.7698955535889, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9736.915111541748, - "thread": 139911118194432, - "threadName": "Thread-26" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:39,967", - "created": 1608973899.967944, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 22 33 33 39 34 66 31 36 65 38 39 66 65 63 64 35 65 35 65 38 37 34 64 32 63 34 39 63 65 66 31 38 30 66 36 35 34 63 66 33 34 37 64 62 32 66 62 65 30 33 39 39 38 65 32 31 36 36 64 31 66 36 66 35 34 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c1 c7 ea 60", - "module": "test_helpers", - "msecs": 967.9439067840576, - "msg": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 22 33 33 39 34 66 31 36 65 38 39 66 65 63 64 35 65 35 65 38 37 34 64 32 63 34 39 63 65 66 31 38 30 66 36 35 34 63 66 33 34 37 64 62 32 66 62 65 30 33 39 39 38 65 32 31 36 36 64 31 66 36 66 35 34 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c1 c7 ea 60", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9737.54596710205, - "thread": 139911118194432, - "threadName": "Thread-26" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:40,119", - "created": 1608973900.119503, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 22 33 33 39 34 66 31 36 65 38 39 66 65 63 64 35 65 35 65 38 37 34 64 32 63 34 39 63 65 66 31 38 30 66 36 35 34 63 66 33 34 37 64 62 32 66 62 65 30 33 39 39 38 65 32 31 36 36 64 31 66 36 66 35 34 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c1 c7 ea 60", - "module": "test_helpers", - "msecs": 119.50302124023438, - "msg": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 22 33 33 39 34 66 31 36 65 38 39 66 65 63 64 35 65 35 65 38 37 34 64 32 63 34 39 63 65 66 31 38 30 66 36 35 34 63 66 33 34 37 64 62 32 66 62 65 30 33 39 39 38 65 32 31 36 36 64 31 66 36 66 35 34 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c1 c7 ea 60", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9889.105081558228, - "thread": 139911126587136, - "threadName": "Thread-27" - }, - { - "args": [ - " SP server:", - "0", - "2", - "0", - "u'3394f16e89fecd5e5e874d2c49cef180f654cf347db2fbe03998e2166d1f6f54'" - ], - "asctime": "2020-12-26 10:11:40,119", - "created": 1608973900.119941, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 2, data_id: 0, data: \"u'3394f16e89fecd5e5e874d2c49cef180f654cf347db2fbe03998e2166d1f6f54'\"", - "module": "__init__", - "msecs": 119.94099617004395, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9889.543056488037, - "thread": 139911126587136, - "threadName": "Thread-27" - }, - { - "args": [ - " SP server:", - "__authentificate_create_key__" - ], - "asctime": "2020-12-26 10:11:40,120", - "created": 1608973900.120222, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback __authentificate_create_key__ to process received data", - "module": "__init__", - "msecs": 120.22209167480469, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9889.824151992798, - "thread": 139911126587136, - "threadName": "Thread-27" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:40,120", - "created": 1608973900.120413, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentificate_create_key__", - "levelname": "INFO", - "levelno": 20, - "lineno": 491, - "message": " SP server: Got seed, sending key for authentification", - "module": "__init__", - "msecs": 120.41306495666504, - "msg": "%s Got seed, sending key for authentification", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9890.015125274658, - "thread": 139911126587136, - "threadName": "Thread-27" - }, - { - "args": [ - " SP server:", - 0, - 3, - 0, - "'73d0ef4f8c1e50709490dad69d9517ff4e486ab60f5762ebf17f733e4f74dcda5fc2660ec58bdab64ffaa9312e50911033632670d5093e675d19158b2ca58330'" - ], - "asctime": "2020-12-26 10:11:40,120", - "created": 1608973900.120685, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 3, data_id: 0, data: \"'73d0ef4f8c1e50709490dad69d9517ff4e486ab60f5762ebf17f733e4f74dcda5fc2660ec58bdab64ffaa9312e50911033632670d5093e675d19158b2ca58330'\"", - "module": "__init__", - "msecs": 120.68510055541992, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9890.287160873413, - "thread": 139911126587136, - "threadName": "Thread-27" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:40,121", - "created": 1608973900.12151, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 64 61 74 61 22 3a 20 22 37 33 64 30 65 66 34 66 38 63 31 65 35 30 37 30 39 34 39 30 64 61 64 36 39 64 39 35 31 37 66 66 34 65 34 38 36 61 62 36 30 66 35 37 36 32 65 62 66 31 37 66 37 33 33 65 34 66 37 34 64 63 64 61 35 66 63 32 36 36 30 65 63 35 38 62 64 61 62 36 34 66 66 61 61 39 33 31 32 65 35 30 39 31 31 30 33 33 36 33 32 36 37 30 64 35 30 39 33 65 36 37 35 64 31 39 31 35 38 62 32 63 61 35 38 33 33 30 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d ff c4 ce 07", - "module": "test_helpers", - "msecs": 121.51002883911133, - "msg": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 64 61 74 61 22 3a 20 22 37 33 64 30 65 66 34 66 38 63 31 65 35 30 37 30 39 34 39 30 64 61 64 36 39 64 39 35 31 37 66 66 34 65 34 38 36 61 62 36 30 66 35 37 36 32 65 62 66 31 37 66 37 33 33 65 34 66 37 34 64 63 64 61 35 66 63 32 36 36 30 65 63 35 38 62 64 61 62 36 34 66 66 61 61 39 33 31 32 65 35 30 39 31 31 30 33 33 36 33 32 36 37 30 64 35 30 39 33 65 36 37 35 64 31 39 31 35 38 62 32 63 61 35 38 33 33 30 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d ff c4 ce 07", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9891.112089157104, - "thread": 139911126587136, - "threadName": "Thread-27" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:40,273", - "created": 1608973900.273106, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 64 61 74 61 22 3a 20 22 37 33 64 30 65 66 34 66 38 63 31 65 35 30 37 30 39 34 39 30 64 61 64 36 39 64 39 35 31 37 66 66 34 65 34 38 36 61 62 36 30 66 35 37 36 32 65 62 66 31 37 66 37 33 33 65 34 66 37 34 64 63 64 61 35 66 63 32 36 36 30 65 63 35 38 62 64 61 62 36 34 66 66 61 61 39 33 31 32 65 35 30 39 31 31 30 33 33 36 33 32 36 37 30 64 35 30 39 33 65 36 37 35 64 31 39 31 35 38 62 32 63 61 35 38 33 33 30 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d ff c4 ce 07", - "module": "test_helpers", - "msecs": 273.1060981750488, - "msg": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 64 61 74 61 22 3a 20 22 37 33 64 30 65 66 34 66 38 63 31 65 35 30 37 30 39 34 39 30 64 61 64 36 39 64 39 35 31 37 66 66 34 65 34 38 36 61 62 36 30 66 35 37 36 32 65 62 66 31 37 66 37 33 33 65 34 66 37 34 64 63 64 61 35 66 63 32 36 36 30 65 63 35 38 62 64 61 62 36 34 66 66 61 61 39 33 31 32 65 35 30 39 31 31 30 33 33 36 33 32 36 37 30 64 35 30 39 33 65 36 37 35 64 31 39 31 35 38 62 32 63 61 35 38 33 33 30 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d ff c4 ce 07", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10042.708158493042, - "thread": 139911118194432, - "threadName": "Thread-28" - }, - { - "args": [ - " SP server:", - "0", - "3", - "0", - "u'73d0ef4f8c1e50709490dad69d9517ff4e486ab60f5762ebf17f733e4f74dcda5fc2660ec58bdab64ffaa9312e50911033632670d5093e675d19158b2ca58330'" - ], - "asctime": "2020-12-26 10:11:40,273", - "created": 1608973900.273561, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 3, data_id: 0, data: \"u'73d0ef4f8c1e50709490dad69d9517ff4e486ab60f5762ebf17f733e4f74dcda5fc2660ec58bdab64ffaa9312e50911033632670d5093e675d19158b2ca58330'\"", - "module": "__init__", - "msecs": 273.5610008239746, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10043.163061141968, - "thread": 139911118194432, - "threadName": "Thread-28" - }, - { - "args": [ - " SP server:", - "__authentificate_check_key__" - ], - "asctime": "2020-12-26 10:11:40,273", - "created": 1608973900.273813, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback __authentificate_check_key__ to process received data", - "module": "__init__", - "msecs": 273.81300926208496, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10043.415069580078, - "thread": 139911118194432, - "threadName": "Thread-28" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:40,274", - "created": 1608973900.274047, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentificate_check_key__", - "levelname": "INFO", - "levelno": 20, - "lineno": 505, - "message": " SP server: Got incorrect key, sending negative authentification feedback", - "module": "__init__", - "msecs": 274.0468978881836, - "msg": "%s Got incorrect key, sending negative authentification feedback", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10043.648958206177, - "thread": 139911118194432, - "threadName": "Thread-28" - }, - { - "args": [ - " SP server:", - 0, - 4, - 0, - "False" - ], - "asctime": "2020-12-26 10:11:40,274", - "created": 1608973900.274266, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 4, data_id: 0, data: \"False\"", - "module": "__init__", - "msecs": 274.26600456237793, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10043.868064880371, - "thread": 139911118194432, - "threadName": "Thread-28" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:40,274", - "created": 1608973900.274721, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (63): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 8d 2b 5d a9", - "module": "test_helpers", - "msecs": 274.7209072113037, - "msg": "Send data: (63): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 8d 2b 5d a9", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10044.322967529297, - "thread": 139911118194432, - "threadName": "Thread-28" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:40,425", - "created": 1608973900.425891, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (63): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 8d 2b 5d a9", - "module": "test_helpers", - "msecs": 425.8909225463867, - "msg": "Receive data (63): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 8d 2b 5d a9", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10195.49298286438, - "thread": 139911126587136, - "threadName": "Thread-29" - }, - { - "args": [ - " SP server:", - "0", - "4", - "0", - "False" - ], - "asctime": "2020-12-26 10:11:40,426", - "created": 1608973900.42635, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 4, data_id: 0, data: \"False\"", - "module": "__init__", - "msecs": 426.3501167297363, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10195.95217704773, - "thread": 139911126587136, - "threadName": "Thread-29" - }, - { - "args": [ - " SP server:", - "__authentificate_process_feedback__" - ], - "asctime": "2020-12-26 10:11:40,426", - "created": 1608973900.426596, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback __authentificate_process_feedback__ to process received data", - "module": "__init__", - "msecs": 426.59592628479004, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10196.197986602783, - "thread": 139911126587136, - "threadName": "Thread-29" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:40,426", - "created": 1608973900.426784, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentificate_process_feedback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 515, - "message": " SP server: Got negative authentification feedback", - "module": "__init__", - "msecs": 426.7840385437012, - "msg": "%s Got negative authentification feedback", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10196.386098861694, - "thread": 139911126587136, - "threadName": "Thread-29" - }, - { - "args": [ - " SP server:", - 0, - 10, - 45054, - "{u'test': u'test'}" - ], - "asctime": "2020-12-26 10:11:40,517", - "created": 1608973900.517561, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", - "module": "__init__", - "msecs": 517.5609588623047, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10287.163019180298, - "thread": 139911147616064, + "relativeCreated": 46.585798263549805, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:40,518", - "created": 1608973900.518281, + "asctime": "2021-01-06 22:48:56,881", + "created": 1609969736.881937, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", "module": "test_helpers", - "msecs": 518.2809829711914, - "msg": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "msecs": 881.9370269775391, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10287.883043289185, - "thread": 139911147616064, + "relativeCreated": 46.7529296875, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:40,669", - "created": 1608973900.669738, + "asctime": "2021-01-06 22:48:56,882", + "created": 1609969736.88205, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", "module": "test_helpers", - "msecs": 669.7380542755127, - "msg": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "msecs": 882.0500373840332, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10439.340114593506, - "thread": 139911126587136, - "threadName": "Thread-30" + "relativeCreated": 46.86594009399414, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "10", - "45054", - "{u'test': u'test'}" + "SP server:", + "service: 17, data_id: 34", + "status: okay", + "u'msg1_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:40,670", - "created": 1608973900.670187, + "asctime": "2021-01-06 22:48:56,882", + "created": 1609969736.882137, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", + "lineno": 450, + "message": "SP server: RX <- service: 17, data_id: 34, status: okay, data: \"u'msg1_data_to_be_transfered'\"", "module": "__init__", - "msecs": 670.1869964599609, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 882.1370601654053, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10439.789056777954, - "thread": 139911126587136, - "threadName": "Thread-30" + "relativeCreated": 46.95296287536621, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "Unknown Client" + "SP server:" ], - "asctime": "2020-12-26 10:11:40,670", - "created": 1608973900.67046, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 335, - "message": " SP server: Received message needs authentification: Unknown Client. Sending negative response.", - "module": "__init__", - "msecs": 670.4599857330322, - "msg": "%s Received message needs authentification: %s. Sending negative response.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10440.062046051025, - "thread": 139911126587136, - "threadName": "Thread-30" - }, - { - "args": [ - " SP server:", - 2, - 11, - 45054, - "None" - ], - "asctime": "2020-12-26 10:11:40,670", - "created": 1608973900.670655, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 2, service_id: 11, data_id: 45054, data: \"None\"", - "module": "__init__", - "msecs": 670.6550121307373, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10440.25707244873, - "thread": 139911126587136, - "threadName": "Thread-30" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:40,671", - "created": 1608973900.671121, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (67): 7b 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 0b 25 14 73", - "module": "test_helpers", - "msecs": 671.1208820343018, - "msg": "Send data: (67): 7b 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 0b 25 14 73", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10440.722942352295, - "thread": 139911126587136, - "threadName": "Thread-30" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:40,822", - "created": 1608973900.822277, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (67): 7b 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 0b 25 14 73", - "module": "test_helpers", - "msecs": 822.2770690917969, - "msg": "Receive data (67): 7b 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 0b 25 14 73", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10591.87912940979, - "thread": 139911118194432, - "threadName": "Thread-31" - }, - { - "args": [ - " SP server:", - "2", - "11", - "45054", - "None" - ], - "asctime": "2020-12-26 10:11:40,822", - "created": 1608973900.822687, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 2, service_id: 11, data_id: 45054, data: \"None\"", - "module": "__init__", - "msecs": 822.6869106292725, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10592.288970947266, - "thread": 139911118194432, - "threadName": "Thread-31" - }, - { - "args": [ - " SP server:", - "Authentification required" - ], - "asctime": "2020-12-26 10:11:40,822", - "created": 1608973900.822946, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Authentification required", - "module": "__init__", - "msecs": 822.9460716247559, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10592.548131942749, - "thread": 139911118194432, - "threadName": "Thread-31" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:40,823", - "created": 1608973900.823139, + "asctime": "2021-01-06 22:48:56,882", + "created": 1609969736.882208, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__buffer_received_data__", "levelname": "DEBUG", "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "lineno": 375, + "message": "SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", "module": "__init__", - "msecs": 823.138952255249, + "msecs": 882.2081089019775, "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10592.741012573242, - "thread": 139911118194432, - "threadName": "Thread-31" - } - ], - "msecs": 20.524024963378906, - "msg": "Authentification with different secrets for request and response instance (pure_json_protocol).", - "name": "__tLogger__", - "pathname": "src/tests/test_handling_errors.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10790.126085281372, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.19738507270812988 - }, - { - "args": [ - "False", - "" - ], - "asctime": "2020-12-26 10:11:41,021", - "created": 1608973901.021478, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return value of authentification is correct (Content False and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Return value of authentification", - "False", - "" - ], - "asctime": "2020-12-26 10:11:41,021", - "created": 1608973901.021096, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return value of authentification): False ()", - "module": "test", - "msecs": 21.095991134643555, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10790.698051452637, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return value of authentification", - "False", - "" - ], - "asctime": "2020-12-26 10:11:41,021", - "created": 1608973901.0213, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return value of authentification): result = False ()", - "module": "test", - "msecs": 21.300077438354492, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10790.902137756348, - "thread": 139911147616064, + "relativeCreated": 47.02401161193848, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 21.477937698364258, - "msg": "Return value of authentification is correct (Content %s and Type is %s).", + "msecs": 982.5038909912109, + "msg": "Transfering a message client -> server", "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, + "pathname": "src/tests/test_communication.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10791.079998016357, - "thread": 139911147616064, + "relativeCreated": 147.31979370117188, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00017786026000976562 + "time_consumption": 0.1002957820892334 }, { "args": [ "True", "" ], - "asctime": "2020-12-26 10:11:41,022", - "created": 1608973901.022084, + "asctime": "2021-01-06 22:48:56,983", + "created": 1609969736.983235, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:41,021", - "created": 1608973901.021762, + "asctime": "2021-01-06 22:48:56,982", + "created": 1609969736.982921, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2382,26 +3443,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of send method): True ()", + "message": "Result (Returnvalue of Client send Method): True ()", "module": "test", - "msecs": 21.76189422607422, + "msecs": 982.9208850860596, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10791.363954544067, - "thread": 139911147616064, + "relativeCreated": 147.7367877960205, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:41,021", - "created": 1608973901.021926, + "asctime": "2021-01-06 22:48:56,983", + "created": 1609969736.983086, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2409,55 +3470,55 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", + "message": "Expectation (Returnvalue of Client send Method): result = True ()", "module": "test", - "msecs": 21.925926208496094, + "msecs": 983.086109161377, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10791.52798652649, - "thread": 139911147616064, + "relativeCreated": 147.9020118713379, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 22.08399772644043, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "msecs": 983.2348823547363, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10791.686058044434, - "thread": 139911147616064, + "relativeCreated": 148.05078506469727, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00015807151794433594 + "time_consumption": 0.000148773193359375 }, { "args": [ - "2", - "" + "{u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34}", + "" ], - "asctime": "2020-12-26 10:11:41,022", - "created": 1608973901.022666, + "asctime": "2021-01-06 22:48:56,983", + "created": 1609969736.983785, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Response Status (Authentification required) transfered via pure_json_protocol is correct (Content 2 and Type is ).", + "lineno": 144, + "message": "Received message on server side is correct (Content {u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Response Status (Authentification required) transfered via pure_json_protocol", - "2", - "" + "Received message on server side", + "{u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34}", + "" ], - "asctime": "2020-12-26 10:11:41,022", - "created": 1608973901.022347, + "asctime": "2021-01-06 22:48:56,983", + "created": 1609969736.983485, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2465,26 +3526,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Response Status (Authentification required) transfered via pure_json_protocol): 2 ()", + "message": "Result (Received message on server side): {u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34} ()", "module": "test", - "msecs": 22.346973419189453, + "msecs": 983.4849834442139, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10791.949033737183, - "thread": 139911147616064, + "relativeCreated": 148.3008861541748, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Response Status (Authentification required) transfered via pure_json_protocol", - "2", - "" + "Received message on server side", + "{'status': 0, 'service_id': 17, 'data': 'msg1_data_to_be_transfered', 'data_id': 34}", + "" ], - "asctime": "2020-12-26 10:11:41,022", - "created": 1608973901.022502, + "asctime": "2021-01-06 22:48:56,983", + "created": 1609969736.98363, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2492,166 +3553,234 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Response Status (Authentification required) transfered via pure_json_protocol): result = 2 ()", + "message": "Expectation (Received message on server side): result = {'status': 0, 'service_id': 17, 'data': 'msg1_data_to_be_transfered', 'data_id': 34} ()", "module": "test", - "msecs": 22.50194549560547, + "msecs": 983.6299419403076, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10792.104005813599, - "thread": 139911147616064, + "relativeCreated": 148.44584465026855, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 22.665977478027344, - "msg": "Response Status (Authentification required) transfered via pure_json_protocol is correct (Content %s and Type is %s).", + "msecs": 983.7849140167236, + "msg": "Received message on server side is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10792.26803779602, - "thread": 139911147616064, + "relativeCreated": 148.60081672668457, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.000164031982421875 + "time_consumption": 0.00015497207641601562 }, { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:41,023", - "created": 1608973901.023224, + "args": [], + "asctime": "2021-01-06 22:48:57,085", + "created": 1609969737.085979, "exc_info": null, "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data (no data) transfered via pure_json_protocol is correct (Content None and Type is ).", - "module": "test", + "filename": "test_communication.py", + "funcName": "send_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 59, + "message": "Transfering a message server -> client", + "module": "test_communication", "moduleLogger": [ { "args": [ - "Response Data (no data) transfered via pure_json_protocol", - "None", - "" + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:41,022", - "created": 1608973901.022919, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data (no data) transfered via pure_json_protocol): None ()", - "module": "test", - "msecs": 22.9189395904541, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10792.520999908447, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data (no data) transfered via pure_json_protocol", - "None", - "" - ], - "asctime": "2020-12-26 10:11:41,023", - "created": 1608973901.02307, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data (no data) transfered via pure_json_protocol): result = None ()", - "module": "test", - "msecs": 23.070096969604492, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10792.672157287598, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 23.2241153717041, - "msg": "Response Data (no data) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10792.826175689697, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00015401840209960938 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:41,124", - "created": 1608973901.12466, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:41,123", - "created": 1608973901.123867, + "asctime": "2021-01-06 22:48:56,984", + "created": 1609969736.984053, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", "module": "__init__", - "msecs": 123.86703491210938, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "msecs": 984.0528964996338, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10893.469095230103, - "thread": 139911147616064, + "relativeCreated": 148.86879920959473, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:56,984", + "created": 1609969736.984518, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "module": "test_helpers", + "msecs": 984.5180511474609, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 149.33395385742188, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:56,984", + "created": 1609969736.984869, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "module": "test_helpers", + "msecs": 984.8690032958984, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 149.68490600585938, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "SP client:", + "service: 17, data_id: 35", + "status: service or data unknown", + "u'msg2_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:41,124", - "created": 1608973901.124256, + "asctime": "2021-01-06 22:48:56,985", + "created": 1609969736.98513, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: 17, data_id: 35, status: service or data unknown, data: \"u'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 985.1300716400146, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 149.9459743499756, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: service or data unknown" + ], + "asctime": "2021-01-06 22:48:56,985", + "created": 1609969736.985288, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: service or data unknown", + "module": "__init__", + "msecs": 985.2879047393799, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 150.10380744934082, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:56,985", + "created": 1609969736.985485, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 985.4850769042969, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 150.3009796142578, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 85.97898483276367, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 250.7948875427246, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.1004939079284668 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,086", + "created": 1609969737.086861, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,086", + "created": 1609969737.086477, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2659,26 +3788,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", + "message": "Result (Returnvalue of Server send Method): True ()", "module": "test", - "msecs": 124.25589561462402, + "msecs": 86.47704124450684, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10893.857955932617, - "thread": 139911147616064, + "relativeCreated": 251.29294395446777, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "Returnvalue of Server send Method", + "True", + "" ], - "asctime": "2020-12-26 10:11:41,124", - "created": 1608973901.124477, + "asctime": "2021-01-06 22:48:57,086", + "created": 1609969737.086679, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2686,505 +3815,1286 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", + "message": "Expectation (Returnvalue of Server send Method): result = True ()", "module": "test", - "msecs": 124.47690963745117, + "msecs": 86.67898178100586, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10894.078969955444, - "thread": 139911147616064, + "relativeCreated": 251.4948844909668, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 124.66001510620117, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", + "msecs": 86.86089515686035, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10894.262075424194, - "thread": 139911147616064, + "relativeCreated": 251.6767978668213, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001819133758544922 + }, + { + "args": [ + "{u'status': 4, u'service_id': 17, u'data': u'msg2_data_to_be_transfered', u'data_id': 35}", + "" + ], + "asctime": "2021-01-06 22:48:57,087", + "created": 1609969737.087572, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on client side is correct (Content {u'status': 4, u'service_id': 17, u'data': u'msg2_data_to_be_transfered', u'data_id': 35} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on client side", + "{u'status': 4, u'service_id': 17, u'data': u'msg2_data_to_be_transfered', u'data_id': 35}", + "" + ], + "asctime": "2021-01-06 22:48:57,087", + "created": 1609969737.087202, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on client side): {u'status': 4, u'service_id': 17, u'data': u'msg2_data_to_be_transfered', u'data_id': 35} ()", + "module": "test", + "msecs": 87.20207214355469, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 252.01797485351562, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on client side", + "{'status': 4, 'service_id': 17, 'data': 'msg2_data_to_be_transfered', 'data_id': 35}", + "" + ], + "asctime": "2021-01-06 22:48:57,087", + "created": 1609969737.087389, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on client side): result = {'status': 4, 'service_id': 17, 'data': 'msg2_data_to_be_transfered', 'data_id': 35} ()", + "module": "test", + "msecs": 87.38899230957031, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 252.20489501953125, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 87.57209777832031, + "msg": "Received message on client side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 252.38800048828125, + "thread": 140012350113600, "threadName": "MainThread", "time_consumption": 0.00018310546875 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:41,226", - "created": 1608973901.226057, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:41,225", - "created": 1608973901.225298, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 225.2979278564453, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10994.899988174438, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:41,225", - "created": 1608973901.225655, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 225.65507888793945, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10995.257139205933, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:41,225", - "created": 1608973901.225876, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 225.8760929107666, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10995.47815322876, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 226.0570526123047, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10995.659112930298, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00018095970153808594 } ], - "thread": 139911147616064, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 1.4138410091400146, - "time_finished": "2020-12-26 10:11:41,226", - "time_start": "2020-12-26 10:11:39,812" + "time_consumption": 0.20797419548034668, + "time_finished": "2021-01-06 22:48:57,087", + "time_start": "2021-01-06 22:48:56,879" }, - "socket_protocol.pure_json_protocol: Checksum corumpation while sending.": { + "_4w4SsE1DEeuiHtQbLi1mZg": { "args": null, - "asctime": "2020-12-26 10:11:37,177", - "created": 1608973897.17789, + "asctime": "2021-01-06 22:49:01,138", + "created": 1609969741.138208, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "testrun", "levelname": "INFO", "levelno": 20, - "lineno": 37, - "message": "socket_protocol.pure_json_protocol: Checksum corumpation while sending.", + "lineno": 36, + "message": "_4w4SsE1DEeuiHtQbLi1mZg", "module": "__init__", "moduleLogger": [], - "msecs": 177.89006233215332, - "msg": "socket_protocol.pure_json_protocol: Checksum corumpation while sending.", + "msecs": 138.20791244506836, + "msg": "_4w4SsE1DEeuiHtQbLi1mZg", "name": "__tLogger__", "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6947.4921226501465, + "relativeCreated": 4303.023815155029, "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:37,486", - "created": 1608973897.486445, + "asctime": "2021-01-06 22:49:01,145", + "created": 1609969741.145922, "exc_info": null, "exc_text": null, - "filename": "test_communication_errors.py", - "funcName": "send_checksum_error", + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", "levelname": "DEBUG", "levelno": 10, - "lineno": 40, - "message": "Send data with wrong checksum by pure_json_protocol.", - "module": "test_communication_errors", + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", "moduleLogger": [ { "args": [ - " SP server:" + "SP server:" ], - "asctime": "2020-12-26 10:11:37,179", - "created": 1608973897.17985, + "asctime": "2021-01-06 22:49:01,138", + "created": 1609969741.138738, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 179.85010147094727, + "msecs": 138.73791694641113, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6949.45216178894, - "thread": 139911147616064, + "relativeCreated": 4303.553819656372, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:37,180", - "created": 1608973897.180295, + "asctime": "2021-01-06 22:49:01,138", + "created": 1609969741.138967, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 138.96703720092773, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4303.782939910889, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:01,139", + "created": 1609969741.139213, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 139.21308517456055, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4304.0289878845215, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:01,139", + "created": 1609969741.139393, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 139.39309120178223, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4304.208993911743, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:01,139", + "created": 1609969741.139569, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 139.56904411315918, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4304.38494682312, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:01,139", + "created": 1609969741.13973, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 139.72997665405273, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4304.545879364014, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:01,139", + "created": 1609969741.13991, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 139.9099826812744, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4304.725885391235, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:01,140", + "created": 1609969741.140095, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 140.09499549865723, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4304.910898208618, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:01,140", + "created": 1609969741.140284, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 140.28406143188477, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4305.099964141846, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:01,140", + "created": 1609969741.140459, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 140.4590606689453, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4305.274963378906, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:01,140", + "created": 1609969741.140617, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__authentification_state_reset__", "levelname": "INFO", "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "module": "__init__", - "msecs": 180.29499053955078, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "msecs": 140.61689376831055, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6949.897050857544, - "thread": 139911147616064, + "relativeCreated": 4305.4327964782715, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "channel name request", + "channel name response" ], - "asctime": "2020-12-26 10:11:37,180", - "created": 1608973897.180603, + "asctime": "2021-01-06 22:49:01,140", + "created": 1609969741.140813, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 140.81311225891113, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4305.629014968872, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:01,141", + "created": 1609969741.141006, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 141.0059928894043, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4305.821895599365, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:01,141", + "created": 1609969741.141169, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 141.16907119750977, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4305.984973907471, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:01,141", + "created": 1609969741.141339, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 141.33906364440918, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4306.15496635437, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:01,141", + "created": 1609969741.141515, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 141.51501655578613, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4306.330919265747, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:01,141", + "created": 1609969741.141692, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 141.6919231414795, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4306.50782585144, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:01,141", + "created": 1609969741.141877, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 141.8769359588623, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4306.692838668823, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:01,142", + "created": 1609969741.142073, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 142.0729160308838, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4306.888818740845, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:01,142", + "created": 1609969741.142235, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 142.23504066467285, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4307.050943374634, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:01,142", + "created": 1609969741.142633, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", "module": "__init__", - "msecs": 180.60302734375, + "msecs": 142.63296127319336, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6950.205087661743, - "thread": 139911147616064, + "relativeCreated": 4307.448863983154, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP client:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:37,180", - "created": 1608973897.180895, + "asctime": "2021-01-06 22:49:01,142", + "created": 1609969741.142825, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 142.82488822937012, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4307.640790939331, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:01,143", + "created": 1609969741.143062, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 143.06211471557617, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4307.878017425537, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:01,143", + "created": 1609969741.14324, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 143.23997497558594, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4308.055877685547, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:01,143", + "created": 1609969741.143399, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 143.39900016784668, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4308.214902877808, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:01,143", + "created": 1609969741.143557, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 143.55707168579102, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4308.372974395752, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:01,143", + "created": 1609969741.14373, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 143.72992515563965, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4308.545827865601, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:01,143", + "created": 1609969741.143917, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 143.91708374023438, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4308.732986450195, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:01,144", + "created": 1609969741.144093, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 144.09303665161133, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4308.908939361572, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:01,144", + "created": 1609969741.144264, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 144.26398277282715, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4309.079885482788, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:01,144", + "created": 1609969741.144419, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__authentification_state_reset__", "levelname": "INFO", "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "module": "__init__", - "msecs": 180.8950901031494, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "msecs": 144.41895484924316, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6950.497150421143, - "thread": 139911147616064, + "relativeCreated": 4309.234857559204, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:", - 0, - 10, - 45054, - "{u'test': u'test'}" + "SP client:", + "channel name request", + "channel name response" ], - "asctime": "2020-12-26 10:11:37,181", - "created": 1608973897.181075, + "asctime": "2021-01-06 22:49:01,144", + "created": 1609969741.144601, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "send", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 144.60110664367676, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4309.417009353638, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:01,144", + "created": 1609969741.144791, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 144.7908878326416, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4309.6067905426025, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:01,144", + "created": 1609969741.144951, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 144.95110511779785, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4309.767007827759, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:01,145", + "created": 1609969741.145118, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 145.11799812316895, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4309.93390083313, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:01,145", + "created": 1609969741.145291, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 145.29109001159668, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4310.106992721558, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:01,145", + "created": 1609969741.145477, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 145.4770565032959, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4310.292959213257, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:01,145", + "created": 1609969741.145636, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 145.63608169555664, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4310.451984405518, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:01,145", + "created": 1609969741.145818, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 145.81799507141113, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4310.633897781372, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:01,145", + "created": 1609969741.145866, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", + "lineno": 315, + "message": "SP client: Initialisation finished.", "module": "__init__", - "msecs": 181.0750961303711, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", + "msecs": 145.86591720581055, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6950.677156448364, - "thread": 139911147616064, + "relativeCreated": 4310.6818199157715, + "thread": 140012350113600, "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:37,181", - "created": 1608973897.181406, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", - "module": "test_helpers", - "msecs": 181.40602111816406, - "msg": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6951.008081436157, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:37,336", - "created": 1608973897.336249, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 25", - "module": "test_helpers", - "msecs": 336.24911308288574, - "msg": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 25", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7105.851173400879, - "thread": 139911126587136, - "threadName": "Thread-23" - }, - { - "args": [ - " SP server:", - "(79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 25" - ], - "asctime": "2020-12-26 10:11:37,336", - "created": 1608973897.336524, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 316, - "message": " SP server: Received message has a wrong checksum and will be ignored: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 25.", - "module": "__init__", - "msecs": 336.52400970458984, - "msg": "%s Received message has a wrong checksum and will be ignored: %s.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7106.126070022583, - "thread": 139911126587136, - "threadName": "Thread-23" } ], - "msecs": 486.44495010375977, - "msg": "Send data with wrong checksum by pure_json_protocol.", + "msecs": 145.9219455718994, + "msg": "Setting up communication", "name": "__tLogger__", - "pathname": "src/tests/test_communication_errors.py", - "process": 260862, + "pathname": "src/tests/test_helpers.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 7256.047010421753, - "thread": 139911147616064, + "relativeCreated": 4310.73784828186, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.14992094039916992 + "time_consumption": 5.602836608886719e-05 }, { - "args": [ - "True", - "" - ], - "asctime": "2020-12-26 10:11:37,488", - "created": 1608973897.488044, + "args": [], + "asctime": "2021-01-06 22:49:01,146", + "created": 1609969741.146018, "exc_info": null, "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:37,487", - "created": 1608973897.487493, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return value of send method): True ()", - "module": "test", - "msecs": 487.49303817749023, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7257.095098495483, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:37,487", - "created": 1608973897.487795, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", - "module": "test", - "msecs": 487.7951145172119, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7257.397174835205, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 488.04402351379395, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "filename": "test_communication.py", + "funcName": "automatic_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 132, + "message": "Identical secrets set and automatic authentification", + "module": "test_communication", + "moduleLogger": [], + "msecs": 146.01802825927734, + "msg": "Identical secrets set and automatic authentification", "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, + "pathname": "src/tests/test_communication.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 7257.646083831787, - "thread": 139911147616064, + "relativeCreated": 4310.833930969238, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00024890899658203125 + "time_consumption": 0.0 }, { "args": [ "False", "" ], - "asctime": "2020-12-26 10:11:37,488", - "created": 1608973897.488947, + "asctime": "2021-01-06 22:49:01,146", + "created": 1609969741.146197, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Callback executed variable is correct (Content False and Type is ).", + "lineno": 144, + "message": "Authentification state of server is correct (Content False and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Callback executed variable", + "Authentification state of server", "False", "" ], - "asctime": "2020-12-26 10:11:37,488", - "created": 1608973897.488435, + "asctime": "2021-01-06 22:49:01,146", + "created": 1609969741.146097, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -3192,26 +5102,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Callback executed variable): False ()", + "message": "Result (Authentification state of server): False ()", "module": "test", - "msecs": 488.4350299835205, + "msecs": 146.09694480895996, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 7258.037090301514, - "thread": 139911147616064, + "relativeCreated": 4310.912847518921, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Callback executed variable", + "Authentification state of server", "False", "" ], - "asctime": "2020-12-26 10:11:37,488", - "created": 1608973897.48865, + "asctime": "2021-01-06 22:49:01,146", + "created": 1609969741.146146, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -3219,83 +5129,55 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Callback executed variable): result = False ()", + "message": "Expectation (Authentification state of server): result = False ()", "module": "test", - "msecs": 488.6500835418701, + "msecs": 146.14605903625488, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 7258.252143859863, - "thread": 139911147616064, + "relativeCreated": 4310.961961746216, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 488.94691467285156, - "msg": "Callback executed variable is correct (Content %s and Type is %s).", + "msecs": 146.19708061218262, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 7258.548974990845, - "thread": 139911147616064, + "relativeCreated": 4311.012983322144, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.0002968311309814453 + "time_consumption": 5.1021575927734375e-05 }, { "args": [ - "None", - "" + "False", + "" ], - "asctime": "2020-12-26 10:11:37,590", - "created": 1608973897.590942, + "asctime": "2021-01-06 22:49:01,146", + "created": 1609969741.146368, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", + "lineno": 144, + "message": "Authentification state of client is correct (Content False and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - " SP server:", - "0.1", - "11", - "45054" + "Authentification state of client", + "False", + "" ], - "asctime": "2020-12-26 10:11:37,589", - "created": 1608973897.589801, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 589.8010730743408, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7359.403133392334, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:37,590", - "created": 1608973897.590433, + "asctime": "2021-01-06 22:49:01,146", + "created": 1609969741.146274, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -3303,26 +5185,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", + "message": "Result (Authentification state of client): False ()", "module": "test", - "msecs": 590.43288230896, + "msecs": 146.27408981323242, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 7360.034942626953, - "thread": 139911147616064, + "relativeCreated": 4311.089992523193, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "Authentification state of client", + "False", + "" ], - "asctime": "2020-12-26 10:11:37,590", - "created": 1608973897.590726, + "asctime": "2021-01-06 22:49:01,146", + "created": 1609969741.146321, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -3330,736 +5212,924 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", + "message": "Expectation (Authentification state of client): result = False ()", "module": "test", - "msecs": 590.7258987426758, + "msecs": 146.32105827331543, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 7360.327959060669, - "thread": 139911147616064, + "relativeCreated": 4311.136960983276, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 590.9419059753418, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", + "msecs": 146.36802673339844, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 7360.543966293335, - "thread": 139911147616064, + "relativeCreated": 4311.183929443359, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00021600723266601562 + "time_consumption": 4.696846008300781e-05 }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:37,692", - "created": 1608973897.692127, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:37,691", - "created": 1608973897.691585, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 691.5850639343262, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7461.187124252319, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:37,691", - "created": 1608973897.691827, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 691.8270587921143, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7461.429119110107, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:37,691", - "created": 1608973897.691977, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 691.9770240783691, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7461.579084396362, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 692.126989364624, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7461.729049682617, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0001499652862548828 - } - ], - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.5142369270324707, - "time_finished": "2020-12-26 10:11:37,692", - "time_start": "2020-12-26 10:11:37,177" - }, - "socket_protocol.pure_json_protocol: Incompatible Callback return value(s).": { - "args": null, - "asctime": "2020-12-26 10:11:41,229", - "created": 1608973901.2293, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 45, - "message": "socket_protocol.pure_json_protocol: Incompatible Callback return value(s).", - "module": "__init__", - "moduleLogger": [], - "msecs": 229.30002212524414, - "msg": "socket_protocol.pure_json_protocol: Incompatible Callback return value(s).", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10998.902082443237, - "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:41,233", - "created": 1608973901.233378, + "asctime": "2021-01-06 22:49:01,850", + "created": 1609969741.850409, "exc_info": null, "exc_text": null, - "filename": "test_handling_errors.py", - "funcName": "callback_rv_error", + "filename": "test_communication.py", + "funcName": "automatic_authentification", "levelname": "DEBUG", "levelno": 10, - "lineno": 125, - "message": "Send and received data with incompatible callback (pure_json_protocol).", - "module": "test_handling_errors", + "lineno": 139, + "message": "Server and Client connect callback triggered", + "module": "test_communication", "moduleLogger": [ { "args": [ - " SP server:" + "SP server:" ], - "asctime": "2020-12-26 10:11:41,229", - "created": 1608973901.229584, + "asctime": "2021-01-06 22:49:01,146", + "created": 1609969741.146446, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 229.5839786529541, + "msecs": 146.44598960876465, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10999.186038970947, - "thread": 139911147616064, + "relativeCreated": 4311.261892318726, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP client:" ], - "asctime": "2020-12-26 10:11:41,229", - "created": 1608973901.229839, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 229.83908653259277, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10999.441146850586, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:41,230", - "created": 1608973901.23006, + "asctime": "2021-01-06 22:49:01,146", + "created": 1609969741.146508, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", "module": "__init__", - "msecs": 230.06010055541992, + "msecs": 146.50797843933105, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 10999.662160873413, - "thread": 139911147616064, + "relativeCreated": 4311.323881149292, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:41,230", - "created": 1608973901.230313, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 230.31306266784668, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 10999.91512298584, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 10, - 45054, + "SP client:", + "service: channel name request, data_id: name", + "status: okay", "None" ], - "asctime": "2020-12-26 10:11:41,230", - "created": 1608973901.230492, + "asctime": "2021-01-06 22:49:01,146", + "created": 1609969741.146577, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"None\"", + "lineno": 719, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"None\"", "module": "__init__", - "msecs": 230.49211502075195, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 146.5768814086914, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11000.094175338745, - "thread": 139911147616064, + "relativeCreated": 4311.392784118652, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:41,230", - "created": 1608973901.230804, + "asctime": "2021-01-06 22:49:01,146", + "created": 1609969741.146729, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (67): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d fc 3e bd 5f", + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", "module": "test_helpers", - "msecs": 230.8039665222168, - "msg": "Send data: (67): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d fc 3e bd 5f", + "msecs": 146.7289924621582, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11000.40602684021, - "thread": 139911147616064, + "relativeCreated": 4311.544895172119, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:41,231", - "created": 1608973901.23103, + "asctime": "2021-01-06 22:49:01,146", + "created": 1609969741.146839, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (67): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d fc 3e bd 5f", + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", "module": "test_helpers", - "msecs": 231.02998733520508, - "msg": "Receive data (67): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d fc 3e bd 5f", + "msecs": 146.83890342712402, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11000.632047653198, - "thread": 139911147616064, + "relativeCreated": 4311.654806137085, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "10", - "45054", + "SP server:", + "service: channel name request, data_id: name", + "status: okay", "None" ], - "asctime": "2020-12-26 10:11:41,231", - "created": 1608973901.231201, + "asctime": "2021-01-06 22:49:01,146", + "created": 1609969741.146946, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"None\"", + "lineno": 450, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"None\"", "module": "__init__", - "msecs": 231.2009334564209, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 146.94595336914062, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11000.802993774414, - "thread": 139911147616064, + "relativeCreated": 4311.761856079102, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:", - "response_data_method_fail" + "SP server:", + "__channel_name_request__" ], - "asctime": "2020-12-26 10:11:41,231", - "created": 1608973901.231324, + "asctime": "2021-01-06 22:49:01,147", + "created": 1609969741.147011, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method_fail to process received data", + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", "module": "__init__", - "msecs": 231.3239574432373, + "msecs": 147.01104164123535, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4311.826944351196, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:01,147", + "created": 1609969741.147083, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 147.08304405212402, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4311.898946762085, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,147", + "created": 1609969741.147217, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 147.2170352935791, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4312.03293800354, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,147", + "created": 1609969741.147329, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 147.32909202575684, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4312.144994735718, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:01,147", + "created": 1609969741.147403, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 147.40300178527832, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4312.218904495239, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:01,147", + "created": 1609969741.147455, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 147.45497703552246, "msg": "%s Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11000.92601776123, - "thread": 139911147616064, + "relativeCreated": 4312.270879745483, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:", - 0, - 10, - 48879, + "SP client:", + "service: authentification request, data_id: seed", + "status: okay", "None" ], - "asctime": "2020-12-26 10:11:41,231", - "created": 1608973901.231465, + "asctime": "2021-01-06 22:49:01,147", + "created": 1609969741.147515, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 48879, data: \"None\"", + "lineno": 719, + "message": "SP client: TX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", "module": "__init__", - "msecs": 231.46510124206543, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 147.51505851745605, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11001.067161560059, - "thread": 139911147616064, + "relativeCreated": 4312.330961227417, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:41,231", - "created": 1608973901.231735, + "asctime": "2021-01-06 22:49:01,147", + "created": 1609969741.147624, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (67): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 77 30 fb 22", + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", "module": "test_helpers", - "msecs": 231.7349910736084, - "msg": "Send data: (67): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 77 30 fb 22", + "msecs": 147.62401580810547, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11001.337051391602, - "thread": 139911147616064, + "relativeCreated": 4312.439918518066, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:41,231", - "created": 1608973901.23195, + "asctime": "2021-01-06 22:49:01,147", + "created": 1609969741.147709, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (67): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 77 30 fb 22", + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", "module": "test_helpers", - "msecs": 231.950044631958, - "msg": "Receive data (67): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 77 30 fb 22", + "msecs": 147.70889282226562, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11001.552104949951, - "thread": 139911147616064, + "relativeCreated": 4312.524795532227, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "10", - "48879", + "SP server:", + "service: authentification request, data_id: seed", + "status: okay", "None" ], - "asctime": "2020-12-26 10:11:41,232", - "created": 1608973901.232109, + "asctime": "2021-01-06 22:49:01,147", + "created": 1609969741.147783, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 48879, data: \"None\"", + "lineno": 450, + "message": "SP server: RX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", "module": "__init__", - "msecs": 232.10906982421875, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 147.7830410003662, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11001.711130142212, - "thread": 139911147616064, + "relativeCreated": 4312.598943710327, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "__authentificate_create_seed__" ], - "asctime": "2020-12-26 10:11:41,232", - "created": 1608973901.232246, + "asctime": "2021-01-06 22:49:01,147", + "created": 1609969741.147834, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 337, - "message": " SP server: Received message with no registered callback. Sending negative response.", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_create_seed__ to process received data", "module": "__init__", - "msecs": 232.24592208862305, - "msg": "%s Received message with no registered callback. Sending negative response.", + "msecs": 147.83406257629395, + "msg": "%s RX <- Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11001.847982406616, - "thread": 139911147616064, + "relativeCreated": 4312.649965286255, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:", - 1, - 11, - 48879, - "None" + "SP server:", + "service: authentification response, data_id: seed", + "status: okay", + "'1d385cd82db5453445fc2fdf5970407c7420bbc060e4e225b09f079189dfa42c'" ], - "asctime": "2020-12-26 10:11:41,232", - "created": 1608973901.232371, + "asctime": "2021-01-06 22:49:01,147", + "created": 1609969741.147896, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 1, service_id: 11, data_id: 48879, data: \"None\"", + "lineno": 719, + "message": "SP server: TX <- service: authentification response, data_id: seed, status: okay, data: \"'1d385cd82db5453445fc2fdf5970407c7420bbc060e4e225b09f079189dfa42c'\"", "module": "__init__", - "msecs": 232.37109184265137, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 147.89605140686035, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11001.973152160645, - "thread": 139911147616064, + "relativeCreated": 4312.711954116821, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:41,232", - "created": 1608973901.232643, + "asctime": "2021-01-06 22:49:01,148", + "created": 1609969741.148049, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (67): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 3a 7e 56 19", + "lineno": 73, + "message": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 31 64 33 38 35 63 64 38 32 64 62 35 34 35 33 34 34 35 66 63 32 66 64 66 35 39 37 30 34 30 37 63 37 34 32 30 62 62 63 30 36 30 65 34 65 32 32 35 62 30 39 66 30 37 39 31 38 39 64 66 61 34 32 63 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d f0 6a a1 06", "module": "test_helpers", - "msecs": 232.64288902282715, - "msg": "Send data: (67): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 3a 7e 56 19", + "msecs": 148.04911613464355, + "msg": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 31 64 33 38 35 63 64 38 32 64 62 35 34 35 33 34 34 35 66 63 32 66 64 66 35 39 37 30 34 30 37 63 37 34 32 30 62 62 63 30 36 30 65 34 65 32 32 35 62 30 39 66 30 37 39 31 38 39 64 66 61 34 32 63 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d f0 6a a1 06", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11002.24494934082, - "thread": 139911147616064, + "relativeCreated": 4312.8650188446045, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:41,232", - "created": 1608973901.232873, + "asctime": "2021-01-06 22:49:01,148", + "created": 1609969741.148185, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (67): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 3a 7e 56 19", + "lineno": 84, + "message": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 31 64 33 38 35 63 64 38 32 64 62 35 34 35 33 34 34 35 66 63 32 66 64 66 35 39 37 30 34 30 37 63 37 34 32 30 62 62 63 30 36 30 65 34 65 32 32 35 62 30 39 66 30 37 39 31 38 39 64 66 61 34 32 63 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d f0 6a a1 06", "module": "test_helpers", - "msecs": 232.87296295166016, - "msg": "Receive data (67): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 3a 7e 56 19", + "msecs": 148.18501472473145, + "msg": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 31 64 33 38 35 63 64 38 32 64 62 35 34 35 33 34 34 35 66 63 32 66 64 66 35 39 37 30 34 30 37 63 37 34 32 30 62 62 63 30 36 30 65 34 65 32 32 35 62 30 39 66 30 37 39 31 38 39 64 66 61 34 32 63 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d f0 6a a1 06", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11002.475023269653, - "thread": 139911147616064, + "relativeCreated": 4313.000917434692, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:", - "1", - "11", - "48879", - "None" + "SP client:", + "service: authentification response, data_id: seed", + "status: okay", + "u'1d385cd82db5453445fc2fdf5970407c7420bbc060e4e225b09f079189dfa42c'" ], - "asctime": "2020-12-26 10:11:41,233", - "created": 1608973901.233035, + "asctime": "2021-01-06 22:49:01,148", + "created": 1609969741.148263, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 1, service_id: 11, data_id: 48879, data: \"None\"", + "lineno": 450, + "message": "SP client: RX <- service: authentification response, data_id: seed, status: okay, data: \"u'1d385cd82db5453445fc2fdf5970407c7420bbc060e4e225b09f079189dfa42c'\"", "module": "__init__", - "msecs": 233.03508758544922, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 148.26297760009766, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11002.637147903442, - "thread": 139911147616064, + "relativeCreated": 4313.078880310059, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:", - "Request has no callback. Data buffered." + "SP client:", + "__authentificate_create_key__" ], - "asctime": "2020-12-26 10:11:41,233", - "created": 1608973901.233153, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Request has no callback. Data buffered.", - "module": "__init__", - "msecs": 233.1531047821045, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11002.755165100098, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - "response_data_method_fail" - ], - "asctime": "2020-12-26 10:11:41,233", - "created": 1608973901.233249, + "asctime": "2021-01-06 22:49:01,148", + "created": 1609969741.148315, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "DEBUG", "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback response_data_method_fail to process received data", + "lineno": 478, + "message": "SP client: Executing callback __authentificate_create_key__ to process received data", "module": "__init__", - "msecs": 233.24894905090332, + "msecs": 148.3149528503418, "msg": "%s Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11002.851009368896, - "thread": 139911147616064, + "relativeCreated": 4313.130855560303, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key", + "status: okay", + "'bb3c1734a939e72078fa19ef1ee787c91935c91d9dab373dfcbcf8847e96e1ab8622e77d2f9c5921cba1fbeaab0b36b93b4d45d6ac2998c7516aa6bdbfdd99db'" + ], + "asctime": "2021-01-06 22:49:01,148", + "created": 1609969741.148392, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: authentification request, data_id: key, status: okay, data: \"'bb3c1734a939e72078fa19ef1ee787c91935c91d9dab373dfcbcf8847e96e1ab8622e77d2f9c5921cba1fbeaab0b36b93b4d45d6ac2998c7516aa6bdbfdd99db'\"", + "module": "__init__", + "msecs": 148.3919620513916, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4313.2078647613525, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,148", + "created": 1609969741.148582, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 62 62 33 63 31 37 33 34 61 39 33 39 65 37 32 30 37 38 66 61 31 39 65 66 31 65 65 37 38 37 63 39 31 39 33 35 63 39 31 64 39 64 61 62 33 37 33 64 66 63 62 63 66 38 38 34 37 65 39 36 65 31 61 62 38 36 32 32 65 37 37 64 32 66 39 63 35 39 32 31 63 62 61 31 66 62 65 61 61 62 30 62 33 36 62 39 33 62 34 64 34 35 64 36 61 63 32 39 39 38 63 37 35 31 36 61 61 36 62 64 62 66 64 64 39 39 64 62 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d e9 b3 7a 9d", + "module": "test_helpers", + "msecs": 148.58198165893555, + "msg": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 62 62 33 63 31 37 33 34 61 39 33 39 65 37 32 30 37 38 66 61 31 39 65 66 31 65 65 37 38 37 63 39 31 39 33 35 63 39 31 64 39 64 61 62 33 37 33 64 66 63 62 63 66 38 38 34 37 65 39 36 65 31 61 62 38 36 32 32 65 37 37 64 32 66 39 63 35 39 32 31 63 62 61 31 66 62 65 61 61 62 30 62 33 36 62 39 33 62 34 64 34 35 64 36 61 63 32 39 39 38 63 37 35 31 36 61 61 36 62 64 62 66 64 64 39 39 64 62 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d e9 b3 7a 9d", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4313.3978843688965, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,148", + "created": 1609969741.148752, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 62 62 33 63 31 37 33 34 61 39 33 39 65 37 32 30 37 38 66 61 31 39 65 66 31 65 65 37 38 37 63 39 31 39 33 35 63 39 31 64 39 64 61 62 33 37 33 64 66 63 62 63 66 38 38 34 37 65 39 36 65 31 61 62 38 36 32 32 65 37 37 64 32 66 39 63 35 39 32 31 63 62 61 31 66 62 65 61 61 62 30 62 33 36 62 39 33 62 34 64 34 35 64 36 61 63 32 39 39 38 63 37 35 31 36 61 61 36 62 64 62 66 64 64 39 39 64 62 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d e9 b3 7a 9d", + "module": "test_helpers", + "msecs": 148.75197410583496, + "msg": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 62 62 33 63 31 37 33 34 61 39 33 39 65 37 32 30 37 38 66 61 31 39 65 66 31 65 65 37 38 37 63 39 31 39 33 35 63 39 31 64 39 64 61 62 33 37 33 64 66 63 62 63 66 38 38 34 37 65 39 36 65 31 61 62 38 36 32 32 65 37 37 64 32 66 39 63 35 39 32 31 63 62 61 31 66 62 65 61 61 62 30 62 33 36 62 39 33 62 34 64 34 35 64 36 61 63 32 39 39 38 63 37 35 31 36 61 61 36 62 64 62 66 64 64 39 39 64 62 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d e9 b3 7a 9d", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4313.567876815796, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key", + "status: okay", + "u'bb3c1734a939e72078fa19ef1ee787c91935c91d9dab373dfcbcf8847e96e1ab8622e77d2f9c5921cba1fbeaab0b36b93b4d45d6ac2998c7516aa6bdbfdd99db'" + ], + "asctime": "2021-01-06 22:49:01,148", + "created": 1609969741.148831, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: authentification request, data_id: key, status: okay, data: \"u'bb3c1734a939e72078fa19ef1ee787c91935c91d9dab373dfcbcf8847e96e1ab8622e77d2f9c5921cba1fbeaab0b36b93b4d45d6ac2998c7516aa6bdbfdd99db'\"", + "module": "__init__", + "msecs": 148.83089065551758, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4313.6467933654785, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__authentificate_check_key__" + ], + "asctime": "2021-01-06 22:49:01,148", + "created": 1609969741.148885, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_check_key__ to process received data", + "module": "__init__", + "msecs": 148.88501167297363, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4313.700914382935, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key", + "status: okay", + "True" + ], + "asctime": "2021-01-06 22:49:01,148", + "created": 1609969741.14895, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: authentification response, data_id: key, status: okay, data: \"True\"", + "module": "__init__", + "msecs": 148.95009994506836, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4313.766002655029, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,149", + "created": 1609969741.149059, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", + "module": "test_helpers", + "msecs": 149.05905723571777, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4313.874959945679, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,149", + "created": 1609969741.149148, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", + "module": "test_helpers", + "msecs": 149.14798736572266, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4313.963890075684, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key", + "status: okay", + "True" + ], + "asctime": "2021-01-06 22:49:01,149", + "created": 1609969741.149221, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: authentification response, data_id: key, status: okay, data: \"True\"", + "module": "__init__", + "msecs": 149.22094345092773, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4314.036846160889, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__authentificate_process_feedback__" + ], + "asctime": "2021-01-06 22:49:01,149", + "created": 1609969741.149272, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_process_feedback__ to process received data", + "module": "__init__", + "msecs": 149.27196502685547, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4314.087867736816, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:01,149", + "created": 1609969741.149316, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentificate_process_feedback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 350, + "message": "SP client: Got positive authentification feedback", + "module": "__init__", + "msecs": 149.31607246398926, + "msg": "%s Got positive authentification feedback", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4314.13197517395, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 233.37793350219727, - "msg": "Send and received data with incompatible callback (pure_json_protocol).", + "msecs": 850.4090309143066, + "msg": "Server and Client connect callback triggered", "name": "__tLogger__", - "pathname": "src/tests/test_handling_errors.py", - "process": 260862, + "pathname": "src/tests/test_communication.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11002.97999382019, - "thread": 139911147616064, + "relativeCreated": 5015.224933624268, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.0001289844512939453 + "time_consumption": 0.7010929584503174 }, { "args": [ "True", "" ], - "asctime": "2020-12-26 10:11:41,233", - "created": 1608973901.233759, + "asctime": "2021-01-06 22:49:01,851", + "created": 1609969741.851376, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Exception (TypeError) detection variable is correct (Content True and Type is ).", + "lineno": 144, + "message": "Authentification state of server is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Exception (TypeError) detection variable", + "Authentification state of server", "True", "" ], - "asctime": "2020-12-26 10:11:41,233", - "created": 1608973901.233558, + "asctime": "2021-01-06 22:49:01,850", + "created": 1609969741.850959, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -4067,26 +6137,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Exception (TypeError) detection variable): True ()", + "message": "Result (Authentification state of server): True ()", "module": "test", - "msecs": 233.55793952941895, + "msecs": 850.959062576294, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11003.159999847412, - "thread": 139911147616064, + "relativeCreated": 5015.774965286255, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Exception (TypeError) detection variable", + "Authentification state of server", "True", "" ], - "asctime": "2020-12-26 10:11:41,233", - "created": 1608973901.233657, + "asctime": "2021-01-06 22:49:01,851", + "created": 1609969741.851165, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -4094,83 +6164,2024 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Exception (TypeError) detection variable): result = True ()", + "message": "Expectation (Authentification state of server): result = True ()", "module": "test", - "msecs": 233.6568832397461, + "msecs": 851.1650562286377, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11003.25894355774, - "thread": 139911147616064, + "relativeCreated": 5015.980958938599, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 233.75892639160156, - "msg": "Exception (TypeError) detection variable is correct (Content %s and Type is %s).", + "msecs": 851.3760566711426, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11003.360986709595, - "thread": 139911147616064, + "relativeCreated": 5016.1919593811035, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00010204315185546875 + "time_consumption": 0.0002110004425048828 }, { "args": [ - "None", - "" + "True", + "" ], - "asctime": "2020-12-26 10:11:41,335", - "created": 1608973901.335041, + "asctime": "2021-01-06 22:49:01,852", + "created": 1609969741.852004, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", + "lineno": 144, + "message": "Authentification state of client is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - " SP server:", - "0.1", - "11", - "45054" + "Authentification state of client", + "True", + "" ], - "asctime": "2020-12-26 10:11:41,334", - "created": 1608973901.334282, + "asctime": "2021-01-06 22:49:01,851", + "created": 1609969741.851665, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of client): True ()", + "module": "test", + "msecs": 851.6650199890137, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5016.480922698975, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of client", + "True", + "" + ], + "asctime": "2021-01-06 22:49:01,851", + "created": 1609969741.851841, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of client): result = True ()", + "module": "test", + "msecs": 851.8409729003906, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5016.656875610352, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 852.0040512084961, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5016.819953918457, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00016307830810546875 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.7137961387634277, + "time_finished": "2021-01-06 22:49:01,852", + "time_start": "2021-01-06 22:49:01,138" + }, + "_7izDUEzYEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.877298, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 27, + "message": "_7izDUEzYEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 877.29811668396, + "msg": "_7izDUEzYEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 42.1140193939209, + "testcaseLogger": [ + { + "args": [ + "{'status': None, 'service_id': None, 'data': None, 'data_id': None}" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.877378, + "exc_info": null, + "exc_text": null, + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 10, + "message": "Creating empty message object: {'status': None, 'service_id': None, 'data': None, 'data_id': None}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 877.377986907959, + "msg": "Creating empty message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 42.19388961791992, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'service_id'" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.877529, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "service_id is part of the message object is correct ('service_id' is in the list or dict).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "service_id is part of the message object", + "{'status': None, 'service_id': None, 'data': None, 'data_id': None}", + "" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.877448, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (service_id is part of the message object): {'status': None, 'service_id': None, 'data': None, 'data_id': None} ()", + "module": "test", + "msecs": 877.4480819702148, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 42.26398468017578, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "service_id is part of the message object", + "'service_id'" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.87749, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (service_id is part of the message object): 'service_id' in result", + "module": "test", + "msecs": 877.4900436401367, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 42.305946350097656, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 877.5289058685303, + "msg": "service_id is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 42.34480857849121, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 3.886222839355469e-05 + }, + { + "args": [ + "{'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'}" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.877603, + "exc_info": null, + "exc_text": null, + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Creating a maximum message object: {'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 877.6030540466309, + "msg": "Creating a maximum message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 42.4189567565918, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'service_id'" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.877751, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "service_id is part of the message object is correct ('service_id' is in the list or dict).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "service_id is part of the message object", + "{'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'}", + "" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.877671, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (service_id is part of the message object): {'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'} ()", + "module": "test", + "msecs": 877.6710033416748, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 42.48690605163574, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "service_id is part of the message object", + "'service_id'" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.87771, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (service_id is part of the message object): 'service_id' in result", + "module": "test", + "msecs": 877.7101039886475, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 42.5260066986084, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 877.7511119842529, + "msg": "service_id is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 42.56701469421387, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.100799560546875e-05 + }, + { + "args": [ + "'SID'", + "" + ], + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878006, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Content in message object for service_id is correct (Content 'SID' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Content in message object for service_id", + "'SID'", + "" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.877924, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Content in message object for service_id): 'SID' ()", + "module": "test", + "msecs": 877.9239654541016, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 42.7398681640625, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Content in message object for service_id", + "'SID'", + "" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.877966, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Content in message object for service_id): result = 'SID' ()", + "module": "test", + "msecs": 877.9659271240234, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 42.781829833984375, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 878.0059814453125, + "msg": "Content in message object for service_id is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 42.82188415527344, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.00543212890625e-05 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0007078647613525391, + "time_finished": "2021-01-06 22:48:56,878", + "time_start": "2021-01-06 22:48:56,877" + }, + "_AlIUwEzZEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878866, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 29, + "message": "_AlIUwEzZEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 878.8659572601318, + "msg": "_AlIUwEzZEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 43.68185997009277, + "testcaseLogger": [ + { + "args": [ + "{'status': None, 'service_id': None, 'data': None, 'data_id': None}" + ], + "asctime": "2021-01-06 22:48:56,878", + "created": 1609969736.878942, + "exc_info": null, + "exc_text": null, + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 10, + "message": "Creating empty message object: {'status': None, 'service_id': None, 'data': None, 'data_id': None}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 878.9420127868652, + "msg": "Creating empty message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 43.75791549682617, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'data'" + ], + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879094, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "data is part of the message object is correct ('data' is in the list or dict).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "data is part of the message object", + "{'status': None, 'service_id': None, 'data': None, 'data_id': None}", + "" + ], + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879014, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (data is part of the message object): {'status': None, 'service_id': None, 'data': None, 'data_id': None} ()", + "module": "test", + "msecs": 879.0140151977539, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 43.829917907714844, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "data is part of the message object", + "'data'" + ], + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879055, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (data is part of the message object): 'data' in result", + "module": "test", + "msecs": 879.0550231933594, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 43.87092590332031, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 879.0938854217529, + "msg": "data is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 43.90978813171387, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 3.886222839355469e-05 + }, + { + "args": [ + "{'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'}" + ], + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879168, + "exc_info": null, + "exc_text": null, + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Creating a maximum message object: {'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 879.1680335998535, + "msg": "Creating a maximum message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 43.98393630981445, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'data'" + ], + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879314, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "data is part of the message object is correct ('data' is in the list or dict).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "data is part of the message object", + "{'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'}", + "" + ], + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879237, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (data is part of the message object): {'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'} ()", + "module": "test", + "msecs": 879.2369365692139, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 44.052839279174805, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "data is part of the message object", + "'data'" + ], + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879276, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (data is part of the message object): 'data' in result", + "module": "test", + "msecs": 879.2760372161865, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 44.09193992614746, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 879.3139457702637, + "msg": "data is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 44.12984848022461, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 3.790855407714844e-05 + }, + { + "args": [ + "'D'", + "" + ], + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879467, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Content in message object for data is correct (Content 'D' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Content in message object for data", + "'D'", + "" + ], + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879384, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Content in message object for data): 'D' ()", + "module": "test", + "msecs": 879.3840408325195, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 44.19994354248047, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Content in message object for data", + "'D'", + "" + ], + "asctime": "2021-01-06 22:48:56,879", + "created": 1609969736.879424, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Content in message object for data): result = 'D' ()", + "module": "test", + "msecs": 879.4240951538086, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 44.23999786376953, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 879.4670104980469, + "msg": "Content in message object for data is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 44.28291320800781, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.291534423828125e-05 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0006010532379150391, + "time_finished": "2021-01-06 22:48:56,879", + "time_start": "2021-01-06 22:48:56,878" + }, + "_CZeooE0YEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:03,189", + "created": 1609969743.189239, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 38, + "message": "_CZeooE0YEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 189.2390251159668, + "msg": "_CZeooE0YEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6354.054927825928, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:03,197", + "created": 1609969743.197869, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:03,189", + "created": 1609969743.189771, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 189.77093696594238, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6354.586839675903, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:03,190", + "created": 1609969743.190052, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 190.05203247070312, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6354.867935180664, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:03,190", + "created": 1609969743.190303, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 190.30308723449707, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6355.118989944458, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:03,190", + "created": 1609969743.190504, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 190.5040740966797, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6355.319976806641, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:03,190", + "created": 1609969743.190672, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 190.6719207763672, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6355.487823486328, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:03,190", + "created": 1609969743.190832, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 190.83189964294434, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6355.647802352905, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:03,191", + "created": 1609969743.191011, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 191.0109519958496, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6355.826854705811, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:03,191", + "created": 1609969743.191207, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 191.2069320678711, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6356.022834777832, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:03,191", + "created": 1609969743.191384, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 191.38407707214355, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6356.1999797821045, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:03,191", + "created": 1609969743.191558, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 191.5578842163086, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6356.3737869262695, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:03,191", + "created": 1609969743.191736, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 191.73598289489746, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6356.551885604858, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:03,191", + "created": 1609969743.191931, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 191.93100929260254, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6356.7469120025635, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:03,192", + "created": 1609969743.192118, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 192.11792945861816, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6356.933832168579, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:03,192", + "created": 1609969743.19228, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 192.28005409240723, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6357.095956802368, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:03,192", + "created": 1609969743.19246, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 192.4600601196289, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6357.27596282959, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:03,192", + "created": 1609969743.192635, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 192.63505935668945, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6357.45096206665, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:03,192", + "created": 1609969743.192813, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 192.81291961669922, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6357.62882232666, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:03,192", + "created": 1609969743.192973, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 192.97289848327637, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6357.788801193237, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:03,193", + "created": 1609969743.193128, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 193.12810897827148, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6357.944011688232, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:03,193", + "created": 1609969743.193327, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 193.3269500732422, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6358.142852783203, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:03,193", + "created": 1609969743.193695, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 193.695068359375, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6358.510971069336, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:03,193", + "created": 1609969743.193904, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 193.90392303466797, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6358.719825744629, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:03,194", + "created": 1609969743.194146, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 194.14591789245605, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6358.961820602417, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:03,194", + "created": 1609969743.194324, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 194.32401657104492, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6359.139919281006, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:03,194", + "created": 1609969743.194481, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 194.48089599609375, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6359.296798706055, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:03,194", + "created": 1609969743.194637, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 194.63706016540527, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6359.452962875366, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:03,194", + "created": 1609969743.194822, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 194.8220729827881, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6359.637975692749, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:03,194", + "created": 1609969743.195, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 194.99993324279785, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6359.815835952759, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:03,195", + "created": 1609969743.195818, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 195.8179473876953, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6360.633850097656, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:03,196", + "created": 1609969743.196037, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 196.03705406188965, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6360.852956771851, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:03,196", + "created": 1609969743.196218, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 196.21801376342773, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6361.033916473389, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:03,196", + "created": 1609969743.196418, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 196.41804695129395, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6361.233949661255, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:03,196", + "created": 1609969743.196609, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 196.6090202331543, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6361.424922943115, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:03,196", + "created": 1609969743.196775, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 196.77495956420898, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6361.59086227417, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:03,196", + "created": 1609969743.19695, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 196.94995880126953, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6361.7658615112305, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:03,197", + "created": 1609969743.197129, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 197.1290111541748, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6361.944913864136, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:03,197", + "created": 1609969743.1973, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 197.29995727539062, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6362.115859985352, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:03,197", + "created": 1609969743.197468, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 197.46804237365723, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6362.283945083618, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:03,197", + "created": 1609969743.197626, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 197.62611389160156, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6362.4420166015625, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:03,197", + "created": 1609969743.197816, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 197.8158950805664, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6362.631797790527, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 197.86906242370605, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6362.684965133667, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 5.316734313964844e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:03,197", + "created": 1609969743.197974, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 201, + "message": "Identical secrets set", + "module": "test_communication", + "moduleLogger": [], + "msecs": 197.97396659851074, + "msg": "Identical secrets set", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6362.789869308472, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:03,499", + "created": 1609969743.499295, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 204, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:03,198", + "created": 1609969743.198071, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "WARNING", + "levelno": 30, + "lineno": 724, + "message": "SP client: TX -> Authentification is required. Message service: 17, data_id: 34, status: okay, data: 'msg1_data_to_be_transfered' will be ignored.", + "module": "__init__", + "msecs": 198.07100296020508, + "msg": "%s TX -> Authentification is required. Message %s, %s, data: %s will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6362.886905670166, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "34" + ], + "asctime": "2021-01-06 22:49:03,498", + "created": 1609969743.498927, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "receive", "levelname": "WARNING", "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 34) not in buffer.", "module": "__init__", - "msecs": 334.28192138671875, + "msecs": 498.92711639404297, "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11103.883981704712, - "thread": 139911147616064, + "relativeCreated": 6663.743019104004, + "thread": 140012350113600, "threadName": "MainThread" - }, + } + ], + "msecs": 499.2949962615967, + "msg": "Transfering a message client -> server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6664.110898971558, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00036787986755371094 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:03,500", + "created": 1609969743.500034, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ { "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "Returnvalue of Client send Method", + "False", + "" ], - "asctime": "2020-12-26 10:11:41,334", - "created": 1608973901.334637, + "asctime": "2021-01-06 22:49:03,499", + "created": 1609969743.499654, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -4178,26 +8189,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", + "message": "Result (Returnvalue of Client send Method): False ()", "module": "test", - "msecs": 334.636926651001, + "msecs": 499.65405464172363, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11104.238986968994, - "thread": 139911147616064, + "relativeCreated": 6664.469957351685, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "Returnvalue of Client send Method", + "False", + "" ], - "asctime": "2020-12-26 10:11:41,334", - "created": 1608973901.334856, + "asctime": "2021-01-06 22:49:03,499", + "created": 1609969743.499853, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -4205,27 +8216,1519 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", + "message": "Expectation (Returnvalue of Client send Method): result = False ()", "module": "test", - "msecs": 334.8560333251953, + "msecs": 499.85289573669434, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11104.458093643188, - "thread": 139911147616064, + "relativeCreated": 6664.668798446655, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 335.0410461425781, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", + "msecs": 500.0340938568115, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11104.643106460571, - "thread": 139911147616064, + "relativeCreated": 6664.8499965667725, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001811981201171875 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:03,500", + "created": 1609969743.500624, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:03,500", + "created": 1609969743.500303, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): None ()", + "module": "test", + "msecs": 500.3030300140381, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6665.118932723999, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:03,500", + "created": 1609969743.500466, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = None ()", + "module": "test", + "msecs": 500.46610832214355, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6665.2820110321045, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 500.6239414215088, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6665.43984413147, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00015783309936523438 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:03,802", + "created": 1609969743.802396, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 210, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:03,500", + "created": 1609969743.500941, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "WARNING", + "levelno": 30, + "lineno": 724, + "message": "SP server: TX -> Authentification is required. Message service: 17, data_id: 35, status: service or data unknown, data: 'msg2_data_to_be_transfered' will be ignored.", + "module": "__init__", + "msecs": 500.94103813171387, + "msg": "%s TX -> Authentification is required. Message %s, %s, data: %s will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6665.756940841675, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "0.25", + "17", + "35" + ], + "asctime": "2021-01-06 22:49:03,802", + "created": 1609969743.802052, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP client: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", + "module": "__init__", + "msecs": 802.0520210266113, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6966.867923736572, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 802.3960590362549, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6967.211961746216, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0003440380096435547 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:03,803", + "created": 1609969743.803101, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:03,802", + "created": 1609969743.80274, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Server send Method): False ()", + "module": "test", + "msecs": 802.7400970458984, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6967.555999755859, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:03,802", + "created": 1609969743.802927, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Server send Method): result = False ()", + "module": "test", + "msecs": 802.9270172119141, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6967.742919921875, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 803.1010627746582, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6967.916965484619, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00017404556274414062 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:03,803", + "created": 1609969743.803695, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on client side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on client side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:03,803", + "created": 1609969743.803376, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on client side): None ()", + "module": "test", + "msecs": 803.3759593963623, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6968.191862106323, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on client side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:03,803", + "created": 1609969743.803536, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on client side): result = None ()", + "module": "test", + "msecs": 803.5359382629395, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6968.3518409729, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 803.6949634552002, + "msg": "Received message on client side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6968.510866165161, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001590251922607422 + }, + { + "args": [ + 17, + 34 + ], + "asctime": "2021-01-06 22:49:03,804", + "created": 1609969743.804139, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 215, + "message": "Added msg1 to client whitelist (sid=17, did=34)", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34" + ], + "asctime": "2021-01-06 22:49:03,803", + "created": 1609969743.803978, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: 17, data_id: 34) to the authentification whitelist", + "module": "__init__", + "msecs": 803.9779663085938, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6968.793869018555, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 804.1388988494873, + "msg": "Added msg1 to client whitelist (sid=%d, did=%d)", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6968.954801559448, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001609325408935547 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:04,106", + "created": 1609969744.106978, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 218, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:03,804", + "created": 1609969743.804442, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 804.4419288635254, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6969.257831573486, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:03,804", + "created": 1609969743.804984, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "module": "test_helpers", + "msecs": 804.9840927124023, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6969.799995422363, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:03,805", + "created": 1609969743.805401, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "module": "test_helpers", + "msecs": 805.401086807251, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6970.216989517212, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:03,805", + "created": 1609969743.805711, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 441, + "message": "SP server: RX <- Authentification is required. Message will be ignored.", + "module": "__init__", + "msecs": 805.711030960083, + "msg": "%s RX <- Authentification is required. Message will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6970.526933670044, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "34" + ], + "asctime": "2021-01-06 22:49:04,106", + "created": 1609969744.106603, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 34) not in buffer.", + "module": "__init__", + "msecs": 106.60290718078613, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7271.418809890747, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 106.97793960571289, + "msg": "Transfering a message client -> server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7271.793842315674, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0003750324249267578 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:04,107", + "created": 1609969744.107718, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:04,107", + "created": 1609969744.107352, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Client send Method): True ()", + "module": "test", + "msecs": 107.35201835632324, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7272.167921066284, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:04,107", + "created": 1609969744.107543, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Client send Method): result = True ()", + "module": "test", + "msecs": 107.5429916381836, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7272.3588943481445, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 107.71799087524414, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7272.533893585205, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00017499923706054688 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:04,108", + "created": 1609969744.108334, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:04,107", + "created": 1609969744.107997, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): None ()", + "module": "test", + "msecs": 107.99694061279297, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7272.812843322754, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:04,108", + "created": 1609969744.108162, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = None ()", + "module": "test", + "msecs": 108.16192626953125, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7272.977828979492, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 108.33406448364258, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7273.1499671936035, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00017213821411132812 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:04,410", + "created": 1609969744.410064, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 224, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:04,108", + "created": 1609969744.108662, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "WARNING", + "levelno": 30, + "lineno": 724, + "message": "SP server: TX -> Authentification is required. Message service: 17, data_id: 35, status: service or data unknown, data: 'msg2_data_to_be_transfered' will be ignored.", + "module": "__init__", + "msecs": 108.66189002990723, + "msg": "%s TX -> Authentification is required. Message %s, %s, data: %s will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7273.477792739868, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "0.25", + "17", + "35" + ], + "asctime": "2021-01-06 22:49:04,409", + "created": 1609969744.409705, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP client: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", + "module": "__init__", + "msecs": 409.70492362976074, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7574.520826339722, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 410.0639820098877, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7574.879884719849, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0003590583801269531 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:04,410", + "created": 1609969744.41079, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:04,410", + "created": 1609969744.410424, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Server send Method): False ()", + "module": "test", + "msecs": 410.42399406433105, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7575.239896774292, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:04,410", + "created": 1609969744.410613, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Server send Method): result = False ()", + "module": "test", + "msecs": 410.6130599975586, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7575.4289627075195, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 410.78996658325195, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7575.605869293213, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00017690658569335938 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:04,411", + "created": 1609969744.411389, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on client side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on client side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:04,411", + "created": 1609969744.411054, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on client side): None ()", + "module": "test", + "msecs": 411.0538959503174, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7575.869798660278, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on client side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:04,411", + "created": 1609969744.411226, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on client side): result = None ()", + "module": "test", + "msecs": 411.2260341644287, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7576.04193687439, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 411.3891124725342, + "msg": "Received message on client side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7576.205015182495, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00016307830810546875 + }, + { + "args": [ + 17, + 34 + ], + "asctime": "2021-01-06 22:49:04,411", + "created": 1609969744.411835, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 229, + "message": "Added msg1 to server whitelist (sid=17, did=34)", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 34" + ], + "asctime": "2021-01-06 22:49:04,411", + "created": 1609969744.411674, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: 17, data_id: 34) to the authentification whitelist", + "module": "__init__", + "msecs": 411.67402267456055, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7576.4899253845215, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 411.8349552154541, + "msg": "Added msg1 to server whitelist (sid=%d, did=%d)", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7576.650857925415, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001609325408935547 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:04,514", + "created": 1609969744.514283, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 232, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:04,412", + "created": 1609969744.412144, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 412.1439456939697, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7576.959848403931, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:04,412", + "created": 1609969744.412684, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "module": "test_helpers", + "msecs": 412.68396377563477, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7577.499866485596, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:04,413", + "created": 1609969744.4131, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "module": "test_helpers", + "msecs": 413.100004196167, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7577.915906906128, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: 17, data_id: 34", + "status: okay", + "u'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:04,413", + "created": 1609969744.413435, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: 17, data_id: 34, status: okay, data: \"u'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 413.4349822998047, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7578.250885009766, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:04,413", + "created": 1609969744.413692, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 413.6919975280762, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7578.507900238037, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 514.2829418182373, + "msg": "Transfering a message client -> server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7679.098844528198, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.10059094429016113 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:04,515", + "created": 1609969744.515171, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:04,514", + "created": 1609969744.514786, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Client send Method): True ()", + "module": "test", + "msecs": 514.7860050201416, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7679.6019077301025, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:04,514", + "created": 1609969744.51499, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Client send Method): result = True ()", + "module": "test", + "msecs": 514.9900913238525, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7679.8059940338135, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 515.1710510253906, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7679.986953735352, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00018095970153808594 + }, + { + "args": [ + "{u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34}", + "" + ], + "asctime": "2021-01-06 22:49:04,515", + "created": 1609969744.515834, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content {u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "{u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34}", + "" + ], + "asctime": "2021-01-06 22:49:04,515", + "created": 1609969744.51546, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): {u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34} ()", + "module": "test", + "msecs": 515.4600143432617, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7680.275917053223, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "{'status': 0, 'service_id': 17, 'data': 'msg1_data_to_be_transfered', 'data_id': 34}", + "" + ], + "asctime": "2021-01-06 22:49:04,515", + "created": 1609969744.515641, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = {'status': 0, 'service_id': 17, 'data': 'msg1_data_to_be_transfered', 'data_id': 34} ()", + "module": "test", + "msecs": 515.6409740447998, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7680.456876754761, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 515.8340930938721, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7680.649995803833, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00019311904907226562 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:04,817", + "created": 1609969744.817701, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 238, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:04,516", + "created": 1609969744.516187, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "WARNING", + "levelno": 30, + "lineno": 724, + "message": "SP server: TX -> Authentification is required. Message service: 17, data_id: 35, status: service or data unknown, data: 'msg2_data_to_be_transfered' will be ignored.", + "module": "__init__", + "msecs": 516.1869525909424, + "msg": "%s TX -> Authentification is required. Message %s, %s, data: %s will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7681.002855300903, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "0.25", + "17", + "35" + ], + "asctime": "2021-01-06 22:49:04,817", + "created": 1609969744.817368, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP client: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", + "module": "__init__", + "msecs": 817.3680305480957, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7982.183933258057, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 817.7011013031006, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7982.5170040130615, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0003330707550048828 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:04,818", + "created": 1609969744.818478, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:04,818", + "created": 1609969744.818103, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Server send Method): False ()", + "module": "test", + "msecs": 818.1030750274658, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7982.918977737427, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:04,818", + "created": 1609969744.818293, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Server send Method): result = False ()", + "module": "test", + "msecs": 818.2930946350098, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7983.108997344971, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 818.4781074523926, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7983.2940101623535, + "thread": 140012350113600, "threadName": "MainThread", "time_consumption": 0.0001850128173828125 }, @@ -4234,54 +9737,26 @@ "None", "" ], - "asctime": "2020-12-26 10:11:41,436", - "created": 1608973901.43647, + "asctime": "2021-01-06 22:49:04,819", + "created": 1609969744.81907, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", + "lineno": 144, + "message": "Received message on client side is correct (Content None and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:41,435", - "created": 1608973901.43569, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 435.68992614746094, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11205.291986465454, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", + "Received message on client side", "None", "" ], - "asctime": "2020-12-26 10:11:41,436", - "created": 1608973901.436042, + "asctime": "2021-01-06 22:49:04,818", + "created": 1609969744.818745, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -4289,26 +9764,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", + "message": "Result (Received message on client side): None ()", "module": "test", - "msecs": 436.04207038879395, + "msecs": 818.7448978424072, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11205.644130706787, - "thread": 139911147616064, + "relativeCreated": 7983.560800552368, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", + "Received message on client side", "None", "" ], - "asctime": "2020-12-26 10:11:41,436", - "created": 1608973901.436272, + "asctime": "2021-01-06 22:49:04,818", + "created": 1609969744.818909, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -4316,799 +9791,289 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", + "message": "Expectation (Received message on client side): result = None ()", "module": "test", - "msecs": 436.27190589904785, + "msecs": 818.9089298248291, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11205.873966217041, - "thread": 139911147616064, + "relativeCreated": 7983.72483253479, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 436.47003173828125, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", + "msecs": 819.0701007843018, + "msg": "Received message on client side is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11206.072092056274, - "thread": 139911147616064, + "relativeCreated": 7983.886003494263, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00019812583923339844 + "time_consumption": 0.00016117095947265625 }, { "args": [ - "True", - "" + 17, + 35 ], - "asctime": "2020-12-26 10:11:41,437", - "created": 1608973901.437146, + "asctime": "2021-01-06 22:49:04,819", + "created": 1609969744.819711, "exc_info": null, "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Exception (TypeError) detection variable is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Exception (TypeError) detection variable", - "True", - "" - ], - "asctime": "2020-12-26 10:11:41,436", - "created": 1608973901.436804, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Exception (TypeError) detection variable): True ()", - "module": "test", - "msecs": 436.80405616760254, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11206.406116485596, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Exception (TypeError) detection variable", - "True", - "" - ], - "asctime": "2020-12-26 10:11:41,436", - "created": 1608973901.436976, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Exception (TypeError) detection variable): result = True ()", - "module": "test", - "msecs": 436.97595596313477, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11206.578016281128, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 437.1459484100342, - "msg": "Exception (TypeError) detection variable is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11206.748008728027, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00016999244689941406 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:41,538", - "created": 1608973901.538515, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "48879" - ], - "asctime": "2020-12-26 10:11:41,537", - "created": 1608973901.537757, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 537.7569198608398, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11307.358980178833, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:41,538", - "created": 1608973901.538107, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 538.1069183349609, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11307.708978652954, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:41,538", - "created": 1608973901.538324, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 538.3241176605225, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11307.926177978516, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 538.5150909423828, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11308.117151260376, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00019097328186035156 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:41,639", - "created": 1608973901.639921, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "48879" - ], - "asctime": "2020-12-26 10:11:41,639", - "created": 1608973901.639176, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 639.1758918762207, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11408.777952194214, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:41,639", - "created": 1608973901.639524, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 639.523983001709, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11409.126043319702, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:41,639", - "created": 1608973901.639717, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 639.7171020507812, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11409.319162368774, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 639.9209499359131, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11409.523010253906, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00020384788513183594 - } - ], - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.41062092781066895, - "time_finished": "2020-12-26 10:11:41,639", - "time_start": "2020-12-26 10:11:41,229" - }, - "socket_protocol.pure_json_protocol: No Callback at response instance for the request.": { - "args": null, - "asctime": "2020-12-26 10:11:39,102", - "created": 1608973899.102605, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 42, - "message": "socket_protocol.pure_json_protocol: No Callback at response instance for the request.", - "module": "__init__", - "moduleLogger": [], - "msecs": 102.60510444641113, - "msg": "socket_protocol.pure_json_protocol: No Callback at response instance for the request.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8872.207164764404, - "testcaseLogger": [ - { - "args": [], - "asctime": "2020-12-26 10:11:39,607", - "created": 1608973899.607126, - "exc_info": null, - "exc_text": null, - "filename": "test_handling_errors.py", - "funcName": "no_callback", + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", "levelname": "DEBUG", "levelno": 10, - "lineno": 32, - "message": "Send data, but no callback registered (pure_json_protocol).", - "module": "test_handling_errors", + "lineno": 244, + "message": "Added msg2 to client and server whitelist (sid=17, did=35)", + "module": "test_communication", "moduleLogger": [ { "args": [ - " SP server:" + "SP client:", + "service: 17, data_id: 35" ], - "asctime": "2020-12-26 10:11:39,103", - "created": 1608973899.10311, + "asctime": "2021-01-06 22:49:04,819", + "created": 1609969744.819362, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", + "funcName": "add_msg_to_auth_whitelist_", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 539, + "message": "SP client: Adding Message (service: 17, data_id: 35) to the authentification whitelist", "module": "__init__", - "msecs": 103.11007499694824, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", + "msecs": 819.3619251251221, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 8872.712135314941, - "thread": 139911147616064, + "relativeCreated": 7984.177827835083, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: 17, data_id: 35" ], - "asctime": "2020-12-26 10:11:39,103", - "created": 1608973899.103586, + "asctime": "2021-01-06 22:49:04,819", + "created": 1609969744.819548, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 103.58595848083496, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8873.188018798828, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:39,103", - "created": 1608973899.103971, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", + "funcName": "add_msg_to_auth_whitelist_", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 539, + "message": "SP server: Adding Message (service: 17, data_id: 35) to the authentification whitelist", "module": "__init__", - "msecs": 103.97100448608398, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", + "msecs": 819.5478916168213, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 8873.573064804077, - "thread": 139911147616064, + "relativeCreated": 7984.363794326782, + "thread": 140012350113600, "threadName": "MainThread" - }, + } + ], + "msecs": 819.7109699249268, + "msg": "Added msg2 to client and server whitelist (sid=%d, did=%d)", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 7984.526872634888, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00016307830810546875 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:04,922", + "created": 1609969744.92209, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 247, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ { "args": [ - " SP server:" + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:39,104", - "created": 1608973899.10439, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 104.38990592956543, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8873.991966247559, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 10, - 45054, - "{u'test': u'test'}" - ], - "asctime": "2020-12-26 10:11:39,104", - "created": 1608973899.104609, + "asctime": "2021-01-06 22:49:04,820", + "created": 1609969744.820012, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", + "lineno": 719, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", "module": "__init__", - "msecs": 104.60901260375977, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 820.012092590332, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 8874.211072921753, - "thread": 139911147616064, + "relativeCreated": 7984.827995300293, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:39,105", - "created": 1608973899.105164, + "asctime": "2021-01-06 22:49:04,820", + "created": 1609969744.820563, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", "module": "test_helpers", - "msecs": 105.1640510559082, - "msg": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "msecs": 820.5630779266357, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 8874.766111373901, - "thread": 139911147616064, + "relativeCreated": 7985.378980636597, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:39,256", - "created": 1608973899.256412, + "asctime": "2021-01-06 22:49:04,820", + "created": 1609969744.82098, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", "module": "test_helpers", - "msecs": 256.4120292663574, - "msg": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "msecs": 820.9800720214844, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9026.01408958435, - "thread": 139911126587136, - "threadName": "Thread-24" + "relativeCreated": 7985.795974731445, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "10", - "45054", - "{u'test': u'test'}" + "SP server:", + "service: 17, data_id: 34", + "status: okay", + "u'msg1_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:39,256", - "created": 1608973899.256882, + "asctime": "2021-01-06 22:49:04,821", + "created": 1609969744.821305, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", + "lineno": 450, + "message": "SP server: RX <- service: 17, data_id: 34, status: okay, data: \"u'msg1_data_to_be_transfered'\"", "module": "__init__", - "msecs": 256.8819522857666, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 821.3050365447998, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9026.48401260376, - "thread": 139911126587136, - "threadName": "Thread-24" + "relativeCreated": 7986.120939254761, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:" ], - "asctime": "2020-12-26 10:11:39,257", - "created": 1608973899.257073, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 337, - "message": " SP server: Received message with no registered callback. Sending negative response.", - "module": "__init__", - "msecs": 257.07292556762695, - "msg": "%s Received message with no registered callback. Sending negative response.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9026.67498588562, - "thread": 139911126587136, - "threadName": "Thread-24" - }, - { - "args": [ - " SP server:", - 1, - 11, - 45054, - "None" - ], - "asctime": "2020-12-26 10:11:39,257", - "created": 1608973899.257233, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 1, service_id: 11, data_id: 45054, data: \"None\"", - "module": "__init__", - "msecs": 257.2329044342041, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9026.834964752197, - "thread": 139911126587136, - "threadName": "Thread-24" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:39,257", - "created": 1608973899.257544, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (67): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d b1 70 10 64", - "module": "test_helpers", - "msecs": 257.54404067993164, - "msg": "Send data: (67): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d b1 70 10 64", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9027.146100997925, - "thread": 139911126587136, - "threadName": "Thread-24" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:39,408", - "created": 1608973899.408879, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (67): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d b1 70 10 64", - "module": "test_helpers", - "msecs": 408.87904167175293, - "msg": "Receive data (67): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d b1 70 10 64", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9178.481101989746, - "thread": 139911118194432, - "threadName": "Thread-25" - }, - { - "args": [ - " SP server:", - "1", - "11", - "45054", - "None" - ], - "asctime": "2020-12-26 10:11:39,409", - "created": 1608973899.409152, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 1, service_id: 11, data_id: 45054, data: \"None\"", - "module": "__init__", - "msecs": 409.1520309448242, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9178.754091262817, - "thread": 139911118194432, - "threadName": "Thread-25" - }, - { - "args": [ - " SP server:", - "Request has no callback. Data buffered." - ], - "asctime": "2020-12-26 10:11:39,409", - "created": 1608973899.409309, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Request has no callback. Data buffered.", - "module": "__init__", - "msecs": 409.30891036987305, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9178.910970687866, - "thread": 139911118194432, - "threadName": "Thread-25" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:39,409", - "created": 1608973899.409429, + "asctime": "2021-01-06 22:49:04,821", + "created": 1609969744.821543, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__buffer_received_data__", "levelname": "DEBUG", "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "lineno": 375, + "message": "SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", "module": "__init__", - "msecs": 409.42907333374023, + "msecs": 821.5429782867432, "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9179.031133651733, - "thread": 139911118194432, - "threadName": "Thread-25" + "relativeCreated": 7986.358880996704, + "thread": 140012350113600, + "threadName": "MainThread" } ], - "msecs": 607.125997543335, - "msg": "Send data, but no callback registered (pure_json_protocol).", + "msecs": 922.0900535583496, + "msg": "Transfering a message client -> server", "name": "__tLogger__", - "pathname": "src/tests/test_handling_errors.py", - "process": 260862, + "pathname": "src/tests/test_communication.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9376.728057861328, - "thread": 139911147616064, + "relativeCreated": 8086.905956268311, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.19769692420959473 + "time_consumption": 0.10054707527160645 }, { "args": [ "True", "" ], - "asctime": "2020-12-26 10:11:39,608", - "created": 1608973899.60806, + "asctime": "2021-01-06 22:49:04,922", + "created": 1609969744.922968, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:39,607", - "created": 1608973899.60767, + "asctime": "2021-01-06 22:49:04,922", + "created": 1609969744.922579, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -5116,26 +10081,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of send method): True ()", + "message": "Result (Returnvalue of Client send Method): True ()", "module": "test", - "msecs": 607.6700687408447, + "msecs": 922.5790500640869, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9377.272129058838, - "thread": 139911147616064, + "relativeCreated": 8087.394952774048, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:39,607", - "created": 1608973899.607876, + "asctime": "2021-01-06 22:49:04,922", + "created": 1609969744.922785, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -5143,55 +10108,400 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", + "message": "Expectation (Returnvalue of Client send Method): result = True ()", "module": "test", - "msecs": 607.8760623931885, + "msecs": 922.7850437164307, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9377.478122711182, - "thread": 139911147616064, + "relativeCreated": 8087.600946426392, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 608.0598831176758, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "msecs": 922.9679107666016, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9377.661943435669, - "thread": 139911147616064, + "relativeCreated": 8087.7838134765625, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00018286705017089844 + }, + { + "args": [ + "{u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34}", + "" + ], + "asctime": "2021-01-06 22:49:04,923", + "created": 1609969744.923612, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content {u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "{u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34}", + "" + ], + "asctime": "2021-01-06 22:49:04,923", + "created": 1609969744.923256, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): {u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34} ()", + "module": "test", + "msecs": 923.2559204101562, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8088.071823120117, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "{'status': 0, 'service_id': 17, 'data': 'msg1_data_to_be_transfered', 'data_id': 34}", + "" + ], + "asctime": "2021-01-06 22:49:04,923", + "created": 1609969744.923435, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = {'status': 0, 'service_id': 17, 'data': 'msg1_data_to_be_transfered', 'data_id': 34} ()", + "module": "test", + "msecs": 923.4349727630615, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8088.2508754730225, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 923.612117767334, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8088.428020477295, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00017714500427246094 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:05,026", + "created": 1609969745.026295, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 253, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:04,923", + "created": 1609969744.923942, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 923.9420890808105, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8088.7579917907715, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:04,924", + "created": 1609969744.924501, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "module": "test_helpers", + "msecs": 924.5009422302246, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8089.316844940186, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:04,924", + "created": 1609969744.924921, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "module": "test_helpers", + "msecs": 924.9210357666016, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8089.7369384765625, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: 17, data_id: 35", + "status: service or data unknown", + "u'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:04,925", + "created": 1609969744.925247, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: 17, data_id: 35, status: service or data unknown, data: \"u'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 925.2469539642334, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8090.062856674194, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: service or data unknown" + ], + "asctime": "2021-01-06 22:49:04,925", + "created": 1609969744.925441, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: service or data unknown", + "module": "__init__", + "msecs": 925.4410266876221, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8090.256929397583, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:04,925", + "created": 1609969744.925704, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 925.7040023803711, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8090.519905090332, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 26.294946670532227, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8191.110849380493, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.10059094429016113 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:05,027", + "created": 1609969745.027171, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:05,026", + "created": 1609969745.026782, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Server send Method): True ()", + "module": "test", + "msecs": 26.78203582763672, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8191.597938537598, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Server send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:05,026", + "created": 1609969745.026987, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Server send Method): result = True ()", + "module": "test", + "msecs": 26.987075805664062, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8191.802978515625, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 27.170896530151367, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8191.986799240112, + "thread": 140012350113600, "threadName": "MainThread", "time_consumption": 0.0001838207244873047 }, { "args": [ - "1", - "" + "{u'status': 4, u'service_id': 17, u'data': u'msg2_data_to_be_transfered', u'data_id': 35}", + "" ], - "asctime": "2020-12-26 10:11:39,608", - "created": 1608973899.608645, + "asctime": "2021-01-06 22:49:05,027", + "created": 1609969745.027878, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Response Status (Request has no callback. Data buffered.) transfered via pure_json_protocol is correct (Content 1 and Type is ).", + "lineno": 144, + "message": "Received message on client side is correct (Content {u'status': 4, u'service_id': 17, u'data': u'msg2_data_to_be_transfered', u'data_id': 35} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Response Status (Request has no callback. Data buffered.) transfered via pure_json_protocol", - "1", - "" + "Received message on client side", + "{u'status': 4, u'service_id': 17, u'data': u'msg2_data_to_be_transfered', u'data_id': 35}", + "" ], - "asctime": "2020-12-26 10:11:39,608", - "created": 1608973899.608328, + "asctime": "2021-01-06 22:49:05,027", + "created": 1609969745.027477, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -5199,26 +10509,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Response Status (Request has no callback. Data buffered.) transfered via pure_json_protocol): 1 ()", + "message": "Result (Received message on client side): {u'status': 4, u'service_id': 17, u'data': u'msg2_data_to_be_transfered', u'data_id': 35} ()", "module": "test", - "msecs": 608.328104019165, + "msecs": 27.477025985717773, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9377.930164337158, - "thread": 139911147616064, + "relativeCreated": 8192.292928695679, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Response Status (Request has no callback. Data buffered.) transfered via pure_json_protocol", - "1", - "" + "Received message on client side", + "{'status': 4, 'service_id': 17, 'data': 'msg2_data_to_be_transfered', 'data_id': 35}", + "" ], - "asctime": "2020-12-26 10:11:39,608", - "created": 1608973899.608489, + "asctime": "2021-01-06 22:49:05,027", + "created": 1609969745.027676, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -5226,800 +10536,5298 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Response Status (Request has no callback. Data buffered.) transfered via pure_json_protocol): result = 1 ()", + "message": "Expectation (Received message on client side): result = {'status': 4, 'service_id': 17, 'data': 'msg2_data_to_be_transfered', 'data_id': 35} ()", "module": "test", - "msecs": 608.4890365600586, + "msecs": 27.676105499267578, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9378.091096878052, - "thread": 139911147616064, + "relativeCreated": 8192.492008209229, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 608.644962310791, - "msg": "Response Status (Request has no callback. Data buffered.) transfered via pure_json_protocol is correct (Content %s and Type is %s).", + "msecs": 27.8780460357666, + "msg": "Received message on client side is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 9378.247022628784, - "thread": 139911147616064, + "relativeCreated": 8192.693948745728, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00015592575073242188 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:39,609", - "created": 1608973899.609264, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data (no data) transfered via pure_json_protocol is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data (no data) transfered via pure_json_protocol", - "None", - "" - ], - "asctime": "2020-12-26 10:11:39,608", - "created": 1608973899.60895, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data (no data) transfered via pure_json_protocol): None ()", - "module": "test", - "msecs": 608.9498996734619, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9378.551959991455, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data (no data) transfered via pure_json_protocol", - "None", - "" - ], - "asctime": "2020-12-26 10:11:39,609", - "created": 1608973899.609108, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data (no data) transfered via pure_json_protocol): result = None ()", - "module": "test", - "msecs": 609.1079711914062, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9378.7100315094, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 609.2638969421387, - "msg": "Response Data (no data) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9378.865957260132, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00015592575073242188 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:39,710", - "created": 1608973899.710333, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:39,709", - "created": 1608973899.70979, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 709.7899913787842, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9479.392051696777, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:39,710", - "created": 1608973899.710059, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 710.0589275360107, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9479.660987854004, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:39,710", - "created": 1608973899.7102, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 710.2000713348389, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9479.802131652832, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 710.3331089019775, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9479.93516921997, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00013303756713867188 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:39,811", - "created": 1608973899.811692, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:39,810", - "created": 1608973899.810924, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 810.9240531921387, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9580.526113510132, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:39,811", - "created": 1608973899.811307, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 811.3069534301758, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9580.909013748169, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:39,811", - "created": 1608973899.811508, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 811.5079402923584, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9581.110000610352, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 811.6919994354248, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 9581.294059753418, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00018405914306640625 + "time_consumption": 0.00020194053649902344 } ], - "thread": 139911147616064, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.7090868949890137, - "time_finished": "2020-12-26 10:11:39,811", - "time_start": "2020-12-26 10:11:39,102" + "time_consumption": 1.8386390209197998, + "time_finished": "2021-01-06 22:49:05,027", + "time_start": "2021-01-06 22:49:03,189" }, - "socket_protocol.pure_json_protocol: Register a second Callback with the same service_id.": { + "_Lmn-kE0hEeuiHtQbLi1mZg": { "args": null, - "asctime": "2020-12-26 10:11:35,237", - "created": 1608973895.23799, + "asctime": "2021-01-06 22:49:05,028", + "created": 1609969745.028513, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "testrun", "levelname": "INFO", "levelno": 20, - "lineno": 32, - "message": "socket_protocol.pure_json_protocol: Register a second Callback with the same service_id.", + "lineno": 39, + "message": "_Lmn-kE0hEeuiHtQbLi1mZg", "module": "__init__", "moduleLogger": [], - "msecs": 237.9899024963379, - "msg": "socket_protocol.pure_json_protocol: Register a second Callback with the same service_id.", + "msecs": 28.512954711914062, + "msg": "_Lmn-kE0hEeuiHtQbLi1mZg", "name": "__tLogger__", "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5007.591962814331, + "relativeCreated": 8193.328857421875, "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:35,741", - "created": 1608973895.741464, + "asctime": "2021-01-06 22:49:05,036", + "created": 1609969745.036485, "exc_info": null, "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "second_service_callback", + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", "levelname": "DEBUG", "levelno": 10, - "lineno": 140, - "message": "Send and received data by pure_json_protocol.", - "module": "test_normal_operation", + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", "moduleLogger": [ { "args": [ - " SP server:" + "SP server:" ], - "asctime": "2020-12-26 10:11:35,238", - "created": 1608973895.238535, + "asctime": "2021-01-06 22:49:05,029", + "created": 1609969745.02905, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 238.53492736816406, + "msecs": 29.050111770629883, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5008.136987686157, - "thread": 139911147616064, + "relativeCreated": 8193.86601448059, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:35,238", - "created": 1608973895.238903, + "asctime": "2021-01-06 22:49:05,029", + "created": 1609969745.029287, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 29.287099838256836, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8194.103002548218, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:05,029", + "created": 1609969745.029533, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 29.532909393310547, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8194.348812103271, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:05,029", + "created": 1609969745.029721, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 29.72102165222168, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8194.536924362183, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:05,029", + "created": 1609969745.029928, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 29.927968978881836, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8194.743871688843, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:05,030", + "created": 1609969745.030104, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 30.10392189025879, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8194.91982460022, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:05,030", + "created": 1609969745.030285, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 30.284881591796875, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8195.100784301758, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:05,030", + "created": 1609969745.030469, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 30.46894073486328, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8195.284843444824, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:05,030", + "created": 1609969745.030671, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 30.670881271362305, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8195.486783981323, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:05,030", + "created": 1609969745.030856, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 30.855894088745117, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8195.671796798706, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:05,031", + "created": 1609969745.031015, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__authentification_state_reset__", "levelname": "INFO", "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "module": "__init__", - "msecs": 238.90304565429688, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "msecs": 31.01491928100586, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5008.50510597229, - "thread": 139911147616064, + "relativeCreated": 8195.830821990967, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "channel name request", + "channel name response" ], - "asctime": "2020-12-26 10:11:35,239", - "created": 1608973895.239203, + "asctime": "2021-01-06 22:49:05,031", + "created": 1609969745.031213, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 31.213045120239258, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8196.0289478302, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:05,031", + "created": 1609969745.031406, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 31.405925750732422, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8196.221828460693, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:05,031", + "created": 1609969745.031571, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 31.570911407470703, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8196.386814117432, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:05,031", + "created": 1609969745.031742, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 31.742095947265625, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8196.557998657227, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:05,031", + "created": 1609969745.031916, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 31.915903091430664, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8196.731805801392, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:05,032", + "created": 1609969745.032095, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 32.09495544433594, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8196.910858154297, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:05,032", + "created": 1609969745.032257, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 32.257080078125, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8197.072982788086, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:05,032", + "created": 1609969745.032414, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 32.41395950317383, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8197.229862213135, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:05,032", + "created": 1609969745.032573, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 32.57298469543457, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8197.388887405396, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:05,032", + "created": 1609969745.032954, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", "module": "__init__", - "msecs": 239.20297622680664, + "msecs": 32.95397758483887, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5008.8050365448, - "thread": 139911147616064, + "relativeCreated": 8197.7698802948, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP client:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:35,239", - "created": 1608973895.239493, + "asctime": "2021-01-06 22:49:05,033", + "created": 1609969745.033141, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 33.14089775085449, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8197.956800460815, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:05,033", + "created": 1609969745.033375, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 33.37502479553223, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8198.190927505493, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:05,033", + "created": 1609969745.033543, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 33.54310989379883, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8198.35901260376, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:05,033", + "created": 1609969745.033704, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 33.70404243469238, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8198.519945144653, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:05,033", + "created": 1609969745.033898, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 33.898115158081055, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8198.714017868042, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:05,034", + "created": 1609969745.03408, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 34.08002853393555, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8198.895931243896, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:05,034", + "created": 1609969745.03426, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 34.26003456115723, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8199.075937271118, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:05,034", + "created": 1609969745.034434, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 34.43408012390137, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8199.249982833862, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:05,034", + "created": 1609969745.034605, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 34.60502624511719, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8199.420928955078, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:05,034", + "created": 1609969745.03476, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__authentification_state_reset__", "levelname": "INFO", "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "module": "__init__", - "msecs": 239.49289321899414, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "msecs": 34.7599983215332, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5009.094953536987, - "thread": 139911147616064, + "relativeCreated": 8199.575901031494, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:", - 0, - 10, - 45054, - "{u'test': u'test'}" + "SP client:", + "channel name request", + "channel name response" ], - "asctime": "2020-12-26 10:11:35,239", - "created": 1608973895.239666, + "asctime": "2021-01-06 22:49:05,034", + "created": 1609969745.034951, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 34.950971603393555, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8199.766874313354, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:05,035", + "created": 1609969745.035141, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 35.1409912109375, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8199.956893920898, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:05,035", + "created": 1609969745.035303, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 35.30311584472656, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8200.119018554688, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:05,035", + "created": 1609969745.03547, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 35.470008850097656, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8200.285911560059, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:05,035", + "created": 1609969745.035644, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 35.6440544128418, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8200.459957122803, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:05,035", + "created": 1609969745.035823, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 35.82310676574707, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8200.639009475708, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:05,035", + "created": 1609969745.035981, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 35.980939865112305, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8200.796842575073, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:05,036", + "created": 1609969745.036144, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 36.14401817321777, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8200.959920883179, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:05,036", + "created": 1609969745.03632, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 36.31997108459473, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8201.135873794556, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 36.48495674133301, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8201.300859451294, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00016498565673828125 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:05,036", + "created": 1609969745.036815, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 261, + "message": "Setting no Channel name for server and client", + "module": "test_communication", + "moduleLogger": [], + "msecs": 36.81492805480957, + "msg": "Setting no Channel name for server and client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8201.63083076477, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:05,639", + "created": 1609969745.639474, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 265, + "message": "Server and Client connect callback triggered", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:05,037", + "created": 1609969745.03707, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 37.07003593444824, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8201.88593864441, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:05,037", + "created": 1609969745.03726, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 37.26005554199219, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8202.075958251953, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:05,037", + "created": 1609969745.037474, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", + "lineno": 719, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"None\"", "module": "__init__", - "msecs": 239.66598510742188, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 37.47391700744629, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5009.268045425415, - "thread": 139911147616064, + "relativeCreated": 8202.289819717407, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:35,239", - "created": 1608973895.239967, + "asctime": "2021-01-06 22:49:05,037", + "created": 1609969745.037863, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", "module": "test_helpers", - "msecs": 239.96710777282715, - "msg": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "msecs": 37.86301612854004, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5009.56916809082, - "thread": 139911147616064, + "relativeCreated": 8202.678918838501, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:35,390", - "created": 1608973895.390742, + "asctime": "2021-01-06 22:49:05,037", + "created": 1609969745.037969, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", "module": "test_helpers", - "msecs": 390.74206352233887, - "msg": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "msecs": 37.969112396240234, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5160.344123840332, - "thread": 139911118194432, - "threadName": "Thread-17" + "relativeCreated": 8202.785015106201, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "10", - "45054", - "{u'test': u'test'}" + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "None" ], - "asctime": "2020-12-26 10:11:35,391", - "created": 1608973895.391079, + "asctime": "2021-01-06 22:49:05,038", + "created": 1609969745.038071, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", + "lineno": 450, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"None\"", "module": "__init__", - "msecs": 391.0789489746094, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 38.0709171295166, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5160.6810092926025, - "thread": 139911118194432, - "threadName": "Thread-17" + "relativeCreated": 8202.886819839478, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "response_data_method_2" + "SP server:", + "__channel_name_request__" ], - "asctime": "2020-12-26 10:11:35,391", - "created": 1608973895.391233, + "asctime": "2021-01-06 22:49:05,038", + "created": 1609969745.038136, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method_2 to process received data", + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", "module": "__init__", - "msecs": 391.232967376709, + "msecs": 38.13600540161133, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8202.951908111572, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:05,038", + "created": 1609969745.038203, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 38.20300102233887, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8203.0189037323, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:05,038", + "created": 1609969745.038335, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 38.33508491516113, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8203.150987625122, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:05,038", + "created": 1609969745.038445, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 38.44499588012695, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8203.260898590088, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:05,038", + "created": 1609969745.038532, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 38.53201866149902, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8203.34792137146, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:05,038", + "created": 1609969745.038595, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 38.594961166381836, "msg": "%s Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5160.835027694702, - "thread": 139911118194432, - "threadName": "Thread-17" + "relativeCreated": 8203.410863876343, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 639.4739151000977, + "msg": "Server and Client connect callback triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8804.289817810059, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.6008789539337158 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:05,640", + "created": 1609969745.640394, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of server is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of server", + "None", + "" + ], + "asctime": "2021-01-06 22:49:05,639", + "created": 1609969745.639993, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of server): None ()", + "module": "test", + "msecs": 639.9929523468018, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8804.808855056763, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - 5, - 11, - 45054, - "[1, 3, u's']" + "Channel name of server", + "None", + "" ], - "asctime": "2020-12-26 10:11:35,391", - "created": 1608973895.391367, + "asctime": "2021-01-06 22:49:05,640", + "created": 1609969745.640199, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of server): result = None ()", + "module": "test", + "msecs": 640.1989459991455, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8805.014848709106, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 640.3939723968506, + "msg": "Channel name of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8805.209875106812, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00019502639770507812 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:05,641", + "created": 1609969745.641023, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of client is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of client", + "None", + "" + ], + "asctime": "2021-01-06 22:49:05,640", + "created": 1609969745.64067, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of client): None ()", + "module": "test", + "msecs": 640.6700611114502, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8805.485963821411, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of client", + "None", + "" + ], + "asctime": "2021-01-06 22:49:05,640", + "created": 1609969745.640838, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of client): result = None ()", + "module": "test", + "msecs": 640.8379077911377, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8805.653810501099, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 641.0229206085205, + "msg": "Channel name of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8805.838823318481, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001850128173828125 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:05,641", + "created": 1609969745.641524, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 271, + "message": "Setting different Channel names for client and Server", + "module": "test_communication", + "moduleLogger": [], + "msecs": 641.524076461792, + "msg": "Setting different Channel names for client and Server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8806.339979171753, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:06,246", + "created": 1609969746.24647, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 275, + "message": "Server and Client connect callback triggered", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:05,641", + "created": 1609969745.641815, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 641.8149471282959, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8806.630849838257, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:05,642", + "created": 1609969745.642037, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 642.0369148254395, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8806.8528175354, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "'client'" + ], + "asctime": "2021-01-06 22:49:05,642", + "created": 1609969745.642266, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, u's']\"", + "lineno": 719, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"'client'\"", "module": "__init__", - "msecs": 391.36695861816406, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", + "msecs": 642.266035079956, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.client", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5160.969018936157, - "thread": 139911118194432, - "threadName": "Thread-17" + "relativeCreated": 8807.081937789917, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:35,391", - "created": 1608973895.391671, + "asctime": "2021-01-06 22:49:05,642", + "created": 1609969745.642746, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 85 0b b7 34", + "lineno": 73, + "message": "Send data: (66): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 93 56 e3 b4", "module": "test_helpers", - "msecs": 391.67094230651855, - "msg": "Send data: (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 85 0b b7 34", + "msecs": 642.7459716796875, + "msg": "Send data: (66): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 93 56 e3 b4", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5161.273002624512, - "thread": 139911118194432, - "threadName": "Thread-17" + "relativeCreated": 8807.561874389648, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:35,542", - "created": 1608973895.542584, + "asctime": "2021-01-06 22:49:05,643", + "created": 1609969745.643117, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 85 0b b7 34", + "lineno": 84, + "message": "Receive data (66): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 93 56 e3 b4", "module": "test_helpers", - "msecs": 542.5839424133301, - "msg": "Receive data (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 85 0b b7 34", + "msecs": 643.1169509887695, + "msg": "Receive data (66): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 93 56 e3 b4", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5312.186002731323, - "thread": 139911126587136, - "threadName": "Thread-18" + "relativeCreated": 8807.93285369873, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "5", - "11", - "45054", - "[1, 3, u's']" + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "u'client'" ], - "asctime": "2020-12-26 10:11:35,543", - "created": 1608973895.543192, + "asctime": "2021-01-06 22:49:05,643", + "created": 1609969745.64345, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, u's']\"", + "lineno": 450, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"u'client'\"", "module": "__init__", - "msecs": 543.1919097900391, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", + "msecs": 643.4500217437744, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.server", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5312.793970108032, - "thread": 139911126587136, - "threadName": "Thread-18" + "relativeCreated": 8808.265924453735, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "Operation not permitted" + "SP server:", + "__channel_name_request__" ], - "asctime": "2020-12-26 10:11:35,543", - "created": 1608973895.543531, + "asctime": "2021-01-06 22:49:05,643", + "created": 1609969745.643675, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 643.6750888824463, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8808.490991592407, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'server'", + "u'client'" + ], + "asctime": "2021-01-06 22:49:05,643", + "created": 1609969745.643993, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__channel_name_request__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 408, + "message": "SP server: overwriting user defined channel name from 'server' to u'client'", + "module": "__init__", + "msecs": 643.9929008483887, + "msg": "%s overwriting user defined channel name from %s to %s", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8808.80880355835, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:05,644", + "created": 1609969745.644207, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 644.2070007324219, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8809.022903442383, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:05,644", + "created": 1609969745.644634, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 644.6340084075928, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8809.449911117554, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:05,644", + "created": 1609969745.644978, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 644.9780464172363, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8809.793949127197, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:05,645", + "created": 1609969745.645263, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 645.2629566192627, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8810.078859329224, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:05,645", + "created": 1609969745.645464, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 645.4639434814453, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 8810.279846191406, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 246.46997451782227, + "msg": "Server and Client connect callback triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9411.285877227783, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.601006031036377 + }, + { + "args": [ + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:06,247", + "created": 1609969746.24739, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of server is correct (Content 'client' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of server", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:06,246", + "created": 1609969746.246971, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of server): 'client' ()", + "module": "test", + "msecs": 246.97089195251465, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9411.786794662476, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of server", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:06,247", + "created": 1609969746.247203, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of server): result = 'client' ()", + "module": "test", + "msecs": 247.20311164855957, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9412.01901435852, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 247.3900318145752, + "msg": "Channel name of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9412.205934524536, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.000186920166015625 + }, + { + "args": [ + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:06,248", + "created": 1609969746.248012, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of client is correct (Content 'client' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of client", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:06,247", + "created": 1609969746.247685, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of client): 'client' ()", + "module": "test", + "msecs": 247.68495559692383, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9412.500858306885, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of client", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:06,247", + "created": 1609969746.247852, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of client): result = 'client' ()", + "module": "test", + "msecs": 247.85208702087402, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9412.667989730835, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 248.01206588745117, + "msg": "Channel name of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9412.827968597412, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00015997886657714844 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:06,248", + "created": 1609969746.248493, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 281, + "message": "Setting identical Channel names for client and server", + "module": "test_communication", + "moduleLogger": [], + "msecs": 248.49295616149902, + "msg": "Setting identical Channel names for client and server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9413.30885887146, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:06,853", + "created": 1609969746.853355, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 285, + "message": "Server and Client connect callback triggered", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:06,248", + "created": 1609969746.24876, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 248.75998497009277, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9413.575887680054, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:06,248", + "created": 1609969746.248984, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 248.98409843444824, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9413.80000114441, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "'unittest'" + ], + "asctime": "2021-01-06 22:49:06,249", + "created": 1609969746.249219, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"'unittest'\"", + "module": "__init__", + "msecs": 249.21894073486328, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9414.034843444824, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:06,249", + "created": 1609969746.24971, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (68): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 22 75 6e 69 74 74 65 73 74 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d b0 bd 92 06", + "module": "test_helpers", + "msecs": 249.7100830078125, + "msg": "Send data: (68): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 22 75 6e 69 74 74 65 73 74 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d b0 bd 92 06", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9414.525985717773, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:06,250", + "created": 1609969746.250111, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (68): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 22 75 6e 69 74 74 65 73 74 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d b0 bd 92 06", + "module": "test_helpers", + "msecs": 250.11110305786133, + "msg": "Receive data (68): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 22 75 6e 69 74 74 65 73 74 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d b0 bd 92 06", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9414.927005767822, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "u'unittest'" + ], + "asctime": "2021-01-06 22:49:06,250", + "created": 1609969746.250442, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"u'unittest'\"", + "module": "__init__", + "msecs": 250.4420280456543, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9415.257930755615, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__channel_name_request__" + ], + "asctime": "2021-01-06 22:49:06,250", + "created": 1609969746.250663, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 250.66304206848145, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9415.478944778442, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:06,251", + "created": 1609969746.251057, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 251.05690956115723, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9415.872812271118, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:06,251", + "created": 1609969746.251493, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 251.49297714233398, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9416.308879852295, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:06,251", + "created": 1609969746.251838, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 251.83796882629395, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9416.653871536255, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:06,252", + "created": 1609969746.25214, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 252.14004516601562, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9416.955947875977, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:06,252", + "created": 1609969746.25235, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 252.3500919342041, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 9417.165994644165, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 853.3549308776855, + "msg": "Server and Client connect callback triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10018.170833587646, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.6010048389434814 + }, + { + "args": [ + "'unittest'", + "" + ], + "asctime": "2021-01-06 22:49:06,854", + "created": 1609969746.854316, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of server is correct (Content 'unittest' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of server", + "'unittest'", + "" + ], + "asctime": "2021-01-06 22:49:06,853", + "created": 1609969746.85391, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of server): 'unittest' ()", + "module": "test", + "msecs": 853.909969329834, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10018.725872039795, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of server", + "'unittest'", + "" + ], + "asctime": "2021-01-06 22:49:06,854", + "created": 1609969746.854124, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of server): result = 'unittest' ()", + "module": "test", + "msecs": 854.1240692138672, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10018.939971923828, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 854.315996170044, + "msg": "Channel name of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10019.131898880005, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001919269561767578 + }, + { + "args": [ + "'unittest'", + "" + ], + "asctime": "2021-01-06 22:49:06,854", + "created": 1609969746.85495, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of client is correct (Content 'unittest' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of client", + "'unittest'", + "" + ], + "asctime": "2021-01-06 22:49:06,854", + "created": 1609969746.854616, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of client): 'unittest' ()", + "module": "test", + "msecs": 854.6159267425537, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10019.431829452515, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of client", + "'unittest'", + "" + ], + "asctime": "2021-01-06 22:49:06,854", + "created": 1609969746.854788, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of client): result = 'unittest' ()", + "module": "test", + "msecs": 854.788064956665, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10019.603967666626, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 854.949951171875, + "msg": "Channel name of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10019.765853881836, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00016188621520996094 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:06,855", + "created": 1609969746.855398, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "Setting Channel name for client only", + "module": "test_communication", + "moduleLogger": [], + "msecs": 855.3979396820068, + "msg": "Setting Channel name for client only", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10020.213842391968, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:07,460", + "created": 1609969747.460261, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 295, + "message": "Server and Client connect callback triggered", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:06,855", + "created": 1609969746.855665, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 855.6649684906006, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10020.480871200562, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:06,855", + "created": 1609969746.855882, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 855.881929397583, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10020.697832107544, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "'client'" + ], + "asctime": "2021-01-06 22:49:06,856", + "created": 1609969746.856106, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"'client'\"", + "module": "__init__", + "msecs": 856.1060428619385, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10020.9219455719, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:06,856", + "created": 1609969746.856578, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (66): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 93 56 e3 b4", + "module": "test_helpers", + "msecs": 856.5781116485596, + "msg": "Send data: (66): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 93 56 e3 b4", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10021.39401435852, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:06,856", + "created": 1609969746.856947, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (66): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 93 56 e3 b4", + "module": "test_helpers", + "msecs": 856.9469451904297, + "msg": "Receive data (66): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 93 56 e3 b4", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10021.76284790039, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "u'client'" + ], + "asctime": "2021-01-06 22:49:06,857", + "created": 1609969746.857296, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"u'client'\"", + "module": "__init__", + "msecs": 857.2959899902344, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10022.111892700195, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__channel_name_request__" + ], + "asctime": "2021-01-06 22:49:06,857", + "created": 1609969746.857515, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 857.5150966644287, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10022.33099937439, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'client'" + ], + "asctime": "2021-01-06 22:49:06,857", + "created": 1609969746.857859, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__channel_name_request__", + "levelname": "INFO", + "levelno": 20, + "lineno": 410, + "message": "SP server: channel name is now 'client'", + "module": "__init__", + "msecs": 857.8588962554932, + "msg": "%s channel name is now %s", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10022.674798965454, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:06,858", + "created": 1609969746.858074, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 858.0739498138428, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10022.889852523804, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:06,858", + "created": 1609969746.858497, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 858.496904373169, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10023.31280708313, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:06,858", + "created": 1609969746.858836, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 858.8359355926514, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10023.651838302612, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:06,859", + "created": 1609969746.859121, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 859.1210842132568, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10023.936986923218, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:06,859", + "created": 1609969746.859325, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 859.3249320983887, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10024.14083480835, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 460.26110649108887, + "msg": "Server and Client connect callback triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10625.07700920105, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.6009361743927002 + }, + { + "args": [ + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:07,461", + "created": 1609969747.461217, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of server is correct (Content 'client' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of server", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:07,460", + "created": 1609969747.460795, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of server): 'client' ()", + "module": "test", + "msecs": 460.79492568969727, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10625.610828399658, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of server", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:07,461", + "created": 1609969747.461031, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of server): result = 'client' ()", + "module": "test", + "msecs": 461.0309600830078, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10625.846862792969, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 461.21692657470703, + "msg": "Channel name of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10626.032829284668, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00018596649169921875 + }, + { + "args": [ + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:07,461", + "created": 1609969747.461865, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of client is correct (Content 'client' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of client", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:07,461", + "created": 1609969747.461509, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of client): 'client' ()", + "module": "test", + "msecs": 461.50898933410645, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10626.324892044067, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of client", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:07,461", + "created": 1609969747.461676, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of client): result = 'client' ()", + "module": "test", + "msecs": 461.67588233947754, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10626.491785049438, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 461.8649482727051, + "msg": "Channel name of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10626.680850982666, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00018906593322753906 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:07,462", + "created": 1609969747.46232, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 301, + "message": "Setting Channel name for server only", + "module": "test_communication", + "moduleLogger": [], + "msecs": 462.32008934020996, + "msg": "Setting Channel name for server only", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10627.13599205017, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,067", + "created": 1609969748.067284, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 305, + "message": "Server and Client connect callback triggered", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:07,462", + "created": 1609969747.462588, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 462.5880718231201, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10627.403974533081, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:07,462", + "created": 1609969747.462799, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 462.799072265625, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10627.614974975586, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:07,463", + "created": 1609969747.463024, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 463.0239009857178, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10627.839803695679, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:07,463", + "created": 1609969747.463512, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", + "module": "test_helpers", + "msecs": 463.5119438171387, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10628.3278465271, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:07,463", + "created": 1609969747.463875, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", + "module": "test_helpers", + "msecs": 463.87505531311035, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10628.690958023071, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:07,464", + "created": 1609969747.464194, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 464.19405937194824, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10629.00996208191, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__channel_name_request__" + ], + "asctime": "2021-01-06 22:49:07,464", + "created": 1609969747.464407, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 464.40696716308594, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10629.222869873047, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "'server'" + ], + "asctime": "2021-01-06 22:49:07,464", + "created": 1609969747.464626, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"'server'\"", + "module": "__init__", + "msecs": 464.6260738372803, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10629.441976547241, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:07,465", + "created": 1609969747.465088, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (66): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 22 73 65 72 76 65 72 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 9c 48 3b b3", + "module": "test_helpers", + "msecs": 465.087890625, + "msg": "Send data: (66): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 22 73 65 72 76 65 72 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 9c 48 3b b3", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10629.903793334961, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:07,465", + "created": 1609969747.465443, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (66): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 22 73 65 72 76 65 72 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 9c 48 3b b3", + "module": "test_helpers", + "msecs": 465.4428958892822, + "msg": "Receive data (66): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 22 73 65 72 76 65 72 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 9c 48 3b b3", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10630.258798599243, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "u'server'" + ], + "asctime": "2021-01-06 22:49:07,465", + "created": 1609969747.465727, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"u'server'\"", + "module": "__init__", + "msecs": 465.7270908355713, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10630.542993545532, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:07,465", + "created": 1609969747.465952, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 465.95191955566406, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10630.767822265625, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'server'" + ], + "asctime": "2021-01-06 22:49:07,466", + "created": 1609969747.466284, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__channel_name_response__", + "levelname": "INFO", + "levelno": 20, + "lineno": 397, + "message": "SP client: channel name is now 'server'", + "module": "__init__", + "msecs": 466.28403663635254, + "msg": "%s channel name is now %s", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 10631.099939346313, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 67.28410720825195, + "msg": "Server and Client connect callback triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11232.100009918213, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.6010000705718994 + }, + { + "args": [ + "'server'", + "" + ], + "asctime": "2021-01-06 22:49:08,068", + "created": 1609969748.068224, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of server is correct (Content 'server' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of server", + "'server'", + "" + ], + "asctime": "2021-01-06 22:49:08,067", + "created": 1609969748.067826, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of server): 'server' ()", + "module": "test", + "msecs": 67.8260326385498, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11232.64193534851, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of server", + "'server'", + "" + ], + "asctime": "2021-01-06 22:49:08,068", + "created": 1609969748.06804, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of server): result = 'server' ()", + "module": "test", + "msecs": 68.0398941040039, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11232.855796813965, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 68.22395324707031, + "msg": "Channel name of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11233.039855957031, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00018405914306640625 + }, + { + "args": [ + "'server'", + "" + ], + "asctime": "2021-01-06 22:49:08,068", + "created": 1609969748.068837, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of client is correct (Content 'server' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of client", + "'server'", + "" + ], + "asctime": "2021-01-06 22:49:08,068", + "created": 1609969748.06851, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of client): 'server' ()", + "module": "test", + "msecs": 68.51005554199219, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11233.325958251953, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of client", + "'server'", + "" + ], + "asctime": "2021-01-06 22:49:08,068", + "created": 1609969748.068677, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of client): result = 'server' ()", + "module": "test", + "msecs": 68.67694854736328, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11233.492851257324, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 68.83692741394043, + "msg": "Channel name of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11233.652830123901, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00015997886657714844 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 3.0403239727020264, + "time_finished": "2021-01-06 22:49:08,068", + "time_start": "2021-01-06 22:49:05,028" + }, + "_Pn3WgE0NEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:01,852", + "created": 1609969741.852509, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 37, + "message": "_Pn3WgE0NEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 852.5090217590332, + "msg": "_Pn3WgE0NEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5017.324924468994, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:01,860", + "created": 1609969741.860582, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:01,853", + "created": 1609969741.85305, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 853.0499935150146, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5017.865896224976, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:01,853", + "created": 1609969741.853279, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 853.2791137695312, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5018.095016479492, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:01,853", + "created": 1609969741.853528, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 853.5280227661133, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5018.343925476074, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:01,853", + "created": 1609969741.853706, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 853.705883026123, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5018.521785736084, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:01,853", + "created": 1609969741.853957, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 853.956937789917, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5018.772840499878, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:01,854", + "created": 1609969741.854126, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 854.1259765625, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5018.941879272461, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:01,854", + "created": 1609969741.854306, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 854.3059825897217, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5019.121885299683, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:01,854", + "created": 1609969741.854492, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 854.4919490814209, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5019.307851791382, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:01,854", + "created": 1609969741.85469, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 854.6900749206543, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5019.505977630615, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:01,854", + "created": 1609969741.854879, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 854.8789024353027, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5019.694805145264, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:01,855", + "created": 1609969741.855037, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 855.0369739532471, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5019.852876663208, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:01,855", + "created": 1609969741.855229, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 855.2289009094238, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5020.044803619385, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:01,855", + "created": 1609969741.855419, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 855.4189205169678, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5020.234823226929, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:01,855", + "created": 1609969741.855595, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 855.5951118469238, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5020.411014556885, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:01,855", + "created": 1609969741.855765, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 855.7651042938232, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5020.581007003784, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:01,855", + "created": 1609969741.855948, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 855.9479713439941, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5020.763874053955, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:01,856", + "created": 1609969741.856124, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 856.1239242553711, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5020.939826965332, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:01,856", + "created": 1609969741.856293, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 856.2929630279541, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5021.108865737915, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:01,856", + "created": 1609969741.856451, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 856.4510345458984, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5021.266937255859, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:01,856", + "created": 1609969741.856611, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 856.6110134124756, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5021.4269161224365, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:01,856", + "created": 1609969741.856997, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 856.997013092041, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5021.812915802002, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:01,857", + "created": 1609969741.857185, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 857.184886932373, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5022.000789642334, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:01,857", + "created": 1609969741.85741, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 857.4099540710449, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5022.225856781006, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:01,857", + "created": 1609969741.857578, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 857.5780391693115, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5022.3939418792725, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:01,857", + "created": 1609969741.857749, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 857.7489852905273, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5022.564888000488, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:01,857", + "created": 1609969741.857943, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 857.943058013916, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5022.758960723877, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:01,858", + "created": 1609969741.858131, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 858.130931854248, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5022.946834564209, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:01,858", + "created": 1609969741.858312, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 858.3118915557861, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5023.127794265747, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:01,858", + "created": 1609969741.858502, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 858.5019111633301, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5023.317813873291, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:01,858", + "created": 1609969741.858676, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 858.6759567260742, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5023.491859436035, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:01,858", + "created": 1609969741.858833, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 858.8330745697021, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5023.648977279663, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:01,859", + "created": 1609969741.85902, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 859.0199947357178, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5023.835897445679, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:01,859", + "created": 1609969741.859206, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 859.205961227417, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5024.021863937378, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:01,859", + "created": 1609969741.85939, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 859.3900203704834, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5024.205923080444, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:01,859", + "created": 1609969741.85956, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 859.5600128173828, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5024.375915527344, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:01,859", + "created": 1609969741.859736, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 859.7359657287598, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5024.551868438721, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:01,859", + "created": 1609969741.859922, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 859.921932220459, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5024.73783493042, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:01,860", + "created": 1609969741.860082, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 860.0819110870361, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5024.897813796997, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:01,860", + "created": 1609969741.860239, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 860.2390289306641, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5025.054931640625, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:01,860", + "created": 1609969741.8604, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 860.3999614715576, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5025.215864181519, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 860.5821132659912, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5025.398015975952, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00018215179443359375 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,860", + "created": 1609969741.860903, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 150, + "message": "Setting a Server secret and no Client secret", + "module": "test_communication", + "moduleLogger": [], + "msecs": 860.9030246734619, + "msg": "Setting a Server secret and no Client secret", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5025.718927383423, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,962", + "created": 1609969741.96293, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 153, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: execute request, data_id: 36", + "status: okay", + "'msg3_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:01,861", + "created": 1609969741.861197, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: execute request, data_id: 36, status: okay, data: \"'msg3_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 861.1969947814941, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5026.012897491455, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,861", + "created": 1609969741.861727, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 33 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 36 7d 18 82 9a 08", + "module": "test_helpers", + "msecs": 861.7269992828369, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 33 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 36 7d 18 82 9a 08", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5026.542901992798, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,861", + "created": 1609969741.861937, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 33 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 36 7d 18 82 9a 08", + "module": "test_helpers", + "msecs": 861.9370460510254, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 33 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 36 7d 18 82 9a 08", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5026.752948760986, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:01,862", + "created": 1609969741.862039, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "WARNING", "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", + "lineno": 437, + "message": "SP server: RX <- Authentification is required. Just sending negative response.", "module": "__init__", - "msecs": 543.5309410095215, - "msg": "%s Received message has a peculiar status: %s", + "msecs": 862.0390892028809, + "msg": "%s RX <- Authentification is required. Just sending negative response.", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5313.133001327515, - "thread": 139911126587136, - "threadName": "Thread-18" + "relativeCreated": 5026.854991912842, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: execute response, data_id: 36", + "status: authentification required", + "None" ], - "asctime": "2020-12-26 10:11:35,543", - "created": 1608973895.543749, + "asctime": "2021-01-06 22:49:01,862", + "created": 1609969741.862118, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: execute response, data_id: 36, status: authentification required, data: \"None\"", + "module": "__init__", + "msecs": 862.1180057525635, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5026.933908462524, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,862", + "created": 1609969741.86226, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (64): 7b 22 73 74 61 74 75 73 22 3a 20 33 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 36 7d 5e 04 41 f5", + "module": "test_helpers", + "msecs": 862.260103225708, + "msg": "Send data: (64): 7b 22 73 74 61 74 75 73 22 3a 20 33 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 36 7d 5e 04 41 f5", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5027.076005935669, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,862", + "created": 1609969741.862368, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (64): 7b 22 73 74 61 74 75 73 22 3a 20 33 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 36 7d 5e 04 41 f5", + "module": "test_helpers", + "msecs": 862.368106842041, + "msg": "Receive data (64): 7b 22 73 74 61 74 75 73 22 3a 20 33 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 36 7d 5e 04 41 f5", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5027.184009552002, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: execute response, data_id: 36", + "status: authentification required", + "None" + ], + "asctime": "2021-01-06 22:49:01,862", + "created": 1609969741.86246, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: execute response, data_id: 36, status: authentification required, data: \"None\"", + "module": "__init__", + "msecs": 862.4598979949951, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5027.275800704956, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: authentification required" + ], + "asctime": "2021-01-06 22:49:01,862", + "created": 1609969741.862517, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: authentification required", + "module": "__init__", + "msecs": 862.5171184539795, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5027.33302116394, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:01,862", + "created": 1609969741.862586, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__buffer_received_data__", "levelname": "DEBUG", "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", "module": "__init__", - "msecs": 543.7490940093994, + "msecs": 862.5860214233398, "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5313.351154327393, - "thread": 139911126587136, - "threadName": "Thread-18" + "relativeCreated": 5027.401924133301, + "thread": 140012350113600, + "threadName": "MainThread" } ], - "msecs": 741.4638996124268, - "msg": "Send and received data by pure_json_protocol.", + "msecs": 962.9299640655518, + "msg": "Transfering a message client -> server", "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260862, + "pathname": "src/tests/test_communication.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5511.06595993042, - "thread": 139911147616064, + "relativeCreated": 5127.745866775513, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.19771480560302734 + "time_consumption": 0.10034394264221191 }, { "args": [ "True", "" ], - "asctime": "2020-12-26 10:11:35,742", - "created": 1608973895.742217, + "asctime": "2021-01-06 22:49:01,963", + "created": 1609969741.963507, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:35,741", - "created": 1608973895.741902, + "asctime": "2021-01-06 22:49:01,963", + "created": 1609969741.963258, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6027,26 +15835,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of send method): True ()", + "message": "Result (Returnvalue of Client send Method): True ()", "module": "test", - "msecs": 741.9021129608154, + "msecs": 963.2580280303955, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5511.504173278809, - "thread": 139911147616064, + "relativeCreated": 5128.073930740356, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:35,742", - "created": 1608973895.742071, + "asctime": "2021-01-06 22:49:01,963", + "created": 1609969741.963384, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6054,55 +15862,55 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", + "message": "Expectation (Returnvalue of Client send Method): result = True ()", "module": "test", - "msecs": 742.0709133148193, + "msecs": 963.3839130401611, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5511.6729736328125, - "thread": 139911147616064, + "relativeCreated": 5128.199815750122, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 742.2170639038086, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "msecs": 963.5069370269775, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5511.819124221802, - "thread": 139911147616064, + "relativeCreated": 5128.3228397369385, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.0001461505889892578 + "time_consumption": 0.00012302398681640625 }, { "args": [ - "0", - "" + "{u'status': 3, u'service_id': 31, u'data': None, u'data_id': 36}", + "" ], - "asctime": "2020-12-26 10:11:35,742", - "created": 1608973895.742694, + "asctime": "2021-01-06 22:49:01,963", + "created": 1609969741.963921, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via pure_json_protocol is correct (Content 0 and Type is ).", + "lineno": 144, + "message": "Received message on server side is correct (Content {u'status': 3, u'service_id': 31, u'data': None, u'data_id': 36} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" + "Received message on server side", + "{u'status': 3, u'service_id': 31, u'data': None, u'data_id': 36}", + "" ], - "asctime": "2020-12-26 10:11:35,742", - "created": 1608973895.742439, + "asctime": "2021-01-06 22:49:01,963", + "created": 1609969741.963685, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6110,26 +15918,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Request Status (Okay) transfered via pure_json_protocol): 0 ()", + "message": "Result (Received message on server side): {u'status': 3, u'service_id': 31, u'data': None, u'data_id': 36} ()", "module": "test", - "msecs": 742.4390316009521, + "msecs": 963.6850357055664, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5512.041091918945, - "thread": 139911147616064, + "relativeCreated": 5128.500938415527, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" + "Received message on server side", + "{'status': 3, 'service_id': 31, 'data': None, 'data_id': 36}", + "" ], - "asctime": "2020-12-26 10:11:35,742", - "created": 1608973895.742569, + "asctime": "2021-01-06 22:49:01,963", + "created": 1609969741.96381, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6137,55 +15945,233 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via pure_json_protocol): result = 0 ()", + "message": "Expectation (Received message on server side): result = {'status': 3, 'service_id': 31, 'data': None, 'data_id': 36} ()", "module": "test", - "msecs": 742.5689697265625, + "msecs": 963.8099670410156, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5512.171030044556, - "thread": 139911147616064, + "relativeCreated": 5128.625869750977, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 742.6939010620117, - "msg": "Request Status (Okay) transfered via pure_json_protocol is correct (Content %s and Type is %s).", + "msecs": 963.921070098877, + "msg": "Received message on server side is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5512.295961380005, - "thread": 139911147616064, + "relativeCreated": 5128.736972808838, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00012493133544921875 + "time_consumption": 0.00011110305786132812 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,964", + "created": 1609969741.964076, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Setting no Server secret but a Client secret", + "module": "test_communication", + "moduleLogger": [], + "msecs": 964.076042175293, + "msg": "Setting no Server secret but a Client secret", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5128.891944885254, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:02,266", + "created": 1609969742.266376, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 162, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:01,964", + "created": 1609969741.964268, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 964.2679691314697, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5129.083871841431, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,964", + "created": 1609969741.964611, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "module": "test_helpers", + "msecs": 964.6110534667969, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5129.426956176758, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,964", + "created": 1609969741.964878, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "module": "test_helpers", + "msecs": 964.8780822753906, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5129.693984985352, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:01,965", + "created": 1609969741.965063, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 441, + "message": "SP client: RX <- Authentification is required. Message will be ignored.", + "module": "__init__", + "msecs": 965.0630950927734, + "msg": "%s RX <- Authentification is required. Message will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5129.878997802734, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "0.25", + "17", + "35" + ], + "asctime": "2021-01-06 22:49:02,266", + "created": 1609969742.266071, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP client: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", + "module": "__init__", + "msecs": 266.071081161499, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5430.88698387146, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 266.3760185241699, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5431.191921234131, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00030493736267089844 }, { "args": [ - "{u'test': u'test'}", - "" + "True", + "" ], - "asctime": "2020-12-26 10:11:35,743", - "created": 1608973895.743217, + "asctime": "2021-01-06 22:49:02,266", + "created": 1609969742.266932, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via pure_json_protocol is correct (Content {u'test': u'test'} and Type is ).", + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Request Data transfered via pure_json_protocol", - "{ u'test': u'test' }", - "" + "Returnvalue of Server send Method", + "True", + "" ], - "asctime": "2020-12-26 10:11:35,742", - "created": 1608973895.742923, + "asctime": "2021-01-06 22:49:02,266", + "created": 1609969742.266664, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6193,26 +16179,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Request Data transfered via pure_json_protocol): { u'test': u'test' } ()", + "message": "Result (Returnvalue of Server send Method): True ()", "module": "test", - "msecs": 742.9230213165283, + "msecs": 266.6640281677246, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5512.5250816345215, - "thread": 139911147616064, + "relativeCreated": 5431.479930877686, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Request Data transfered via pure_json_protocol", - "{ u'test': u'test' }", - "" + "Returnvalue of Server send Method", + "True", + "" ], - "asctime": "2020-12-26 10:11:35,743", - "created": 1608973895.743057, + "asctime": "2021-01-06 22:49:02,266", + "created": 1609969742.266822, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6220,55 +16206,55 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Request Data transfered via pure_json_protocol): result = { u'test': u'test' } ()", + "message": "Expectation (Returnvalue of Server send Method): result = True ()", "module": "test", - "msecs": 743.0570125579834, + "msecs": 266.82209968566895, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5512.659072875977, - "thread": 139911147616064, + "relativeCreated": 5431.63800239563, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 743.2169914245605, - "msg": "Request Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", + "msecs": 266.93201065063477, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5512.819051742554, - "thread": 139911147616064, + "relativeCreated": 5431.747913360596, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00015997886657714844 + "time_consumption": 0.00010991096496582031 }, { "args": [ - "5", - "" + "None", + "" ], - "asctime": "2020-12-26 10:11:35,743", - "created": 1608973895.743819, + "asctime": "2021-01-06 22:49:02,267", + "created": 1609969742.267339, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content 5 and Type is ).", + "lineno": 144, + "message": "Received message on client side is correct (Content None and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" + "Received message on client side", + "None", + "" ], - "asctime": "2020-12-26 10:11:35,743", - "created": 1608973895.743505, + "asctime": "2021-01-06 22:49:02,267", + "created": 1609969742.267136, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6276,26 +16262,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via pure_json_protocol): 5 ()", + "message": "Result (Received message on client side): None ()", "module": "test", - "msecs": 743.5050010681152, + "msecs": 267.1360969543457, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5513.107061386108, - "thread": 139911147616064, + "relativeCreated": 5431.951999664307, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" + "Received message on client side", + "None", + "" ], - "asctime": "2020-12-26 10:11:35,743", - "created": 1608973895.743665, + "asctime": "2021-01-06 22:49:02,267", + "created": 1609969742.267236, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6303,55 +16289,162 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via pure_json_protocol): result = 5 ()", + "message": "Expectation (Received message on client side): result = None ()", "module": "test", - "msecs": 743.6649799346924, + "msecs": 267.23599433898926, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5513.267040252686, - "thread": 139911147616064, + "relativeCreated": 5432.05189704895, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 743.818998336792, - "msg": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content %s and Type is %s).", + "msecs": 267.33899116516113, + "msg": "Received message on client side is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5513.421058654785, - "thread": 139911147616064, + "relativeCreated": 5432.154893875122, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00015401840209960938 + "time_consumption": 0.000102996826171875 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:02,267", + "created": 1609969742.267498, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 168, + "message": "Identical secrets set", + "module": "test_communication", + "moduleLogger": [], + "msecs": 267.4980163574219, + "msg": "Identical secrets set", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5432.313919067383, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:02,569", + "created": 1609969742.569243, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 171, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:02,267", + "created": 1609969742.2678, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "WARNING", + "levelno": 30, + "lineno": 724, + "message": "SP client: TX -> Authentification is required. Message service: 17, data_id: 34, status: okay, data: 'msg1_data_to_be_transfered' will be ignored.", + "module": "__init__", + "msecs": 267.80009269714355, + "msg": "%s TX -> Authentification is required. Message %s, %s, data: %s will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5432.6159954071045, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "34" + ], + "asctime": "2021-01-06 22:49:02,568", + "created": 1609969742.568916, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 34) not in buffer.", + "module": "__init__", + "msecs": 568.9160823822021, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5733.731985092163, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 569.2429542541504, + "msg": "Transfering a message client -> server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5734.058856964111, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0003268718719482422 }, { "args": [ - "[1, 3, u's']", - "" + "False", + "" ], - "asctime": "2020-12-26 10:11:35,744", - "created": 1608973895.744344, + "asctime": "2021-01-06 22:49:02,569", + "created": 1609969742.569993, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via pure_json_protocol is correct (Content [1, 3, u's'] and Type is ).", + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content False and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, u's' ]", - "" + "Returnvalue of Client send Method", + "False", + "" ], - "asctime": "2020-12-26 10:11:35,744", - "created": 1608973895.744042, + "asctime": "2021-01-06 22:49:02,569", + "created": 1609969742.569595, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6359,26 +16452,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Response Data transfered via pure_json_protocol): [ 1, 3, u's' ] ()", + "message": "Result (Returnvalue of Client send Method): False ()", "module": "test", - "msecs": 744.041919708252, + "msecs": 569.5950984954834, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5513.643980026245, - "thread": 139911147616064, + "relativeCreated": 5734.411001205444, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, u's' ]", - "" + "Returnvalue of Client send Method", + "False", + "" ], - "asctime": "2020-12-26 10:11:35,744", - "created": 1608973895.744176, + "asctime": "2021-01-06 22:49:02,569", + "created": 1609969742.569786, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6386,83 +16479,220 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Response Data transfered via pure_json_protocol): result = [ 1, 3, u's' ] ()", + "message": "Expectation (Returnvalue of Client send Method): result = False ()", "module": "test", - "msecs": 744.175910949707, + "msecs": 569.7860717773438, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5513.7779712677, - "thread": 139911147616064, + "relativeCreated": 5734.601974487305, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 744.3439960479736, - "msg": "Response Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", + "msecs": 569.9930191040039, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5513.946056365967, - "thread": 139911147616064, + "relativeCreated": 5734.808921813965, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00020694732666015625 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:02,570", + "created": 1609969742.570591, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:02,570", + "created": 1609969742.57026, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): None ()", + "module": "test", + "msecs": 570.2600479125977, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5735.075950622559, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:02,570", + "created": 1609969742.570423, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = None ()", + "module": "test", + "msecs": 570.422887802124, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5735.238790512085, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 570.5909729003906, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5735.406875610352, + "thread": 140012350113600, "threadName": "MainThread", "time_consumption": 0.00016808509826660156 }, { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:35,846", - "created": 1608973895.846678, + "args": [], + "asctime": "2021-01-06 22:49:02,872", + "created": 1609969742.872521, "exc_info": null, "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 177, + "message": "Transfering a message server -> client", + "module": "test_communication", "moduleLogger": [ { "args": [ - " SP server:", - "0.1", - "11", - "45054" + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:35,845", - "created": 1608973895.845029, + "asctime": "2021-01-06 22:49:02,570", + "created": 1609969742.570909, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "WARNING", + "levelno": 30, + "lineno": 724, + "message": "SP server: TX -> Authentification is required. Message service: 17, data_id: 35, status: service or data unknown, data: 'msg2_data_to_be_transfered' will be ignored.", + "module": "__init__", + "msecs": 570.9090232849121, + "msg": "%s TX -> Authentification is required. Message %s, %s, data: %s will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 5735.724925994873, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "0.25", + "17", + "35" + ], + "asctime": "2021-01-06 22:49:02,872", + "created": 1609969742.872083, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "receive", "levelname": "WARNING", "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", + "lineno": 651, + "message": "SP client: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", "module": "__init__", - "msecs": 845.0291156768799, + "msecs": 872.0829486846924, "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5614.631175994873, - "thread": 139911147616064, + "relativeCreated": 6036.898851394653, + "thread": 140012350113600, "threadName": "MainThread" - }, + } + ], + "msecs": 872.520923614502, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 6037.336826324463, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0004379749298095703 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:02,873", + "created": 1609969742.873459, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ { "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "Returnvalue of Server send Method", + "False", + "" ], - "asctime": "2020-12-26 10:11:35,845", - "created": 1608973895.845822, + "asctime": "2021-01-06 22:49:02,872", + "created": 1609969742.872987, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6470,26 +16700,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", + "message": "Result (Returnvalue of Server send Method): False ()", "module": "test", - "msecs": 845.8220958709717, + "msecs": 872.9870319366455, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5615.424156188965, - "thread": 139911147616064, + "relativeCreated": 6037.802934646606, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "Returnvalue of Server send Method", + "False", + "" ], - "asctime": "2020-12-26 10:11:35,846", - "created": 1608973895.846289, + "asctime": "2021-01-06 22:49:02,873", + "created": 1609969742.873236, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6497,83 +16727,55 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", + "message": "Expectation (Returnvalue of Server send Method): result = False ()", "module": "test", - "msecs": 846.2889194488525, + "msecs": 873.2359409332275, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5615.890979766846, - "thread": 139911147616064, + "relativeCreated": 6038.0518436431885, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 846.6780185699463, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", + "msecs": 873.4591007232666, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5616.280078887939, - "thread": 139911147616064, + "relativeCreated": 6038.2750034332275, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00038909912109375 + "time_consumption": 0.0002231597900390625 }, { "args": [ "None", "" ], - "asctime": "2020-12-26 10:11:35,949", - "created": 1608973895.949056, + "asctime": "2021-01-06 22:49:02,874", + "created": 1609969742.874284, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", + "lineno": 144, + "message": "Received message on client side is correct (Content None and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:35,947", - "created": 1608973895.947902, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 947.9019641876221, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 5717.504024505615, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", + "Received message on client side", "None", "" ], - "asctime": "2020-12-26 10:11:35,948", - "created": 1608973895.948503, + "asctime": "2021-01-06 22:49:02,873", + "created": 1609969742.873855, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6581,26 +16783,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", + "message": "Result (Received message on client side): None ()", "module": "test", - "msecs": 948.5030174255371, + "msecs": 873.8551139831543, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5718.10507774353, - "thread": 139911147616064, + "relativeCreated": 6038.671016693115, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", + "Received message on client side", "None", "" ], - "asctime": "2020-12-26 10:11:35,948", - "created": 1608973895.948811, + "asctime": "2021-01-06 22:49:02,874", + "created": 1609969742.874088, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -6608,2300 +16810,771 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", + "message": "Expectation (Received message on client side): result = None ()", "module": "test", - "msecs": 948.8110542297363, + "msecs": 874.0880489349365, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5718.4131145477295, - "thread": 139911147616064, + "relativeCreated": 6038.9039516448975, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 949.0559101104736, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", + "msecs": 874.284029006958, + "msg": "Received message on client side is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5718.657970428467, - "thread": 139911147616064, + "relativeCreated": 6039.099931716919, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.0002448558807373047 - } - ], - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.7110660076141357, - "time_finished": "2020-12-26 10:11:35,949", - "time_start": "2020-12-26 10:11:35,237" - }, - "socket_protocol.pure_json_protocol: Send and receive check including authentification.": { - "args": null, - "asctime": "2020-12-26 10:11:31,682", - "created": 1608973891.682874, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 28, - "message": "socket_protocol.pure_json_protocol: Send and receive check including authentification.", - "module": "__init__", - "moduleLogger": [], - "msecs": 682.8739643096924, - "msg": "socket_protocol.pure_json_protocol: Send and receive check including authentification.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1452.4760246276855, - "testcaseLogger": [ + "time_consumption": 0.00019598007202148438 + }, { "args": [], - "asctime": "2020-12-26 10:11:32,891", - "created": 1608973892.89154, + "asctime": "2021-01-06 22:49:02,980", + "created": 1609969742.980092, "exc_info": null, "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "send_n_receive", + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", "levelname": "DEBUG", "levelno": 10, - "lineno": 42, - "message": "Send and received data by pure_json_protocol.", - "module": "test_normal_operation", + "lineno": 182, + "message": "Performing Authentification", + "module": "test_communication", "moduleLogger": [ { "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:31,683", - "created": 1608973891.683382, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 683.3820343017578, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1452.984094619751, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:31,683", - "created": 1608973891.683853, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 683.8529109954834, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1453.4549713134766, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:31,684", - "created": 1608973891.684236, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 684.2360496520996, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1453.8381099700928, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:31,684", - "created": 1608973891.684666, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 684.6659183502197, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1454.267978668213, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:31,684", - "created": 1608973891.684963, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "authentificate", - "levelname": "INFO", - "levelno": 20, - "lineno": 456, - "message": " SP server: Requesting seed for authentification", - "module": "__init__", - "msecs": 684.9629878997803, - "msg": "%s Requesting seed for authentification", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1454.5650482177734, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 1, - 0, + "SP client:", + "service: authentification request, data_id: seed", + "status: okay", "None" ], - "asctime": "2020-12-26 10:11:31,685", - "created": 1608973891.685152, + "asctime": "2021-01-06 22:49:02,874", + "created": 1609969742.874697, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 1, data_id: 0, data: \"None\"", + "lineno": 719, + "message": "SP client: TX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", "module": "__init__", - "msecs": 685.1520538330078, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 874.6969699859619, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1454.754114151001, - "thread": 139911147616064, + "relativeCreated": 6039.512872695923, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:31,685", - "created": 1608973891.685604, + "asctime": "2021-01-06 22:49:02,875", + "created": 1609969742.875316, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 2c 2d 2e 5d", + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", "module": "test_helpers", - "msecs": 685.6040954589844, - "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 2c 2d 2e 5d", + "msecs": 875.3159046173096, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1455.2061557769775, - "thread": 139911147616064, + "relativeCreated": 6040.1318073272705, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:31,837", - "created": 1608973891.837015, + "asctime": "2021-01-06 22:49:02,875", + "created": 1609969742.875761, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 2c 2d 2e 5d", + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", "module": "test_helpers", - "msecs": 837.01491355896, - "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 2c 2d 2e 5d", + "msecs": 875.7610321044922, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1606.6169738769531, - "thread": 139911126587136, - "threadName": "Thread-5" + "relativeCreated": 6040.576934814453, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "1", - "0", + "SP server:", + "service: authentification request, data_id: seed", + "status: okay", "None" ], - "asctime": "2020-12-26 10:11:31,837", - "created": 1608973891.837482, + "asctime": "2021-01-06 22:49:02,876", + "created": 1609969742.876295, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 1, data_id: 0, data: \"None\"", + "lineno": 450, + "message": "SP server: RX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", "module": "__init__", - "msecs": 837.4819755554199, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 876.2950897216797, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1607.084035873413, - "thread": 139911126587136, - "threadName": "Thread-5" + "relativeCreated": 6041.110992431641, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", + "SP server:", "__authentificate_create_seed__" ], - "asctime": "2020-12-26 10:11:31,837", - "created": 1608973891.837737, + "asctime": "2021-01-06 22:49:02,876", + "created": 1609969742.876583, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback __authentificate_create_seed__ to process received data", + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_create_seed__ to process received data", "module": "__init__", - "msecs": 837.7370834350586, - "msg": "%s Executing callback %s to process received data", + "msecs": 876.5830993652344, + "msg": "%s RX <- Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1607.3391437530518, - "thread": 139911126587136, - "threadName": "Thread-5" + "relativeCreated": 6041.399002075195, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: authentification response, data_id: seed", + "status: okay", + "'17eacd65a271a55f498a6e5b9805dcb79ff62f0f38038b34323b28daf74acc23'" ], - "asctime": "2020-12-26 10:11:31,837", - "created": 1608973891.837919, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentificate_create_seed__", - "levelname": "INFO", - "levelno": 20, - "lineno": 482, - "message": " SP server: Got seed request, sending seed for authentification", - "module": "__init__", - "msecs": 837.9189968109131, - "msg": "%s Got seed request, sending seed for authentification", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1607.5210571289062, - "thread": 139911126587136, - "threadName": "Thread-5" - }, - { - "args": [ - " SP server:", - 0, - 2, - 0, - "'3ac139c3e934e4a40e8c5c63c33d02d88d1501c55759efec96b558c20e16d073'" - ], - "asctime": "2020-12-26 10:11:31,838", - "created": 1608973891.838549, + "asctime": "2021-01-06 22:49:02,876", + "created": 1609969742.876898, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 2, data_id: 0, data: \"'3ac139c3e934e4a40e8c5c63c33d02d88d1501c55759efec96b558c20e16d073'\"", + "lineno": 719, + "message": "SP server: TX <- service: authentification response, data_id: seed, status: okay, data: \"'17eacd65a271a55f498a6e5b9805dcb79ff62f0f38038b34323b28daf74acc23'\"", "module": "__init__", - "msecs": 838.5488986968994, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 876.8980503082275, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1608.1509590148926, - "thread": 139911126587136, - "threadName": "Thread-5" + "relativeCreated": 6041.7139530181885, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:31,839", - "created": 1608973891.839176, + "asctime": "2021-01-06 22:49:02,877", + "created": 1609969742.877619, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 22 33 61 63 31 33 39 63 33 65 39 33 34 65 34 61 34 30 65 38 63 35 63 36 33 63 33 33 64 30 32 64 38 38 64 31 35 30 31 63 35 35 37 35 39 65 66 65 63 39 36 62 35 35 38 63 32 30 65 31 36 64 30 37 33 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c8 c7 76 19", + "lineno": 73, + "message": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 31 37 65 61 63 64 36 35 61 32 37 31 61 35 35 66 34 39 38 61 36 65 35 62 39 38 30 35 64 63 62 37 39 66 66 36 32 66 30 66 33 38 30 33 38 62 33 34 33 32 33 62 32 38 64 61 66 37 34 61 63 63 32 33 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d fa 0a 5a 6e", "module": "test_helpers", - "msecs": 839.1759395599365, - "msg": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 22 33 61 63 31 33 39 63 33 65 39 33 34 65 34 61 34 30 65 38 63 35 63 36 33 63 33 33 64 30 32 64 38 38 64 31 35 30 31 63 35 35 37 35 39 65 66 65 63 39 36 62 35 35 38 63 32 30 65 31 36 64 30 37 33 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c8 c7 76 19", + "msecs": 877.6190280914307, + "msg": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 31 37 65 61 63 64 36 35 61 32 37 31 61 35 35 66 34 39 38 61 36 65 35 62 39 38 30 35 64 63 62 37 39 66 66 36 32 66 30 66 33 38 30 33 38 62 33 34 33 32 33 62 32 38 64 61 66 37 34 61 63 63 32 33 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d fa 0a 5a 6e", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1608.7779998779297, - "thread": 139911126587136, - "threadName": "Thread-5" + "relativeCreated": 6042.434930801392, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:31,990", - "created": 1608973891.990525, + "asctime": "2021-01-06 22:49:02,878", + "created": 1609969742.878015, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 22 33 61 63 31 33 39 63 33 65 39 33 34 65 34 61 34 30 65 38 63 35 63 36 33 63 33 33 64 30 32 64 38 38 64 31 35 30 31 63 35 35 37 35 39 65 66 65 63 39 36 62 35 35 38 63 32 30 65 31 36 64 30 37 33 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c8 c7 76 19", + "lineno": 84, + "message": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 31 37 65 61 63 64 36 35 61 32 37 31 61 35 35 66 34 39 38 61 36 65 35 62 39 38 30 35 64 63 62 37 39 66 66 36 32 66 30 66 33 38 30 33 38 62 33 34 33 32 33 62 32 38 64 61 66 37 34 61 63 63 32 33 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d fa 0a 5a 6e", "module": "test_helpers", - "msecs": 990.5250072479248, - "msg": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 22 33 61 63 31 33 39 63 33 65 39 33 34 65 34 61 34 30 65 38 63 35 63 36 33 63 33 33 64 30 32 64 38 38 64 31 35 30 31 63 35 35 37 35 39 65 66 65 63 39 36 62 35 35 38 63 32 30 65 31 36 64 30 37 33 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c8 c7 76 19", + "msecs": 878.0150413513184, + "msg": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 31 37 65 61 63 64 36 35 61 32 37 31 61 35 35 66 34 39 38 61 36 65 35 62 39 38 30 35 64 63 62 37 39 66 66 36 32 66 30 66 33 38 30 33 38 62 33 34 33 32 33 62 32 38 64 61 66 37 34 61 63 63 32 33 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d fa 0a 5a 6e", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1760.127067565918, - "thread": 139911118194432, - "threadName": "Thread-6" + "relativeCreated": 6042.830944061279, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "2", - "0", - "u'3ac139c3e934e4a40e8c5c63c33d02d88d1501c55759efec96b558c20e16d073'" + "SP client:", + "service: authentification response, data_id: seed", + "status: okay", + "u'17eacd65a271a55f498a6e5b9805dcb79ff62f0f38038b34323b28daf74acc23'" ], - "asctime": "2020-12-26 10:11:31,990", - "created": 1608973891.990965, + "asctime": "2021-01-06 22:49:02,878", + "created": 1609969742.878309, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 2, data_id: 0, data: \"u'3ac139c3e934e4a40e8c5c63c33d02d88d1501c55759efec96b558c20e16d073'\"", + "lineno": 450, + "message": "SP client: RX <- service: authentification response, data_id: seed, status: okay, data: \"u'17eacd65a271a55f498a6e5b9805dcb79ff62f0f38038b34323b28daf74acc23'\"", "module": "__init__", - "msecs": 990.9648895263672, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 878.3090114593506, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1760.5669498443604, - "thread": 139911118194432, - "threadName": "Thread-6" + "relativeCreated": 6043.1249141693115, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", + "SP client:", "__authentificate_create_key__" ], - "asctime": "2020-12-26 10:11:31,991", - "created": 1608973891.991242, + "asctime": "2021-01-06 22:49:02,878", + "created": 1609969742.878427, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback __authentificate_create_key__ to process received data", + "lineno": 478, + "message": "SP client: Executing callback __authentificate_create_key__ to process received data", "module": "__init__", - "msecs": 991.2419319152832, + "msecs": 878.4270286560059, "msg": "%s Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1760.8439922332764, - "thread": 139911118194432, - "threadName": "Thread-6" + "relativeCreated": 6043.242931365967, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP client:", + "service: authentification request, data_id: key", + "status: okay", + "'9892b2515138924258bb896c0f5d83e5bf5360bda4e875dbcd82fbceb72d5732bd97fc1b936c38aeb9d3aa7e10506a3f0ad1004f34b345bde35203fe165ef4ff'" ], - "asctime": "2020-12-26 10:11:31,991", - "created": 1608973891.991437, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentificate_create_key__", - "levelname": "INFO", - "levelno": 20, - "lineno": 491, - "message": " SP server: Got seed, sending key for authentification", - "module": "__init__", - "msecs": 991.4369583129883, - "msg": "%s Got seed, sending key for authentification", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1761.0390186309814, - "thread": 139911118194432, - "threadName": "Thread-6" - }, - { - "args": [ - " SP server:", - 0, - 3, - 0, - "'813c10a4956148bf9a50200f971dba676e7152370d799df78716059aa018129fc61ecc4dc7b4fa57b360151a117553313003030b41b5ca929614f6e45a3b661b'" - ], - "asctime": "2020-12-26 10:11:31,991", - "created": 1608973891.991712, + "asctime": "2021-01-06 22:49:02,878", + "created": 1609969742.878523, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 3, data_id: 0, data: \"'813c10a4956148bf9a50200f971dba676e7152370d799df78716059aa018129fc61ecc4dc7b4fa57b360151a117553313003030b41b5ca929614f6e45a3b661b'\"", + "lineno": 719, + "message": "SP client: TX <- service: authentification request, data_id: key, status: okay, data: \"'9892b2515138924258bb896c0f5d83e5bf5360bda4e875dbcd82fbceb72d5732bd97fc1b936c38aeb9d3aa7e10506a3f0ad1004f34b345bde35203fe165ef4ff'\"", "module": "__init__", - "msecs": 991.7120933532715, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 878.5231113433838, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1761.3141536712646, - "thread": 139911118194432, - "threadName": "Thread-6" + "relativeCreated": 6043.339014053345, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:31,992", - "created": 1608973891.99251, + "asctime": "2021-01-06 22:49:02,878", + "created": 1609969742.878783, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 64 61 74 61 22 3a 20 22 38 31 33 63 31 30 61 34 39 35 36 31 34 38 62 66 39 61 35 30 32 30 30 66 39 37 31 64 62 61 36 37 36 65 37 31 35 32 33 37 30 64 37 39 39 64 66 37 38 37 31 36 30 35 39 61 61 30 31 38 31 32 39 66 63 36 31 65 63 63 34 64 63 37 62 34 66 61 35 37 62 33 36 30 31 35 31 61 31 31 37 35 35 33 33 31 33 30 30 33 30 33 30 62 34 31 62 35 63 61 39 32 39 36 31 34 66 36 65 34 35 61 33 62 36 36 31 62 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c6 bc d0 67", + "lineno": 73, + "message": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 39 38 39 32 62 32 35 31 35 31 33 38 39 32 34 32 35 38 62 62 38 39 36 63 30 66 35 64 38 33 65 35 62 66 35 33 36 30 62 64 61 34 65 38 37 35 64 62 63 64 38 32 66 62 63 65 62 37 32 64 35 37 33 32 62 64 39 37 66 63 31 62 39 33 36 63 33 38 61 65 62 39 64 33 61 61 37 65 31 30 35 30 36 61 33 66 30 61 64 31 30 30 34 66 33 34 62 33 34 35 62 64 65 33 35 32 30 33 66 65 31 36 35 65 66 34 66 66 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 2e 06 7a 1c", "module": "test_helpers", - "msecs": 992.5100803375244, - "msg": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 64 61 74 61 22 3a 20 22 38 31 33 63 31 30 61 34 39 35 36 31 34 38 62 66 39 61 35 30 32 30 30 66 39 37 31 64 62 61 36 37 36 65 37 31 35 32 33 37 30 64 37 39 39 64 66 37 38 37 31 36 30 35 39 61 61 30 31 38 31 32 39 66 63 36 31 65 63 63 34 64 63 37 62 34 66 61 35 37 62 33 36 30 31 35 31 61 31 31 37 35 35 33 33 31 33 30 30 33 30 33 30 62 34 31 62 35 63 61 39 32 39 36 31 34 66 36 65 34 35 61 33 62 36 36 31 62 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c6 bc d0 67", + "msecs": 878.7829875946045, + "msg": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 39 38 39 32 62 32 35 31 35 31 33 38 39 32 34 32 35 38 62 62 38 39 36 63 30 66 35 64 38 33 65 35 62 66 35 33 36 30 62 64 61 34 65 38 37 35 64 62 63 64 38 32 66 62 63 65 62 37 32 64 35 37 33 32 62 64 39 37 66 63 31 62 39 33 36 63 33 38 61 65 62 39 64 33 61 61 37 65 31 30 35 30 36 61 33 66 30 61 64 31 30 30 34 66 33 34 62 33 34 35 62 64 65 33 35 32 30 33 66 65 31 36 35 65 66 34 66 66 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 2e 06 7a 1c", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1762.1121406555176, - "thread": 139911118194432, - "threadName": "Thread-6" + "relativeCreated": 6043.598890304565, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:32,144", - "created": 1608973892.144114, + "asctime": "2021-01-06 22:49:02,879", + "created": 1609969742.879009, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 64 61 74 61 22 3a 20 22 38 31 33 63 31 30 61 34 39 35 36 31 34 38 62 66 39 61 35 30 32 30 30 66 39 37 31 64 62 61 36 37 36 65 37 31 35 32 33 37 30 64 37 39 39 64 66 37 38 37 31 36 30 35 39 61 61 30 31 38 31 32 39 66 63 36 31 65 63 63 34 64 63 37 62 34 66 61 35 37 62 33 36 30 31 35 31 61 31 31 37 35 35 33 33 31 33 30 30 33 30 33 30 62 34 31 62 35 63 61 39 32 39 36 31 34 66 36 65 34 35 61 33 62 36 36 31 62 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c6 bc d0 67", + "lineno": 84, + "message": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 39 38 39 32 62 32 35 31 35 31 33 38 39 32 34 32 35 38 62 62 38 39 36 63 30 66 35 64 38 33 65 35 62 66 35 33 36 30 62 64 61 34 65 38 37 35 64 62 63 64 38 32 66 62 63 65 62 37 32 64 35 37 33 32 62 64 39 37 66 63 31 62 39 33 36 63 33 38 61 65 62 39 64 33 61 61 37 65 31 30 35 30 36 61 33 66 30 61 64 31 30 30 34 66 33 34 62 33 34 35 62 64 65 33 35 32 30 33 66 65 31 36 35 65 66 34 66 66 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 2e 06 7a 1c", "module": "test_helpers", - "msecs": 144.11401748657227, - "msg": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 64 61 74 61 22 3a 20 22 38 31 33 63 31 30 61 34 39 35 36 31 34 38 62 66 39 61 35 30 32 30 30 66 39 37 31 64 62 61 36 37 36 65 37 31 35 32 33 37 30 64 37 39 39 64 66 37 38 37 31 36 30 35 39 61 61 30 31 38 31 32 39 66 63 36 31 65 63 63 34 64 63 37 62 34 66 61 35 37 62 33 36 30 31 35 31 61 31 31 37 35 35 33 33 31 33 30 30 33 30 33 30 62 34 31 62 35 63 61 39 32 39 36 31 34 66 36 65 34 35 61 33 62 36 36 31 62 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c6 bc d0 67", + "msecs": 879.0090084075928, + "msg": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 39 38 39 32 62 32 35 31 35 31 33 38 39 32 34 32 35 38 62 62 38 39 36 63 30 66 35 64 38 33 65 35 62 66 35 33 36 30 62 64 61 34 65 38 37 35 64 62 63 64 38 32 66 62 63 65 62 37 32 64 35 37 33 32 62 64 39 37 66 63 31 62 39 33 36 63 33 38 61 65 62 39 64 33 61 61 37 65 31 30 35 30 36 61 33 66 30 61 64 31 30 30 34 66 33 34 62 33 34 35 62 64 65 33 35 32 30 33 66 65 31 36 35 65 66 34 66 66 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 2e 06 7a 1c", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1913.7160778045654, - "thread": 139911126587136, - "threadName": "Thread-7" + "relativeCreated": 6043.824911117554, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "3", - "0", - "u'813c10a4956148bf9a50200f971dba676e7152370d799df78716059aa018129fc61ecc4dc7b4fa57b360151a117553313003030b41b5ca929614f6e45a3b661b'" + "SP server:", + "service: authentification request, data_id: key", + "status: okay", + "u'9892b2515138924258bb896c0f5d83e5bf5360bda4e875dbcd82fbceb72d5732bd97fc1b936c38aeb9d3aa7e10506a3f0ad1004f34b345bde35203fe165ef4ff'" ], - "asctime": "2020-12-26 10:11:32,144", - "created": 1608973892.144571, + "asctime": "2021-01-06 22:49:02,879", + "created": 1609969742.879134, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 3, data_id: 0, data: \"u'813c10a4956148bf9a50200f971dba676e7152370d799df78716059aa018129fc61ecc4dc7b4fa57b360151a117553313003030b41b5ca929614f6e45a3b661b'\"", + "lineno": 450, + "message": "SP server: RX <- service: authentification request, data_id: key, status: okay, data: \"u'9892b2515138924258bb896c0f5d83e5bf5360bda4e875dbcd82fbceb72d5732bd97fc1b936c38aeb9d3aa7e10506a3f0ad1004f34b345bde35203fe165ef4ff'\"", "module": "__init__", - "msecs": 144.57106590270996, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 879.133939743042, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1914.1731262207031, - "thread": 139911126587136, - "threadName": "Thread-7" + "relativeCreated": 6043.949842453003, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", + "SP server:", "__authentificate_check_key__" ], - "asctime": "2020-12-26 10:11:32,144", - "created": 1608973892.144861, + "asctime": "2021-01-06 22:49:02,879", + "created": 1609969742.879194, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback __authentificate_check_key__ to process received data", + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_check_key__ to process received data", "module": "__init__", - "msecs": 144.86098289489746, - "msg": "%s Executing callback %s to process received data", + "msecs": 879.1940212249756, + "msg": "%s RX <- Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1914.4630432128906, - "thread": 139911126587136, - "threadName": "Thread-7" + "relativeCreated": 6044.0099239349365, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:32,145", - "created": 1608973892.145103, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentificate_check_key__", - "levelname": "INFO", - "levelno": 20, - "lineno": 501, - "message": " SP server: Got correct key, sending positive authentification feedback", - "module": "__init__", - "msecs": 145.10297775268555, - "msg": "%s Got correct key, sending positive authentification feedback", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1914.7050380706787, - "thread": 139911126587136, - "threadName": "Thread-7" - }, - { - "args": [ - " SP server:", - 0, - 4, - 0, + "SP server:", + "service: authentification response, data_id: key", + "status: okay", "True" ], - "asctime": "2020-12-26 10:11:32,145", - "created": 1608973892.145338, + "asctime": "2021-01-06 22:49:02,879", + "created": 1609969742.879271, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 4, data_id: 0, data: \"True\"", + "lineno": 719, + "message": "SP server: TX <- service: authentification response, data_id: key, status: okay, data: \"True\"", "module": "__init__", - "msecs": 145.3380584716797, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 879.2710304260254, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1914.9401187896729, - "thread": 139911126587136, - "threadName": "Thread-7" + "relativeCreated": 6044.086933135986, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:32,145", - "created": 1608973892.145779, + "asctime": "2021-01-06 22:49:02,879", + "created": 1609969742.879392, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c5 2b 78 11", + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", "module": "test_helpers", - "msecs": 145.77889442443848, - "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c5 2b 78 11", + "msecs": 879.3919086456299, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1915.3809547424316, - "thread": 139911126587136, - "threadName": "Thread-7" + "relativeCreated": 6044.207811355591, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:32,297", - "created": 1608973892.2972, + "asctime": "2021-01-06 22:49:02,879", + "created": 1609969742.879487, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c5 2b 78 11", + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", "module": "test_helpers", - "msecs": 297.19996452331543, - "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c5 2b 78 11", + "msecs": 879.4870376586914, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 2066.8020248413086, - "thread": 139911118194432, - "threadName": "Thread-8" + "relativeCreated": 6044.302940368652, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "4", - "0", + "SP client:", + "service: authentification response, data_id: key", + "status: okay", "True" ], - "asctime": "2020-12-26 10:11:32,297", - "created": 1608973892.297665, + "asctime": "2021-01-06 22:49:02,879", + "created": 1609969742.879588, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 4, data_id: 0, data: \"True\"", + "lineno": 450, + "message": "SP client: RX <- service: authentification response, data_id: key, status: okay, data: \"True\"", "module": "__init__", - "msecs": 297.6651191711426, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 879.5878887176514, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 2067.2671794891357, - "thread": 139911118194432, - "threadName": "Thread-8" + "relativeCreated": 6044.403791427612, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", + "SP client:", "__authentificate_process_feedback__" ], - "asctime": "2020-12-26 10:11:32,297", - "created": 1608973892.297912, + "asctime": "2021-01-06 22:49:02,879", + "created": 1609969742.879645, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "DEBUG", "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback __authentificate_process_feedback__ to process received data", + "lineno": 478, + "message": "SP client: Executing callback __authentificate_process_feedback__ to process received data", "module": "__init__", - "msecs": 297.9118824005127, + "msecs": 879.6451091766357, "msg": "%s Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 2067.513942718506, - "thread": 139911118194432, - "threadName": "Thread-8" + "relativeCreated": 6044.461011886597, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP client:" ], - "asctime": "2020-12-26 10:11:32,298", - "created": 1608973892.298104, + "asctime": "2021-01-06 22:49:02,879", + "created": 1609969742.879694, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__authentificate_process_feedback__", "levelname": "INFO", "levelno": 20, - "lineno": 512, - "message": " SP server: Got positive authentification feedback", + "lineno": 350, + "message": "SP client: Got positive authentification feedback", "module": "__init__", - "msecs": 298.10404777526855, + "msecs": 879.6939849853516, "msg": "%s Got positive authentification feedback", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 2067.7061080932617, - "thread": 139911118194432, - "threadName": "Thread-8" - }, - { - "args": [ - " SP server:", - 0, - 10, - 45054, - "{u'test': u'test'}" - ], - "asctime": "2020-12-26 10:11:32,388", - "created": 1608973892.388638, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", - "module": "__init__", - "msecs": 388.6380195617676, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2158.2400798797607, - "thread": 139911147616064, + "relativeCreated": 6044.5098876953125, + "thread": 140012350113600, "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:32,389", - "created": 1608973892.389348, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", - "module": "test_helpers", - "msecs": 389.34803009033203, - "msg": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2158.950090408325, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:32,540", - "created": 1608973892.540617, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", - "module": "test_helpers", - "msecs": 540.6169891357422, - "msg": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2310.2190494537354, - "thread": 139911118194432, - "threadName": "Thread-9" - }, - { - "args": [ - " SP server:", - "0", - "10", - "45054", - "{u'test': u'test'}" - ], - "asctime": "2020-12-26 10:11:32,541", - "created": 1608973892.541131, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", - "module": "__init__", - "msecs": 541.1310195922852, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2310.7330799102783, - "thread": 139911118194432, - "threadName": "Thread-9" - }, - { - "args": [ - " SP server:", - "response_data_method" - ], - "asctime": "2020-12-26 10:11:32,541", - "created": 1608973892.541375, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", - "module": "__init__", - "msecs": 541.374921798706, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2310.976982116699, - "thread": 139911118194432, - "threadName": "Thread-9" - }, - { - "args": [ - " SP server:", - 5, - 11, - 45054, - "[1, 3, u's']" - ], - "asctime": "2020-12-26 10:11:32,541", - "created": 1608973892.541585, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, u's']\"", - "module": "__init__", - "msecs": 541.5849685668945, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2311.1870288848877, - "thread": 139911118194432, - "threadName": "Thread-9" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:32,542", - "created": 1608973892.542076, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 85 0b b7 34", - "module": "test_helpers", - "msecs": 542.0761108398438, - "msg": "Send data: (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 85 0b b7 34", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2311.678171157837, - "thread": 139911118194432, - "threadName": "Thread-9" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:32,693", - "created": 1608973892.693288, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 85 0b b7 34", - "module": "test_helpers", - "msecs": 693.2880878448486, - "msg": "Receive data (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 85 0b b7 34", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2462.890148162842, - "thread": 139911126587136, - "threadName": "Thread-10" - }, - { - "args": [ - " SP server:", - "5", - "11", - "45054", - "[1, 3, u's']" - ], - "asctime": "2020-12-26 10:11:32,693", - "created": 1608973892.693751, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, u's']\"", - "module": "__init__", - "msecs": 693.7510967254639, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2463.353157043457, - "thread": 139911126587136, - "threadName": "Thread-10" - }, - { - "args": [ - " SP server:", - "Operation not permitted" - ], - "asctime": "2020-12-26 10:11:32,694", - "created": 1608973892.694038, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", - "module": "__init__", - "msecs": 694.037914276123, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2463.639974594116, - "thread": 139911126587136, - "threadName": "Thread-10" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:32,694", - "created": 1608973892.694261, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__buffer_received_data__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", - "module": "__init__", - "msecs": 694.2610740661621, - "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2463.8631343841553, - "thread": 139911126587136, - "threadName": "Thread-10" } ], - "msecs": 891.5400505065918, - "msg": "Send and received data by pure_json_protocol.", + "msecs": 980.0920486450195, + "msg": "Performing Authentification", "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260862, + "pathname": "src/tests/test_communication.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 2661.142110824585, - "thread": 139911147616064, + "relativeCreated": 6144.9079513549805, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.1972789764404297 + "time_consumption": 0.10039806365966797 }, - { - "args": [ - "True", - "" - ], - "asctime": "2020-12-26 10:11:32,892", - "created": 1608973892.892435, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return value of authentification is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Return value of authentification", - "True", - "" - ], - "asctime": "2020-12-26 10:11:32,892", - "created": 1608973892.892058, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return value of authentification): True ()", - "module": "test", - "msecs": 892.0578956604004, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2661.6599559783936, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return value of authentification", - "True", - "" - ], - "asctime": "2020-12-26 10:11:32,892", - "created": 1608973892.892258, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return value of authentification): result = True ()", - "module": "test", - "msecs": 892.2579288482666, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2661.8599891662598, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 892.4350738525391, - "msg": "Return value of authentification is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2662.037134170532, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00017714500427246094 - }, - { - "args": [ - "True", - "" - ], - "asctime": "2020-12-26 10:11:32,893", - "created": 1608973892.89304, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:32,892", - "created": 1608973892.892692, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return value of send method): True ()", - "module": "test", - "msecs": 892.6920890808105, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2662.2941493988037, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:32,892", - "created": 1608973892.892883, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", - "module": "test", - "msecs": 892.8830623626709, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2662.485122680664, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 893.0399417877197, - "msg": "Return value of send method is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2662.642002105713, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00015687942504882812 - }, - { - "args": [ - "0", - "" - ], - "asctime": "2020-12-26 10:11:32,893", - "created": 1608973892.893587, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via pure_json_protocol is correct (Content 0 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:32,893", - "created": 1608973892.893283, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Status (Okay) transfered via pure_json_protocol): 0 ()", - "module": "test", - "msecs": 893.2828903198242, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2662.8849506378174, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:32,893", - "created": 1608973892.893436, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via pure_json_protocol): result = 0 ()", - "module": "test", - "msecs": 893.4359550476074, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2663.0380153656006, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 893.5871124267578, - "msg": "Request Status (Okay) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2663.189172744751, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00015115737915039062 - }, - { - "args": [ - "{u'test': u'test'}", - "" - ], - "asctime": "2020-12-26 10:11:32,894", - "created": 1608973892.894225, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via pure_json_protocol is correct (Content {u'test': u'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ u'test': u'test' }", - "" - ], - "asctime": "2020-12-26 10:11:32,893", - "created": 1608973892.893864, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via pure_json_protocol): { u'test': u'test' } ()", - "module": "test", - "msecs": 893.8639163970947, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2663.465976715088, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ u'test': u'test' }", - "" - ], - "asctime": "2020-12-26 10:11:32,894", - "created": 1608973892.894027, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via pure_json_protocol): result = { u'test': u'test' } ()", - "module": "test", - "msecs": 894.0269947052002, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2663.6290550231934, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 894.2248821258545, - "msg": "Request Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2663.8269424438477, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00019788742065429688 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:32,895", - "created": 1608973892.895095, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:32,894", - "created": 1608973892.894523, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via pure_json_protocol): 5 ()", - "module": "test", - "msecs": 894.5229053497314, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2664.1249656677246, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:32,894", - "created": 1608973892.89483, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via pure_json_protocol): result = 5 ()", - "module": "test", - "msecs": 894.8299884796143, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2664.4320487976074, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 895.0951099395752, - "msg": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2664.6971702575684, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0002651214599609375 - }, - { - "args": [ - "[1, 3, u's']", - "" - ], - "asctime": "2020-12-26 10:11:32,896", - "created": 1608973892.896286, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via pure_json_protocol is correct (Content [1, 3, u's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:32,895", - "created": 1608973892.895581, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via pure_json_protocol): [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 895.5810070037842, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2665.1830673217773, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:32,895", - "created": 1608973892.8959, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via pure_json_protocol): result = [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 895.9000110626221, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2665.5020713806152, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 896.2860107421875, - "msg": "Response Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2665.8880710601807, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0003859996795654297 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:32,998", - "created": 1608973892.998867, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:32,997", - "created": 1608973892.997448, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 997.4479675292969, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2767.05002784729, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:32,998", - "created": 1608973892.998327, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 998.3270168304443, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2767.9290771484375, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:32,998", - "created": 1608973892.998637, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 998.6369609832764, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2768.2390213012695, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 998.8670349121094, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2768.4690952301025, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0002300739288330078 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:33,100", - "created": 1608973893.100187, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:33,099", - "created": 1608973893.09962, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 99.62010383605957, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2869.2221641540527, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:33,099", - "created": 1608973893.099903, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 99.90310668945312, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2869.5051670074463, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:33,100", - "created": 1608973893.100052, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 100.0521183013916, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2869.6541786193848, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 100.18706321716309, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2869.7891235351562, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00013494491577148438 - } - ], - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 1.4173130989074707, - "time_finished": "2020-12-26 10:11:33,100", - "time_start": "2020-12-26 10:11:31,682" - }, - "socket_protocol.pure_json_protocol: Send and receive check.": { - "args": null, - "asctime": "2020-12-26 10:11:30,970", - "created": 1608973890.970596, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 27, - "message": "socket_protocol.pure_json_protocol: Send and receive check.", - "module": "__init__", - "moduleLogger": [], - "msecs": 970.5960750579834, - "msg": "socket_protocol.pure_json_protocol: Send and receive check.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 740.1981353759766, - "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:31,475", - "created": 1608973891.475979, + "asctime": "2021-01-06 22:49:03,082", + "created": 1609969743.082874, "exc_info": null, "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "send_n_receive", + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", "levelname": "DEBUG", "levelno": 10, - "lineno": 42, - "message": "Send and received data by pure_json_protocol.", - "module": "test_normal_operation", + "lineno": 185, + "message": "Transfering a message client -> server", + "module": "test_communication", "moduleLogger": [ { "args": [ - " SP server:" + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:30,971", - "created": 1608973890.971224, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 971.2240695953369, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 740.8261299133301, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:30,971", - "created": 1608973890.971727, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 971.7268943786621, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 741.3289546966553, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:30,972", - "created": 1608973890.972128, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 972.1279144287109, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 741.7299747467041, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:30,972", - "created": 1608973890.972546, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 972.5461006164551, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 742.1481609344482, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 10, - 45054, - "{u'test': u'test'}" - ], - "asctime": "2020-12-26 10:11:30,972", - "created": 1608973890.972936, + "asctime": "2021-01-06 22:49:02,980", + "created": 1609969742.98067, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", + "lineno": 719, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", "module": "__init__", - "msecs": 972.9359149932861, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 980.6699752807617, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 742.5379753112793, - "thread": 139911147616064, + "relativeCreated": 6145.485877990723, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:30,973", - "created": 1608973890.973663, + "asctime": "2021-01-06 22:49:02,981", + "created": 1609969742.98126, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", "module": "test_helpers", - "msecs": 973.6630916595459, - "msg": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "msecs": 981.2600612640381, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 743.2651519775391, - "thread": 139911147616064, + "relativeCreated": 6146.075963973999, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:31,124", - "created": 1608973891.124961, + "asctime": "2021-01-06 22:49:02,981", + "created": 1609969742.981706, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", "module": "test_helpers", - "msecs": 124.96089935302734, - "msg": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 63 ee c4 24", + "msecs": 981.705904006958, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 894.5629596710205, - "thread": 139911118194432, - "threadName": "Thread-3" + "relativeCreated": 6146.521806716919, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "10", - "45054", - "{u'test': u'test'}" + "SP server:", + "service: 17, data_id: 34", + "status: okay", + "u'msg1_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:31,125", - "created": 1608973891.125362, + "asctime": "2021-01-06 22:49:02,982", + "created": 1609969742.982065, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", + "lineno": 450, + "message": "SP server: RX <- service: 17, data_id: 34, status: okay, data: \"u'msg1_data_to_be_transfered'\"", "module": "__init__", - "msecs": 125.36191940307617, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 982.064962387085, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 894.9639797210693, - "thread": 139911118194432, - "threadName": "Thread-3" + "relativeCreated": 6146.880865097046, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "response_data_method" + "SP server:" ], - "asctime": "2020-12-26 10:11:31,125", - "created": 1608973891.125555, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", - "module": "__init__", - "msecs": 125.55503845214844, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 895.1570987701416, - "thread": 139911118194432, - "threadName": "Thread-3" - }, - { - "args": [ - " SP server:", - 5, - 11, - 45054, - "[1, 3, u's']" - ], - "asctime": "2020-12-26 10:11:31,125", - "created": 1608973891.125726, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, u's']\"", - "module": "__init__", - "msecs": 125.72598457336426, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 895.3280448913574, - "thread": 139911118194432, - "threadName": "Thread-3" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:31,126", - "created": 1608973891.126129, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 85 0b b7 34", - "module": "test_helpers", - "msecs": 126.1289119720459, - "msg": "Send data: (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 85 0b b7 34", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 895.7309722900391, - "thread": 139911118194432, - "threadName": "Thread-3" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:31,277", - "created": 1608973891.277297, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 85 0b b7 34", - "module": "test_helpers", - "msecs": 277.2970199584961, - "msg": "Receive data (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 7d 85 0b b7 34", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1046.8990802764893, - "thread": 139911126587136, - "threadName": "Thread-4" - }, - { - "args": [ - " SP server:", - "5", - "11", - "45054", - "[1, 3, u's']" - ], - "asctime": "2020-12-26 10:11:31,277", - "created": 1608973891.277749, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, u's']\"", - "module": "__init__", - "msecs": 277.74906158447266, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1047.3511219024658, - "thread": 139911126587136, - "threadName": "Thread-4" - }, - { - "args": [ - " SP server:", - "Operation not permitted" - ], - "asctime": "2020-12-26 10:11:31,278", - "created": 1608973891.278036, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", - "module": "__init__", - "msecs": 278.03611755371094, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1047.638177871704, - "thread": 139911126587136, - "threadName": "Thread-4" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:31,278", - "created": 1608973891.278263, + "asctime": "2021-01-06 22:49:02,982", + "created": 1609969742.982326, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__buffer_received_data__", "levelname": "DEBUG", "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "lineno": 375, + "message": "SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", "module": "__init__", - "msecs": 278.2630920410156, + "msecs": 982.3260307312012, "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1047.8651523590088, - "thread": 139911126587136, - "threadName": "Thread-4" + "relativeCreated": 6147.141933441162, + "thread": 140012350113600, + "threadName": "MainThread" } ], - "msecs": 475.9790897369385, - "msg": "Send and received data by pure_json_protocol.", + "msecs": 82.87405967712402, + "msg": "Transfering a message client -> server", "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260862, + "pathname": "src/tests/test_communication.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1245.5811500549316, - "thread": 139911147616064, + "relativeCreated": 6247.689962387085, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.19771599769592285 + "time_consumption": 0.10054802894592285 }, { "args": [ "True", "" ], - "asctime": "2020-12-26 10:11:31,476", - "created": 1608973891.476942, + "asctime": "2021-01-06 22:49:03,083", + "created": 1609969743.083758, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:31,476", - "created": 1608973891.476489, + "asctime": "2021-01-06 22:49:03,083", + "created": 1609969743.083361, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -8909,26 +17582,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of send method): True ()", + "message": "Result (Returnvalue of Client send Method): True ()", "module": "test", - "msecs": 476.4890670776367, + "msecs": 83.36091041564941, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1246.0911273956299, - "thread": 139911147616064, + "relativeCreated": 6248.17681312561, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:31,476", - "created": 1608973891.476704, + "asctime": "2021-01-06 22:49:03,083", + "created": 1609969743.083564, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -8936,3248 +17609,55 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", + "message": "Expectation (Returnvalue of Client send Method): result = True ()", "module": "test", - "msecs": 476.7038822174072, + "msecs": 83.56404304504395, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1246.3059425354004, - "thread": 139911147616064, + "relativeCreated": 6248.379945755005, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 476.9420623779297, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "msecs": 83.75811576843262, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 1246.5441226959229, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00023818016052246094 - }, - { - "args": [ - "0", - "" - ], - "asctime": "2020-12-26 10:11:31,477", - "created": 1608973891.477562, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via pure_json_protocol is correct (Content 0 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:31,477", - "created": 1608973891.477216, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Status (Okay) transfered via pure_json_protocol): 0 ()", - "module": "test", - "msecs": 477.2160053253174, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1246.8180656433105, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:31,477", - "created": 1608973891.477381, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via pure_json_protocol): result = 0 ()", - "module": "test", - "msecs": 477.38099098205566, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1246.9830513000488, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 477.56195068359375, - "msg": "Request Status (Okay) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1247.164011001587, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00018095970153808594 - }, - { - "args": [ - "{u'test': u'test'}", - "" - ], - "asctime": "2020-12-26 10:11:31,478", - "created": 1608973891.478245, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via pure_json_protocol is correct (Content {u'test': u'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ u'test': u'test' }", - "" - ], - "asctime": "2020-12-26 10:11:31,477", - "created": 1608973891.477837, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via pure_json_protocol): { u'test': u'test' } ()", - "module": "test", - "msecs": 477.83708572387695, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1247.4391460418701, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ u'test': u'test' }", - "" - ], - "asctime": "2020-12-26 10:11:31,478", - "created": 1608973891.478006, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via pure_json_protocol): result = { u'test': u'test' } ()", - "module": "test", - "msecs": 478.00588607788086, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1247.607946395874, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 478.2450199127197, - "msg": "Request Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1247.847080230713, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0002391338348388672 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:31,478", - "created": 1608973891.478844, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:31,478", - "created": 1608973891.478524, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via pure_json_protocol): 5 ()", - "module": "test", - "msecs": 478.52396965026855, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1248.1260299682617, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:31,478", - "created": 1608973891.478688, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via pure_json_protocol): result = 5 ()", - "module": "test", - "msecs": 478.68800163269043, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1248.2900619506836, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 478.84392738342285, - "msg": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1248.445987701416, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00015592575073242188 - }, - { - "args": [ - "[1, 3, u's']", - "" - ], - "asctime": "2020-12-26 10:11:31,479", - "created": 1608973891.479507, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via pure_json_protocol is correct (Content [1, 3, u's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:31,479", - "created": 1608973891.479118, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via pure_json_protocol): [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 479.11810874938965, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1248.7201690673828, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:31,479", - "created": 1608973891.479285, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via pure_json_protocol): result = [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 479.28500175476074, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1248.887062072754, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 479.5069694519043, - "msg": "Response Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1249.1090297698975, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0002219676971435547 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:31,580", - "created": 1608973891.580862, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:31,580", - "created": 1608973891.580073, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 580.0731182098389, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1349.675178527832, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:31,580", - "created": 1608973891.580429, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 580.4290771484375, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1350.0311374664307, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:31,580", - "created": 1608973891.580646, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 580.6460380554199, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1350.248098373413, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 580.8620452880859, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1350.464105606079, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00021600723266601562 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:31,682", - "created": 1608973891.682266, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:31,681", - "created": 1608973891.681528, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 681.5280914306641, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1451.1301517486572, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:31,681", - "created": 1608973891.68189, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 681.8900108337402, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1451.4920711517334, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:31,682", - "created": 1608973891.682086, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 682.0859909057617, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1451.6880512237549, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 682.2659969329834, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 1451.8680572509766, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0001800060272216797 - } - ], - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.711669921875, - "time_finished": "2020-12-26 10:11:31,682", - "time_start": "2020-12-26 10:11:30,970" - }, - "socket_protocol.pure_json_protocol: Timeout measurement for authentification and send method.": { - "args": null, - "asctime": "2020-12-26 10:11:37,692", - "created": 1608973897.692469, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 38, - "message": "socket_protocol.pure_json_protocol: Timeout measurement for authentification and send method.", - "module": "__init__", - "moduleLogger": [], - "msecs": 692.4688816070557, - "msg": "socket_protocol.pure_json_protocol: Timeout measurement for authentification and send method.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7462.070941925049, - "testcaseLogger": [ - { - "args": [ - "0.20080995559692383", - "0.2", - "0.22000000000000003", - "" - ], - "asctime": "2020-12-26 10:11:37,894", - "created": 1608973897.894999, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "range_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 218, - "message": "Timeout for authentification is correct (Content 0.20080995559692383 in [0.2 ... 0.22000000000000003] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:37,692", - "created": 1608973897.692826, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 692.8260326385498, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7462.428092956543, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:37,693", - "created": 1608973897.693116, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 693.1159496307373, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7462.7180099487305, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:37,693", - "created": 1608973897.693373, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 693.3729648590088, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7462.975025177002, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:37,693", - "created": 1608973897.69363, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 693.6299800872803, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7463.232040405273, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:37,693", - "created": 1608973897.693784, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "authentificate", - "levelname": "INFO", - "levelno": 20, - "lineno": 456, - "message": " SP server: Requesting seed for authentification", - "module": "__init__", - "msecs": 693.7839984893799, - "msg": "%s Requesting seed for authentification", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7463.386058807373, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 1, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:37,693", - "created": 1608973897.693914, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 1, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 693.9139366149902, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7463.515996932983, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:37,694", - "created": 1608973897.694187, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 2c 2d 2e 5d", - "module": "test_helpers", - "msecs": 694.1869258880615, - "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 2c 2d 2e 5d", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7463.788986206055, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Timeout for authentification", - "0.20080995559692383", - "" - ], - "asctime": "2020-12-26 10:11:37,894", - "created": 1608973897.894639, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Timeout for authentification): 0.20080995559692383 ()", - "module": "test", - "msecs": 894.6390151977539, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7664.241075515747, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Timeout for authentification", - "0.2", - "0.22000000000000003" - ], - "asctime": "2020-12-26 10:11:37,894", - "created": 1608973897.894839, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_range__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 30, - "message": "Expectation (Timeout for authentification): 0.2 <= result <= 0.22000000000000003", - "module": "test", - "msecs": 894.8390483856201, - "msg": "Expectation (%s): %s <= result <= %s", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7664.441108703613, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 894.9990272521973, - "msg": "Timeout for authentification is correct (Content %s in [%s ... %s] and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7664.60108757019, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00015997886657714844 - }, - { - "args": [ - "0.5016460418701172", - "0.5", - "0.55", - "" - ], - "asctime": "2020-12-26 10:11:38,397", - "created": 1608973898.397261, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "range_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 218, - "message": "Timeout for authentification is correct (Content 0.5016460418701172 in [0.5 ... 0.55] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:37,895", - "created": 1608973897.895218, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "authentificate", - "levelname": "INFO", - "levelno": 20, - "lineno": 456, - "message": " SP server: Requesting seed for authentification", - "module": "__init__", - "msecs": 895.2178955078125, - "msg": "%s Requesting seed for authentification", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7664.819955825806, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 1, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:37,895", - "created": 1608973897.895353, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 1, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 895.3530788421631, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7664.955139160156, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:37,895", - "created": 1608973897.895663, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 2c 2d 2e 5d", - "module": "test_helpers", - "msecs": 895.6630229949951, - "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 2c 2d 2e 5d", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 7665.265083312988, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Timeout for authentification", - "0.5016460418701172", - "" - ], - "asctime": "2020-12-26 10:11:38,396", - "created": 1608973898.396909, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Timeout for authentification): 0.5016460418701172 ()", - "module": "test", - "msecs": 396.9089984893799, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8166.511058807373, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Timeout for authentification", - "0.5", - "0.55" - ], - "asctime": "2020-12-26 10:11:38,397", - "created": 1608973898.39713, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_range__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 30, - "message": "Expectation (Timeout for authentification): 0.5 <= result <= 0.55", - "module": "test", - "msecs": 397.13001251220703, - "msg": "Expectation (%s): %s <= result <= %s", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8166.7320728302, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 397.2609043121338, - "msg": "Timeout for authentification is correct (Content %s in [%s ... %s] and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8166.862964630127, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0001308917999267578 - }, - { - "args": [ - "0.20120906829833984", - "0.2", - "0.22000000000000003", - "" - ], - "asctime": "2020-12-26 10:11:38,599", - "created": 1608973898.59944, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "range_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 218, - "message": "Timeout for send method is correct (Content 0.20120906829833984 in [0.2 ... 0.22000000000000003] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.2", - "30", - "0" - ], - "asctime": "2020-12-26 10:11:38,597", - "created": 1608973898.597916, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.2s): Requested data (service_id: 30; data_id: 0) not in buffer.", - "module": "__init__", - "msecs": 597.9158878326416, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8367.517948150635, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Timeout for send method", - "0.20120906829833984", - "" - ], - "asctime": "2020-12-26 10:11:38,598", - "created": 1608973898.598855, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Timeout for send method): 0.20120906829833984 ()", - "module": "test", - "msecs": 598.8550186157227, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8368.457078933716, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Timeout for send method", - "0.2", - "0.22000000000000003" - ], - "asctime": "2020-12-26 10:11:38,599", - "created": 1608973898.59923, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_range__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 30, - "message": "Expectation (Timeout for send method): 0.2 <= result <= 0.22000000000000003", - "module": "test", - "msecs": 599.2300510406494, - "msg": "Expectation (%s): %s <= result <= %s", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8368.832111358643, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 599.4400978088379, - "msg": "Timeout for send method is correct (Content %s in [%s ... %s] and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8369.042158126831, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00021004676818847656 - }, - { - "args": [ - "0.5018620491027832", - "0.5", - "0.55", - "" - ], - "asctime": "2020-12-26 10:11:39,102", - "created": 1608973899.102049, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "range_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 218, - "message": "Timeout for send method is correct (Content 0.5018620491027832 in [0.5 ... 0.55] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.5", - "30", - "0" - ], - "asctime": "2020-12-26 10:11:39,101", - "created": 1608973899.101273, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.5s): Requested data (service_id: 30; data_id: 0) not in buffer.", - "module": "__init__", - "msecs": 101.2730598449707, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8870.875120162964, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Timeout for send method", - "0.5018620491027832", - "" - ], - "asctime": "2020-12-26 10:11:39,101", - "created": 1608973899.101654, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Timeout for send method): 0.5018620491027832 ()", - "module": "test", - "msecs": 101.654052734375, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8871.256113052368, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Timeout for send method", - "0.5", - "0.55" - ], - "asctime": "2020-12-26 10:11:39,101", - "created": 1608973899.101858, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_range__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 30, - "message": "Expectation (Timeout for send method): 0.5 <= result <= 0.55", - "module": "test", - "msecs": 101.85790061950684, - "msg": "Expectation (%s): %s <= result <= %s", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8871.4599609375, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 102.04911231994629, - "msg": "Timeout for send method is correct (Content %s in [%s ... %s] and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 8871.65117263794, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00019121170043945312 - } - ], - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 1.4095802307128906, - "time_finished": "2020-12-26 10:11:39,102", - "time_start": "2020-12-26 10:11:37,692" - }, - "socket_protocol.pure_json_protocol: Wildcard Callback registration for data_id.": { - "args": null, - "asctime": "2020-12-26 10:11:34,523", - "created": 1608973894.523184, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 31, - "message": "socket_protocol.pure_json_protocol: Wildcard Callback registration for data_id.", - "module": "__init__", - "moduleLogger": [], - "msecs": 523.184061050415, - "msg": "socket_protocol.pure_json_protocol: Wildcard Callback registration for data_id.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4292.786121368408, - "testcaseLogger": [ - { - "args": [], - "asctime": "2020-12-26 10:11:35,027", - "created": 1608973895.027995, - "exc_info": null, - "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "wildcard_callback", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 96, - "message": "Send and received data by pure_json_protocol. Wildcard callback registerd for .", - "module": "test_normal_operation", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:34,523", - "created": 1608973894.523708, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 523.7081050872803, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4293.310165405273, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:34,524", - "created": 1608973894.524185, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 524.1849422454834, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4293.787002563477, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:34,524", - "created": 1608973894.52457, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 524.5699882507324, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4294.172048568726, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:34,525", - "created": 1608973894.525014, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 525.0139236450195, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4294.615983963013, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 10, - 48879, - "{u'test': u'test'}" - ], - "asctime": "2020-12-26 10:11:34,525", - "created": 1608973894.525284, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 48879, data: \"{u'test': u'test'}\"", - "module": "__init__", - "msecs": 525.2840518951416, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4294.886112213135, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:34,525", - "created": 1608973894.525841, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d e8 e0 82 59", - "module": "test_helpers", - "msecs": 525.8409976959229, - "msg": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d e8 e0 82 59", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4295.443058013916, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:34,677", - "created": 1608973894.677184, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d e8 e0 82 59", - "module": "test_helpers", - "msecs": 677.1841049194336, - "msg": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d e8 e0 82 59", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4446.786165237427, - "thread": 139911126587136, - "threadName": "Thread-15" - }, - { - "args": [ - " SP server:", - "0", - "10", - "48879", - "{u'test': u'test'}" - ], - "asctime": "2020-12-26 10:11:34,680", - "created": 1608973894.680539, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 48879, data: \"{u'test': u'test'}\"", - "module": "__init__", - "msecs": 680.5388927459717, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4450.140953063965, - "thread": 139911126587136, - "threadName": "Thread-15" - }, - { - "args": [ - " SP server:", - "response_data_method" - ], - "asctime": "2020-12-26 10:11:34,680", - "created": 1608973894.680896, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", - "module": "__init__", - "msecs": 680.8960437774658, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4450.498104095459, - "thread": 139911126587136, - "threadName": "Thread-15" - }, - { - "args": [ - " SP server:", - 5, - 11, - 48879, - "[1, 3, u's']" - ], - "asctime": "2020-12-26 10:11:34,681", - "created": 1608973894.681158, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 48879, data: \"[1, 3, u's']\"", - "module": "__init__", - "msecs": 681.1580657958984, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4450.760126113892, - "thread": 139911126587136, - "threadName": "Thread-15" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:34,681", - "created": 1608973894.681911, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 0e 05 f1 49", - "module": "test_helpers", - "msecs": 681.9109916687012, - "msg": "Send data: (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 0e 05 f1 49", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4451.513051986694, - "thread": 139911126587136, - "threadName": "Thread-15" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:34,833", - "created": 1608973894.833235, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 0e 05 f1 49", - "module": "test_helpers", - "msecs": 833.2350254058838, - "msg": "Receive data (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 0e 05 f1 49", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4602.837085723877, - "thread": 139911118194432, - "threadName": "Thread-16" - }, - { - "args": [ - " SP server:", - "5", - "11", - "48879", - "[1, 3, u's']" - ], - "asctime": "2020-12-26 10:11:34,833", - "created": 1608973894.833485, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 48879, data: \"[1, 3, u's']\"", - "module": "__init__", - "msecs": 833.4848880767822, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4603.086948394775, - "thread": 139911118194432, - "threadName": "Thread-16" - }, - { - "args": [ - " SP server:", - "Operation not permitted" - ], - "asctime": "2020-12-26 10:11:34,833", - "created": 1608973894.833631, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", - "module": "__init__", - "msecs": 833.6310386657715, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4603.233098983765, - "thread": 139911118194432, - "threadName": "Thread-16" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:34,833", - "created": 1608973894.833744, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__buffer_received_data__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", - "module": "__init__", - "msecs": 833.7440490722656, - "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4603.346109390259, - "thread": 139911118194432, - "threadName": "Thread-16" - } - ], - "msecs": 27.99510955810547, - "msg": "Send and received data by pure_json_protocol. Wildcard callback registerd for .", - "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4797.597169876099, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.19425106048583984 - }, - { - "args": [ - "True", - "" - ], - "asctime": "2020-12-26 10:11:35,029", - "created": 1608973895.029343, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:35,028", - "created": 1608973895.028844, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return value of send method): True ()", - "module": "test", - "msecs": 28.844118118286133, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4798.446178436279, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:35,029", - "created": 1608973895.029142, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", - "module": "test", - "msecs": 29.141902923583984, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4798.743963241577, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 29.3428897857666, - "msg": "Return value of send method is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4798.94495010376, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0002009868621826172 - }, - { - "args": [ - "0", - "" - ], - "asctime": "2020-12-26 10:11:35,030", - "created": 1608973895.030062, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via pure_json_protocol is correct (Content 0 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:35,029", - "created": 1608973895.029749, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Status (Okay) transfered via pure_json_protocol): 0 ()", - "module": "test", - "msecs": 29.748916625976562, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4799.35097694397, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:35,029", - "created": 1608973895.029924, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via pure_json_protocol): result = 0 ()", - "module": "test", - "msecs": 29.92391586303711, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4799.52597618103, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 30.061960220336914, - "msg": "Request Status (Okay) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4799.66402053833, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0001380443572998047 - }, - { - "args": [ - "{u'test': u'test'}", - "" - ], - "asctime": "2020-12-26 10:11:35,030", - "created": 1608973895.030508, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via pure_json_protocol is correct (Content {u'test': u'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ u'test': u'test' }", - "" - ], - "asctime": "2020-12-26 10:11:35,030", - "created": 1608973895.03026, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via pure_json_protocol): { u'test': u'test' } ()", - "module": "test", - "msecs": 30.260086059570312, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4799.8621463775635, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ u'test': u'test' }", - "" - ], - "asctime": "2020-12-26 10:11:35,030", - "created": 1608973895.030371, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via pure_json_protocol): result = { u'test': u'test' } ()", - "module": "test", - "msecs": 30.37095069885254, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4799.973011016846, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 30.508041381835938, - "msg": "Request Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4800.110101699829, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00013709068298339844 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:35,031", - "created": 1608973895.031547, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:35,030", - "created": 1608973895.030847, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via pure_json_protocol): 5 ()", - "module": "test", - "msecs": 30.84707260131836, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4800.4491329193115, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:35,031", - "created": 1608973895.031218, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via pure_json_protocol): result = 5 ()", - "module": "test", - "msecs": 31.21805191040039, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4800.820112228394, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 31.547069549560547, - "msg": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4801.149129867554, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00032901763916015625 - }, - { - "args": [ - "[1, 3, u's']", - "" - ], - "asctime": "2020-12-26 10:11:35,032", - "created": 1608973895.032439, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via pure_json_protocol is correct (Content [1, 3, u's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:35,031", - "created": 1608973895.031992, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via pure_json_protocol): [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 31.991958618164062, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4801.594018936157, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:35,032", - "created": 1608973895.032195, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via pure_json_protocol): result = [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 32.195091247558594, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4801.797151565552, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 32.43899345397949, - "msg": "Response Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4802.041053771973, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00024390220642089844 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:35,134", - "created": 1608973895.134612, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "48879" - ], - "asctime": "2020-12-26 10:11:35,133", - "created": 1608973895.133411, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 133.41093063354492, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4903.012990951538, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:35,134", - "created": 1608973895.134038, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 134.03797149658203, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4903.640031814575, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:35,134", - "created": 1608973895.134374, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 134.37390327453613, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4903.975963592529, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 134.6120834350586, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4904.214143753052, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00023818016052246094 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:35,237", - "created": 1608973895.237169, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "48879" - ], - "asctime": "2020-12-26 10:11:35,235", - "created": 1608973895.23553, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 235.52989959716797, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 5005.131959915161, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:35,236", - "created": 1608973895.236338, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 236.33790016174316, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 5005.939960479736, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:35,236", - "created": 1608973895.236728, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 236.72795295715332, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 5006.3300132751465, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 237.1690273284912, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 5006.771087646484, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0004410743713378906 - } - ], - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.7139849662780762, - "time_finished": "2020-12-26 10:11:35,237", - "time_start": "2020-12-26 10:11:34,523" - }, - "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id and data_id.": { - "args": null, - "asctime": "2020-12-26 10:11:33,100", - "created": 1608973893.100597, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 29, - "message": "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id and data_id.", - "module": "__init__", - "moduleLogger": [], - "msecs": 100.59690475463867, - "msg": "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id and data_id.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2870.198965072632, - "testcaseLogger": [ - { - "args": [], - "asctime": "2020-12-26 10:11:33,604", - "created": 1608973893.604561, - "exc_info": null, - "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "wildcard_callback", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 96, - "message": "Send and received data by pure_json_protocol. Wildcard callback registerd for service_id and data_id.", - "module": "test_normal_operation", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:33,100", - "created": 1608973893.100992, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 100.99196434020996, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2870.594024658203, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:33,101", - "created": 1608973893.101319, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 101.3190746307373, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2870.9211349487305, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:33,101", - "created": 1608973893.101582, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 101.58205032348633, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2871.1841106414795, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:33,101", - "created": 1608973893.101864, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 101.86409950256348, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2871.4661598205566, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 10, - 48879, - "{u'test': u'test'}" - ], - "asctime": "2020-12-26 10:11:33,102", - "created": 1608973893.102054, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 48879, data: \"{u'test': u'test'}\"", - "module": "__init__", - "msecs": 102.05411911010742, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2871.6561794281006, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:33,102", - "created": 1608973893.102431, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d e8 e0 82 59", - "module": "test_helpers", - "msecs": 102.43105888366699, - "msg": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d e8 e0 82 59", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 2872.03311920166, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:33,253", - "created": 1608973893.253662, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d e8 e0 82 59", - "module": "test_helpers", - "msecs": 253.662109375, - "msg": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d e8 e0 82 59", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3023.264169692993, - "thread": 139911126587136, - "threadName": "Thread-11" - }, - { - "args": [ - " SP server:", - "0", - "10", - "48879", - "{u'test': u'test'}" - ], - "asctime": "2020-12-26 10:11:33,254", - "created": 1608973893.254479, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 48879, data: \"{u'test': u'test'}\"", - "module": "__init__", - "msecs": 254.47893142700195, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3024.080991744995, - "thread": 139911126587136, - "threadName": "Thread-11" - }, - { - "args": [ - " SP server:", - "response_data_method" - ], - "asctime": "2020-12-26 10:11:33,254", - "created": 1608973893.25491, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", - "module": "__init__", - "msecs": 254.90999221801758, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3024.5120525360107, - "thread": 139911126587136, - "threadName": "Thread-11" - }, - { - "args": [ - " SP server:", - 5, - 11, - 48879, - "[1, 3, u's']" - ], - "asctime": "2020-12-26 10:11:33,255", - "created": 1608973893.255173, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 48879, data: \"[1, 3, u's']\"", - "module": "__init__", - "msecs": 255.1729679107666, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3024.7750282287598, - "thread": 139911126587136, - "threadName": "Thread-11" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:33,255", - "created": 1608973893.255748, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 0e 05 f1 49", - "module": "test_helpers", - "msecs": 255.74803352355957, - "msg": "Send data: (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 0e 05 f1 49", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3025.3500938415527, - "thread": 139911126587136, - "threadName": "Thread-11" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:33,406", - "created": 1608973893.406737, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 0e 05 f1 49", - "module": "test_helpers", - "msecs": 406.7370891571045, - "msg": "Receive data (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 0e 05 f1 49", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3176.3391494750977, - "thread": 139911118194432, - "threadName": "Thread-12" - }, - { - "args": [ - " SP server:", - "5", - "11", - "48879", - "[1, 3, u's']" - ], - "asctime": "2020-12-26 10:11:33,407", - "created": 1608973893.407073, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 48879, data: \"[1, 3, u's']\"", - "module": "__init__", - "msecs": 407.0730209350586, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3176.6750812530518, - "thread": 139911118194432, - "threadName": "Thread-12" - }, - { - "args": [ - " SP server:", - "Operation not permitted" - ], - "asctime": "2020-12-26 10:11:33,407", - "created": 1608973893.407261, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", - "module": "__init__", - "msecs": 407.2608947753906, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3176.862955093384, - "thread": 139911118194432, - "threadName": "Thread-12" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:33,407", - "created": 1608973893.407432, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__buffer_received_data__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", - "module": "__init__", - "msecs": 407.43207931518555, - "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3177.0341396331787, - "thread": 139911118194432, - "threadName": "Thread-12" - } - ], - "msecs": 604.5610904693604, - "msg": "Send and received data by pure_json_protocol. Wildcard callback registerd for service_id and data_id.", - "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3374.1631507873535, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.1971290111541748 - }, - { - "args": [ - "True", - "" - ], - "asctime": "2020-12-26 10:11:33,606", - "created": 1608973893.606321, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:33,605", - "created": 1608973893.605571, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return value of send method): True ()", - "module": "test", - "msecs": 605.5710315704346, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3375.1730918884277, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:33,605", - "created": 1608973893.605989, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", - "module": "test", - "msecs": 605.9889793395996, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3375.591039657593, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 606.3210964202881, - "msg": "Return value of send method is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3375.9231567382812, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00033211708068847656 - }, - { - "args": [ - "0", - "" - ], - "asctime": "2020-12-26 10:11:33,607", - "created": 1608973893.607197, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via pure_json_protocol is correct (Content 0 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:33,606", - "created": 1608973893.606875, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Status (Okay) transfered via pure_json_protocol): 0 ()", - "module": "test", - "msecs": 606.874942779541, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3376.477003097534, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:33,607", - "created": 1608973893.607094, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via pure_json_protocol): result = 0 ()", - "module": "test", - "msecs": 607.0940494537354, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3376.6961097717285, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 607.1970462799072, - "msg": "Request Status (Okay) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3376.7991065979004, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.000102996826171875 - }, - { - "args": [ - "{u'test': u'test'}", - "" - ], - "asctime": "2020-12-26 10:11:33,607", - "created": 1608973893.607564, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via pure_json_protocol is correct (Content {u'test': u'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ u'test': u'test' }", - "" - ], - "asctime": "2020-12-26 10:11:33,607", - "created": 1608973893.607372, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via pure_json_protocol): { u'test': u'test' } ()", - "module": "test", - "msecs": 607.3720455169678, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3376.974105834961, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ u'test': u'test' }", - "" - ], - "asctime": "2020-12-26 10:11:33,607", - "created": 1608973893.607463, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via pure_json_protocol): result = { u'test': u'test' } ()", - "module": "test", - "msecs": 607.4628829956055, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3377.0649433135986, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 607.5639724731445, - "msg": "Request Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3377.1660327911377, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0001010894775390625 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:33,608", - "created": 1608973893.608002, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:33,607", - "created": 1608973893.607754, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via pure_json_protocol): 5 ()", - "module": "test", - "msecs": 607.7539920806885, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3377.3560523986816, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:33,607", - "created": 1608973893.60788, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via pure_json_protocol): result = 5 ()", - "module": "test", - "msecs": 607.8801155090332, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3377.4821758270264, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 608.0019474029541, - "msg": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3377.6040077209473, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00012183189392089844 - }, - { - "args": [ - "[1, 3, u's']", - "" - ], - "asctime": "2020-12-26 10:11:33,608", - "created": 1608973893.608606, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via pure_json_protocol is correct (Content [1, 3, u's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:33,608", - "created": 1608973893.608237, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via pure_json_protocol): [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 608.2370281219482, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3377.8390884399414, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:33,608", - "created": 1608973893.608412, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via pure_json_protocol): result = [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 608.4120273590088, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3378.014087677002, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 608.6061000823975, - "msg": "Response Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3378.2081604003906, - "thread": 139911147616064, + "relativeCreated": 6248.574018478394, + "thread": 140012350113600, "threadName": "MainThread", "time_consumption": 0.00019407272338867188 }, { "args": [ - "None", - "" + "{u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34}", + "" ], - "asctime": "2020-12-26 10:11:33,710", - "created": 1608973893.710385, + "asctime": "2021-01-06 22:49:03,084", + "created": 1609969743.084406, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", + "lineno": 144, + "message": "Received message on server side is correct (Content {u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - " SP server:", - "0.1", - "11", - "48879" + "Received message on server side", + "{u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34}", + "" ], - "asctime": "2020-12-26 10:11:33,709", - "created": 1608973893.709312, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 709.3119621276855, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3478.9140224456787, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:33,709", - "created": 1608973893.709826, + "asctime": "2021-01-06 22:49:03,084", + "created": 1609969743.084044, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -12185,26 +17665,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", + "message": "Result (Received message on server side): {u'status': 0, u'service_id': 17, u'data': u'msg1_data_to_be_transfered', u'data_id': 34} ()", "module": "test", - "msecs": 709.8259925842285, + "msecs": 84.04397964477539, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 3479.4280529022217, - "thread": 139911147616064, + "relativeCreated": 6248.859882354736, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" + "Received message on server side", + "{'status': 0, 'service_id': 17, 'data': 'msg1_data_to_be_transfered', 'data_id': 34}", + "" ], - "asctime": "2020-12-26 10:11:33,710", - "created": 1608973893.710126, + "asctime": "2021-01-06 22:49:03,084", + "created": 1609969743.084226, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -12212,606 +17692,234 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", + "message": "Expectation (Received message on server side): result = {'status': 0, 'service_id': 17, 'data': 'msg1_data_to_be_transfered', 'data_id': 34} ()", "module": "test", - "msecs": 710.1259231567383, + "msecs": 84.22589302062988, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 3479.7279834747314, - "thread": 139911147616064, + "relativeCreated": 6249.041795730591, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 710.3850841522217, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", + "msecs": 84.40589904785156, + "msg": "Received message on server side is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 3479.987144470215, - "thread": 139911147616064, + "relativeCreated": 6249.2218017578125, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00025916099548339844 + "time_consumption": 0.0001800060272216797 }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:33,812", - "created": 1608973893.812538, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "48879" - ], - "asctime": "2020-12-26 10:11:33,811", - "created": 1608973893.811102, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 811.1019134521484, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3580.7039737701416, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:33,811", - "created": 1608973893.811803, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 811.8031024932861, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3581.4051628112793, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:33,812", - "created": 1608973893.812367, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 812.3669624328613, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3581.9690227508545, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 812.5379085540771, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3582.1399688720703, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0001709461212158203 - } - ], - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.7119410037994385, - "time_finished": "2020-12-26 10:11:33,812", - "time_start": "2020-12-26 10:11:33,100" - }, - "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id.": { - "args": null, - "asctime": "2020-12-26 10:11:33,812", - "created": 1608973893.812917, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 30, - "message": "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id.", - "module": "__init__", - "moduleLogger": [], - "msecs": 812.9169940948486, - "msg": "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3582.519054412842, - "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:34,316", - "created": 1608973894.316342, + "asctime": "2021-01-06 22:49:03,187", + "created": 1609969743.187045, "exc_info": null, "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "wildcard_callback", + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", "levelname": "DEBUG", "levelno": 10, - "lineno": 96, - "message": "Send and received data by pure_json_protocol. Wildcard callback registerd for service_id.", - "module": "test_normal_operation", + "lineno": 191, + "message": "Transfering a message server -> client", + "module": "test_communication", "moduleLogger": [ { "args": [ - " SP server:" + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:33,813", - "created": 1608973893.813233, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 813.2328987121582, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3582.8349590301514, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:33,813", - "created": 1608973893.813508, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 813.5080337524414, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3583.1100940704346, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:33,813", - "created": 1608973893.81374, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 813.7400150299072, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3583.3420753479004, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:33,814", - "created": 1608973893.814007, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 814.007043838501, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3583.609104156494, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 10, - 48879, - "{u'test': u'test'}" - ], - "asctime": "2020-12-26 10:11:33,814", - "created": 1608973893.814166, + "asctime": "2021-01-06 22:49:03,084", + "created": 1609969743.084734, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 48879, data: \"{u'test': u'test'}\"", + "lineno": 719, + "message": "SP server: TX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", "module": "__init__", - "msecs": 814.1660690307617, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 84.73396301269531, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 3583.768129348755, - "thread": 139911147616064, + "relativeCreated": 6249.549865722656, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:33,814", - "created": 1608973893.814498, + "asctime": "2021-01-06 22:49:03,085", + "created": 1609969743.085282, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d e8 e0 82 59", + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", "module": "test_helpers", - "msecs": 814.4979476928711, - "msg": "Send data: (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d e8 e0 82 59", + "msecs": 85.2820873260498, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 3584.1000080108643, - "thread": 139911147616064, + "relativeCreated": 6250.097990036011, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:33,965", - "created": 1608973893.96566, + "asctime": "2021-01-06 22:49:03,085", + "created": 1609969743.08571, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d e8 e0 82 59", + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", "module": "test_helpers", - "msecs": 965.6600952148438, - "msg": "Receive data (79): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d e8 e0 82 59", + "msecs": 85.71004867553711, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 3735.262155532837, - "thread": 139911118194432, - "threadName": "Thread-13" + "relativeCreated": 6250.525951385498, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "10", - "48879", - "{u'test': u'test'}" + "SP client:", + "service: 17, data_id: 35", + "status: service or data unknown", + "u'msg2_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:33,966", - "created": 1608973893.966496, + "asctime": "2021-01-06 22:49:03,086", + "created": 1609969743.086087, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 48879, data: \"{u'test': u'test'}\"", + "lineno": 450, + "message": "SP client: RX <- service: 17, data_id: 35, status: service or data unknown, data: \"u'msg2_data_to_be_transfered'\"", "module": "__init__", - "msecs": 966.4959907531738, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 86.08698844909668, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 3736.098051071167, - "thread": 139911118194432, - "threadName": "Thread-13" + "relativeCreated": 6250.902891159058, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "response_data_method" + "SP client:", + "status: service or data unknown" ], - "asctime": "2020-12-26 10:11:33,967", - "created": 1608973893.96701, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", - "module": "__init__", - "msecs": 967.0100212097168, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3736.61208152771, - "thread": 139911118194432, - "threadName": "Thread-13" - }, - { - "args": [ - " SP server:", - 5, - 11, - 48879, - "[1, 3, u's']" - ], - "asctime": "2020-12-26 10:11:33,967", - "created": 1608973893.967339, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 48879, data: \"[1, 3, u's']\"", - "module": "__init__", - "msecs": 967.339038848877, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3736.94109916687, - "thread": 139911118194432, - "threadName": "Thread-13" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:33,968", - "created": 1608973893.968068, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 0e 05 f1 49", - "module": "test_helpers", - "msecs": 968.0678844451904, - "msg": "Send data: (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 0e 05 f1 49", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3737.6699447631836, - "thread": 139911118194432, - "threadName": "Thread-13" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:34,119", - "created": 1608973894.119508, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 0e 05 f1 49", - "module": "test_helpers", - "msecs": 119.50802803039551, - "msg": "Receive data (74): 7b 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 7d 0e 05 f1 49", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3889.1100883483887, - "thread": 139911126587136, - "threadName": "Thread-14" - }, - { - "args": [ - " SP server:", - "5", - "11", - "48879", - "[1, 3, u's']" - ], - "asctime": "2020-12-26 10:11:34,120", - "created": 1608973894.120013, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 48879, data: \"[1, 3, u's']\"", - "module": "__init__", - "msecs": 120.01299858093262, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 3889.615058898926, - "thread": 139911126587136, - "threadName": "Thread-14" - }, - { - "args": [ - " SP server:", - "Operation not permitted" - ], - "asctime": "2020-12-26 10:11:34,120", - "created": 1608973894.120309, + "asctime": "2021-01-06 22:49:03,086", + "created": 1609969743.086288, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "WARNING", "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: service or data unknown", "module": "__init__", - "msecs": 120.30911445617676, - "msg": "%s Received message has a peculiar status: %s", + "msecs": 86.2879753112793, + "msg": "%s RX <- Message has a peculiar status: %s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 3889.91117477417, - "thread": 139911126587136, - "threadName": "Thread-14" + "relativeCreated": 6251.10387802124, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP client:" ], - "asctime": "2020-12-26 10:11:34,120", - "created": 1608973894.120533, + "asctime": "2021-01-06 22:49:03,086", + "created": 1609969743.086519, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__buffer_received_data__", "levelname": "DEBUG", "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", "module": "__init__", - "msecs": 120.53298950195312, + "msecs": 86.51900291442871, "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 3890.1350498199463, - "thread": 139911126587136, - "threadName": "Thread-14" + "relativeCreated": 6251.33490562439, + "thread": 140012350113600, + "threadName": "MainThread" } ], - "msecs": 316.3421154022217, - "msg": "Send and received data by pure_json_protocol. Wildcard callback registerd for service_id.", + "msecs": 187.04509735107422, + "msg": "Transfering a message server -> client", "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260862, + "pathname": "src/tests/test_communication.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 4085.944175720215, - "thread": 139911147616064, + "relativeCreated": 6351.861000061035, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.19580912590026855 + "time_consumption": 0.10052609443664551 }, { "args": [ "True", "" ], - "asctime": "2020-12-26 10:11:34,317", - "created": 1608973894.317314, + "asctime": "2021-01-06 22:49:03,187", + "created": 1609969743.187921, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of send method", + "Returnvalue of Server send Method", "True", "" ], - "asctime": "2020-12-26 10:11:34,316", - "created": 1608973894.316928, + "asctime": "2021-01-06 22:49:03,187", + "created": 1609969743.187532, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -12819,26 +17927,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of send method): True ()", + "message": "Result (Returnvalue of Server send Method): True ()", "module": "test", - "msecs": 316.9279098510742, + "msecs": 187.5319480895996, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 4086.5299701690674, - "thread": 139911147616064, + "relativeCreated": 6352.347850799561, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return value of send method", + "Returnvalue of Server send Method", "True", "" ], - "asctime": "2020-12-26 10:11:34,317", - "created": 1608973894.317136, + "asctime": "2021-01-06 22:49:03,187", + "created": 1609969743.187736, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -12846,55 +17954,55 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", + "message": "Expectation (Returnvalue of Server send Method): result = True ()", "module": "test", - "msecs": 317.1360492706299, + "msecs": 187.73603439331055, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 4086.738109588623, - "thread": 139911147616064, + "relativeCreated": 6352.5519371032715, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 317.31390953063965, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "msecs": 187.92104721069336, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 4086.915969848633, - "thread": 139911147616064, + "relativeCreated": 6352.736949920654, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00017786026000976562 + "time_consumption": 0.0001850128173828125 }, { "args": [ - "0", - "" + "{u'status': 4, u'service_id': 17, u'data': u'msg2_data_to_be_transfered', u'data_id': 35}", + "" ], - "asctime": "2020-12-26 10:11:34,317", - "created": 1608973894.317914, + "asctime": "2021-01-06 22:49:03,188", + "created": 1609969743.188621, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via pure_json_protocol is correct (Content 0 and Type is ).", + "lineno": 144, + "message": "Received message on client side is correct (Content {u'status': 4, u'service_id': 17, u'data': u'msg2_data_to_be_transfered', u'data_id': 35} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" + "Received message on client side", + "{u'status': 4, u'service_id': 17, u'data': u'msg2_data_to_be_transfered', u'data_id': 35}", + "" ], - "asctime": "2020-12-26 10:11:34,317", - "created": 1608973894.31759, + "asctime": "2021-01-06 22:49:03,188", + "created": 1609969743.188217, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -12902,26 +18010,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Request Status (Okay) transfered via pure_json_protocol): 0 ()", + "message": "Result (Received message on client side): {u'status': 4, u'service_id': 17, u'data': u'msg2_data_to_be_transfered', u'data_id': 35} ()", "module": "test", - "msecs": 317.58999824523926, + "msecs": 188.2169246673584, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 4087.1920585632324, - "thread": 139911147616064, + "relativeCreated": 6353.032827377319, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" + "Received message on client side", + "{'status': 4, 'service_id': 17, 'data': 'msg2_data_to_be_transfered', 'data_id': 35}", + "" ], - "asctime": "2020-12-26 10:11:34,317", - "created": 1608973894.317753, + "asctime": "2021-01-06 22:49:03,188", + "created": 1609969743.188402, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -12929,1251 +18037,1513 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via pure_json_protocol): result = 0 ()", + "message": "Expectation (Received message on client side): result = {'status': 4, 'service_id': 17, 'data': 'msg2_data_to_be_transfered', 'data_id': 35} ()", "module": "test", - "msecs": 317.7530765533447, + "msecs": 188.4019374847412, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 4087.355136871338, - "thread": 139911147616064, + "relativeCreated": 6353.217840194702, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 317.9140090942383, - "msg": "Request Status (Okay) transfered via pure_json_protocol is correct (Content %s and Type is %s).", + "msecs": 188.62104415893555, + "msg": "Received message on client side is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 4087.5160694122314, - "thread": 139911147616064, + "relativeCreated": 6353.4369468688965, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.0001609325408935547 - }, - { - "args": [ - "{u'test': u'test'}", - "" - ], - "asctime": "2020-12-26 10:11:34,318", - "created": 1608973894.31856, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via pure_json_protocol is correct (Content {u'test': u'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ u'test': u'test' }", - "" - ], - "asctime": "2020-12-26 10:11:34,318", - "created": 1608973894.318185, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via pure_json_protocol): { u'test': u'test' } ()", - "module": "test", - "msecs": 318.18509101867676, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4087.78715133667, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ u'test': u'test' }", - "" - ], - "asctime": "2020-12-26 10:11:34,318", - "created": 1608973894.31835, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via pure_json_protocol): result = { u'test': u'test' } ()", - "module": "test", - "msecs": 318.35007667541504, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4087.952136993408, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 318.5598850250244, - "msg": "Request Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4088.1619453430176, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.000209808349609375 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:34,319", - "created": 1608973894.319147, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:34,318", - "created": 1608973894.318829, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via pure_json_protocol): 5 ()", - "module": "test", - "msecs": 318.8290596008301, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4088.4311199188232, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:34,318", - "created": 1608973894.318984, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via pure_json_protocol): result = 5 ()", - "module": "test", - "msecs": 318.9840316772461, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4088.5860919952393, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 319.14710998535156, - "msg": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4088.7491703033447, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00016307830810546875 - }, - { - "args": [ - "[1, 3, u's']", - "" - ], - "asctime": "2020-12-26 10:11:34,319", - "created": 1608973894.319803, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via pure_json_protocol is correct (Content [1, 3, u's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:34,319", - "created": 1608973894.319413, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via pure_json_protocol): [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 319.4129467010498, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4089.015007019043, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:34,319", - "created": 1608973894.31959, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via pure_json_protocol): result = [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 319.59009170532227, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4089.1921520233154, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 319.80299949645996, - "msg": "Response Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4089.405059814453, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0002129077911376953 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:34,421", - "created": 1608973894.421218, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "48879" - ], - "asctime": "2020-12-26 10:11:34,420", - "created": 1608973894.420416, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 420.41611671447754, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4190.018177032471, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:34,420", - "created": 1608973894.420808, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 420.8080768585205, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4190.410137176514, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:34,421", - "created": 1608973894.421031, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 421.03099822998047, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4190.633058547974, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 421.2179183959961, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4190.819978713989, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.000186920166015625 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:34,522", - "created": 1608973894.522621, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "48879" - ], - "asctime": "2020-12-26 10:11:34,521", - "created": 1608973894.521891, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 521.8911170959473, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4291.49317741394, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:34,522", - "created": 1608973894.522247, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 522.2470760345459, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4291.849136352539, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:34,522", - "created": 1608973894.522442, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 522.442102432251, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4292.044162750244, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 522.6209163665771, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 4292.22297668457, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00017881393432617188 + "time_consumption": 0.00021910667419433594 } ], - "thread": 139911147616064, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.7097039222717285, - "time_finished": "2020-12-26 10:11:34,522", - "time_start": "2020-12-26 10:11:33,812" + "time_consumption": 1.3361120223999023, + "time_finished": "2021-01-06 22:49:03,188", + "time_start": "2021-01-06 22:49:01,852" }, - "socket_protocol.struct_json_protocol: Send and receive check (Twice for coverage of buffer initialisation).": { + "_Tb-78E4LEeupHeIYRnC0qw": { "args": null, - "asctime": "2020-12-26 10:11:35,950", - "created": 1608973895.950039, + "asctime": "2021-01-06 22:49:09,007", + "created": 1609969749.007999, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "testrun", "levelname": "INFO", "levelno": 20, - "lineno": 33, - "message": "socket_protocol.struct_json_protocol: Send and receive check (Twice for coverage of buffer initialisation).", + "lineno": 46, + "message": "_Tb-78E4LEeupHeIYRnC0qw", "module": "__init__", "moduleLogger": [], - "msecs": 950.0389099121094, - "msg": "socket_protocol.struct_json_protocol: Send and receive check (Twice for coverage of buffer initialisation).", + "msecs": 7.998943328857422, + "msg": "_Tb-78E4LEeupHeIYRnC0qw", "name": "__tLogger__", "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5719.6409702301025, + "relativeCreated": 12172.814846038818, "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:36,958", - "created": 1608973896.958379, + "asctime": "2021-01-06 22:49:09,014", + "created": 1609969749.014265, "exc_info": null, "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "send_n_receive", + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", "levelname": "DEBUG", "levelno": 10, - "lineno": 42, - "message": "Send and received data by struct_json_protocol.", - "module": "test_normal_operation", + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", "moduleLogger": [ { "args": [ - " SP server:" + "SP server:" ], - "asctime": "2020-12-26 10:11:35,950", - "created": 1608973895.950675, + "asctime": "2021-01-06 22:49:09,008", + "created": 1609969749.008398, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 950.6750106811523, + "msecs": 8.398056030273438, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5720.2770709991455, - "thread": 139911147616064, + "relativeCreated": 12173.213958740234, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:35,951", - "created": 1608973895.951222, + "asctime": "2021-01-06 22:49:09,008", + "created": 1609969749.008567, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 8.567094802856445, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12173.382997512817, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,008", + "created": 1609969749.008752, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 8.752107620239258, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12173.5680103302, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,008", + "created": 1609969749.008885, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 8.884906768798828, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12173.70080947876, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,009", + "created": 1609969749.009007, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 9.006977081298828, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12173.82287979126, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,009", + "created": 1609969749.009139, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 9.139060974121094, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12173.954963684082, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,009", + "created": 1609969749.009274, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 9.274005889892578, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12174.089908599854, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,009", + "created": 1609969749.009415, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 9.414911270141602, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12174.230813980103, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,009", + "created": 1609969749.009545, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 9.545087814331055, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12174.360990524292, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,009", + "created": 1609969749.009681, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 9.680986404418945, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12174.49688911438, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,009", + "created": 1609969749.009834, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__authentification_state_reset__", "levelname": "INFO", "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "module": "__init__", - "msecs": 951.2219429016113, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "msecs": 9.834051132202148, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5720.8240032196045, - "thread": 139911147616064, + "relativeCreated": 12174.649953842163, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "channel name request", + "channel name response" ], - "asctime": "2020-12-26 10:11:35,951", - "created": 1608973895.951663, + "asctime": "2021-01-06 22:49:09,009", + "created": 1609969749.00999, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 9.98997688293457, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12174.805879592896, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,010", + "created": 1609969749.010138, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 10.13803482055664, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12174.953937530518, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,010", + "created": 1609969749.010277, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 10.277032852172852, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12175.092935562134, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,010", + "created": 1609969749.01042, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 10.420083999633789, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12175.235986709595, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,010", + "created": 1609969749.010561, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 10.560989379882812, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12175.376892089844, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,010", + "created": 1609969749.010695, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 10.69498062133789, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12175.510883331299, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,010", + "created": 1609969749.010829, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 10.828971862792969, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12175.644874572754, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,010", + "created": 1609969749.010954, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 10.953903198242188, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12175.769805908203, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,011", + "created": 1609969749.011081, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 11.08098030090332, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12175.896883010864, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,011", + "created": 1609969749.011397, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", "module": "__init__", - "msecs": 951.6630172729492, + "msecs": 11.39688491821289, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5721.265077590942, - "thread": 139911147616064, + "relativeCreated": 12176.212787628174, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP client:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:35,952", - "created": 1608973895.952078, + "asctime": "2021-01-06 22:49:09,011", + "created": 1609969749.011548, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 11.548042297363281, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12176.363945007324, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,011", + "created": 1609969749.011729, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 11.729001998901367, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12176.544904708862, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,011", + "created": 1609969749.011863, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 11.862993240356445, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12176.678895950317, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,012", + "created": 1609969749.012, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 12.000083923339844, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12176.8159866333, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,012", + "created": 1609969749.012127, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 12.126922607421875, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12176.942825317383, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,012", + "created": 1609969749.012275, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 12.274980545043945, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12177.090883255005, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,012", + "created": 1609969749.012425, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 12.424945831298828, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12177.24084854126, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,012", + "created": 1609969749.012581, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 12.581110000610352, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12177.397012710571, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,012", + "created": 1609969749.012728, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 12.727975845336914, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12177.543878555298, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,012", + "created": 1609969749.012852, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__authentification_state_reset__", "levelname": "INFO", "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "module": "__init__", - "msecs": 952.078104019165, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "msecs": 12.851953506469727, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5721.680164337158, - "thread": 139911147616064, + "relativeCreated": 12177.66785621643, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:", - 0, - 10, - 45054, - "{u'test': u'test'}" + "SP client:", + "channel name request", + "channel name response" ], - "asctime": "2020-12-26 10:11:35,952", - "created": 1608973895.952381, + "asctime": "2021-01-06 22:49:09,012", + "created": 1609969749.012999, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", "module": "__init__", - "msecs": 952.380895614624, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", + "msecs": 12.99905776977539, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5721.982955932617, - "thread": 139911147616064, + "relativeCreated": 12177.814960479736, + "thread": 140012350113600, "threadName": "MainThread" }, - { - "args": [], - "asctime": "2020-12-26 10:11:35,952", - "created": 1608973895.952889, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "module": "test_helpers", - "msecs": 952.8889656066895, - "msg": "Send data: (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 5722.491025924683, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:36,104", - "created": 1608973896.104578, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "module": "test_helpers", - "msecs": 104.57801818847656, - "msg": "Receive data (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 5874.18007850647, - "thread": 139911126587136, - "threadName": "Thread-19" - }, { "args": [ - " SP server:", - "0", + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,013", + "created": 1609969749.013145, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 13.144969940185547, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12177.960872650146, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,013", + "created": 1609969749.013305, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 13.304948806762695, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12178.120851516724, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,013", + "created": 1609969749.013448, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 13.447999954223633, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12178.263902664185, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,013", + "created": 1609969749.013589, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 13.588905334472656, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12178.404808044434, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,013", + "created": 1609969749.01373, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 13.730049133300781, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12178.545951843262, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,013", + "created": 1609969749.013873, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 13.873100280761719, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12178.689002990723, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,013", + "created": 1609969749.013999, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 13.998985290527344, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12178.814888000488, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,014", + "created": 1609969749.014125, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 14.12510871887207, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12178.941011428833, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 14.265060424804688, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12179.080963134766, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001399517059326172 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,014", + "created": 1609969749.014693, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "all_did_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 131, + "message": "Registering a correct working Callback", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback__'", "10", - "45054", - "{u'test': u'test'}" + "None" ], - "asctime": "2020-12-26 10:11:36,105", - "created": 1608973896.105678, + "asctime": "2021-01-06 22:49:09,014", + "created": 1609969749.01456, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", - "module": "__init__", - "msecs": 105.67808151245117, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 5875.280141830444, - "thread": 139911126587136, - "threadName": "Thread-19" - }, - { - "args": [ - " SP server:", - "response_data_method" - ], - "asctime": "2020-12-26 10:11:36,106", - "created": 1608973896.106099, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", + "funcName": "add", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", + "lineno": 160, + "message": "SP server: Adding callback '__callback__' for SID=10 and DID=None", "module": "__init__", - "msecs": 106.09889030456543, - "msg": "%s Executing callback %s to process received data", + "msecs": 14.55998420715332, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5875.700950622559, - "thread": 139911126587136, - "threadName": "Thread-19" - }, + "relativeCreated": 12179.375886917114, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 14.693021774291992, + "msg": "Registering a correct working Callback", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12179.508924484253, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00013303756713867188 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,117", + "created": 1609969749.117766, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "all_did_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 134, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ { "args": [ - " SP server:", - 5, - 11, - 45054, - "[1, 3, u's']" + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" ], - "asctime": "2020-12-26 10:11:36,106", - "created": 1608973896.106448, + "asctime": "2021-01-06 22:49:09,014", + "created": 1609969749.014924, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, u's']\"", + "lineno": 719, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", "module": "__init__", - "msecs": 106.44793510437012, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 14.924049377441406, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5876.049995422363, - "thread": 139911126587136, - "threadName": "Thread-19" + "relativeCreated": 12179.739952087402, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:36,106", - "created": 1608973896.106899, + "asctime": "2021-01-06 22:49:09,015", + "created": 1609969749.015295, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", "module": "test_helpers", - "msecs": 106.89902305603027, - "msg": "Send data: (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", + "msecs": 15.295028686523438, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 5876.501083374023, - "thread": 139911126587136, - "threadName": "Thread-19" + "relativeCreated": 12180.110931396484, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:36,257", - "created": 1608973896.257943, + "asctime": "2021-01-06 22:49:09,015", + "created": 1609969749.015569, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", "module": "test_helpers", - "msecs": 257.94291496276855, - "msg": "Receive data (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", + "msecs": 15.568971633911133, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6027.544975280762, - "thread": 139911118194432, - "threadName": "Thread-20" + "relativeCreated": 12180.384874343872, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "5", - "11", - "45054", - "[1, 3, u's']" + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" ], - "asctime": "2020-12-26 10:11:36,258", - "created": 1608973896.258374, + "asctime": "2021-01-06 22:49:09,015", + "created": 1609969749.015811, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, u's']\"", + "lineno": 450, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", "module": "__init__", - "msecs": 258.3739757537842, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 15.810966491699219, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6027.976036071777, - "thread": 139911118194432, - "threadName": "Thread-20" + "relativeCreated": 12180.62686920166, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "Operation not permitted" + "SP server:", + "__callback__" ], - "asctime": "2020-12-26 10:11:36,258", - "created": 1608973896.2586, + "asctime": "2021-01-06 22:49:09,015", + "created": 1609969749.015979, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback__ to process received data", "module": "__init__", - "msecs": 258.59999656677246, - "msg": "%s Received message has a peculiar status: %s", + "msecs": 15.97905158996582, + "msg": "%s RX <- Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6028.202056884766, - "thread": 139911118194432, - "threadName": "Thread-20" + "relativeCreated": 12180.794954299927, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: read data response, data_id: 0", + "status: okay", + "33" ], - "asctime": "2020-12-26 10:11:36,258", - "created": 1608973896.258757, + "asctime": "2021-01-06 22:49:09,016", + "created": 1609969749.016154, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 16.154050827026367, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12180.969953536987, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,016", + "created": 1609969749.016487, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "module": "test_helpers", + "msecs": 16.48688316345215, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12181.302785873413, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,016", + "created": 1609969749.016755, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "module": "test_helpers", + "msecs": 16.755104064941406, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12181.571006774902, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:09,016", + "created": 1609969749.016987, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 16.987085342407227, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12181.802988052368, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,017", + "created": 1609969749.017176, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__buffer_received_data__", "levelname": "DEBUG", "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", "module": "__init__", - "msecs": 258.7571144104004, + "msecs": 17.175912857055664, "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6028.359174728394, - "thread": 139911118194432, - "threadName": "Thread-20" - }, - { - "args": [ - " SP server:", - 0, - 10, - 45054, - "{u'test': u'test'}" - ], - "asctime": "2020-12-26 10:11:36,455", - "created": 1608973896.455869, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", - "module": "__init__", - "msecs": 455.8689594268799, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6225.471019744873, - "thread": 139911147616064, + "relativeCreated": 12181.991815567017, + "thread": 140012350113600, "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:36,456", - "created": 1608973896.456453, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "module": "test_helpers", - "msecs": 456.4530849456787, - "msg": "Send data: (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6226.055145263672, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:36,607", - "created": 1608973896.607618, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "module": "test_helpers", - "msecs": 607.6180934906006, - "msg": "Receive data (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6377.220153808594, - "thread": 139911118194432, - "threadName": "Thread-21" - }, - { - "args": [ - " SP server:", - "0", - "10", - "45054", - "{u'test': u'test'}" - ], - "asctime": "2020-12-26 10:11:36,608", - "created": 1608973896.608246, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", - "module": "__init__", - "msecs": 608.2460880279541, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6377.848148345947, - "thread": 139911118194432, - "threadName": "Thread-21" - }, - { - "args": [ - " SP server:", - "response_data_method" - ], - "asctime": "2020-12-26 10:11:36,608", - "created": 1608973896.60887, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", - "module": "__init__", - "msecs": 608.8700294494629, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6378.472089767456, - "thread": 139911118194432, - "threadName": "Thread-21" - }, - { - "args": [ - " SP server:", - 5, - 11, - 45054, - "[1, 3, u's']" - ], - "asctime": "2020-12-26 10:11:36,609", - "created": 1608973896.609421, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, u's']\"", - "module": "__init__", - "msecs": 609.4210147857666, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6379.02307510376, - "thread": 139911118194432, - "threadName": "Thread-21" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:36,609", - "created": 1608973896.609891, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", - "module": "test_helpers", - "msecs": 609.8909378051758, - "msg": "Send data: (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6379.492998123169, - "thread": 139911118194432, - "threadName": "Thread-21" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:36,761", - "created": 1608973896.761667, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", - "module": "test_helpers", - "msecs": 761.667013168335, - "msg": "Receive data (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6531.269073486328, - "thread": 139911126587136, - "threadName": "Thread-22" - }, - { - "args": [ - " SP server:", - "5", - "11", - "45054", - "[1, 3, u's']" - ], - "asctime": "2020-12-26 10:11:36,762", - "created": 1608973896.762242, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, u's']\"", - "module": "__init__", - "msecs": 762.2420787811279, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6531.844139099121, - "thread": 139911126587136, - "threadName": "Thread-22" - }, - { - "args": [ - " SP server:", - "Operation not permitted" - ], - "asctime": "2020-12-26 10:11:36,762", - "created": 1608973896.762544, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", - "module": "__init__", - "msecs": 762.5439167022705, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6532.145977020264, - "thread": 139911126587136, - "threadName": "Thread-22" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:36,762", - "created": 1608973896.762776, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__buffer_received_data__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", - "module": "__init__", - "msecs": 762.7758979797363, - "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6532.3779582977295, - "thread": 139911126587136, - "threadName": "Thread-22" } ], - "msecs": 958.3790302276611, - "msg": "Send and received data by struct_json_protocol.", + "msecs": 117.76590347290039, + "msg": "Transfering data", "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260862, + "pathname": "src/tests/test_callbacks.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6727.981090545654, - "thread": 139911147616064, + "relativeCreated": 12282.581806182861, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.1956031322479248 + "time_consumption": 0.10058999061584473 }, { "args": [ - "True", - "" + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" ], - "asctime": "2020-12-26 10:11:36,959", - "created": 1608973896.959177, + "asctime": "2021-01-06 22:49:09,119", + "created": 1609969749.119193, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", + "lineno": 144, + "message": "Message stored inside callback is correct (Content {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of send method", - "True", - "" + "Message stored inside callback", + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" ], - "asctime": "2020-12-26 10:11:36,958", - "created": 1608973896.958841, + "asctime": "2021-01-06 22:49:09,118", + "created": 1609969749.118508, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -14181,26 +19551,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of send method): True ()", + "message": "Result (Message stored inside callback): {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} ()", "module": "test", - "msecs": 958.84108543396, + "msecs": 118.50810050964355, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6728.443145751953, - "thread": 139911147616064, + "relativeCreated": 12283.324003219604, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return value of send method", - "True", - "" + "Message stored inside callback", + "{'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0}", + "" ], - "asctime": "2020-12-26 10:11:36,959", - "created": 1608973896.959045, + "asctime": "2021-01-06 22:49:09,118", + "created": 1609969749.118854, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -14208,55 +19578,55 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", + "message": "Expectation (Message stored inside callback): result = {'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0} ()", "module": "test", - "msecs": 959.0449333190918, + "msecs": 118.85404586791992, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6728.646993637085, - "thread": 139911147616064, + "relativeCreated": 12283.66994857788, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 959.1770172119141, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "msecs": 119.19307708740234, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6728.779077529907, - "thread": 139911147616064, + "relativeCreated": 12284.008979797363, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00013208389282226562 + "time_consumption": 0.0003390312194824219 }, { "args": [ - "0", - "" + "{u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0}", + "" ], - "asctime": "2020-12-26 10:11:36,959", - "created": 1608973896.959597, + "asctime": "2021-01-06 22:49:09,120", + "created": 1609969749.120229, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via struct_json_protocol is correct (Content 0 and Type is ).", + "lineno": 144, + "message": "Message received by client is correct (Content {u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Request Status (Okay) transfered via struct_json_protocol", - "0", - "" + "Message received by client", + "{u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0}", + "" ], - "asctime": "2020-12-26 10:11:36,959", - "created": 1608973896.959373, + "asctime": "2021-01-06 22:49:09,119", + "created": 1609969749.119644, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -14264,26 +19634,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Request Status (Okay) transfered via struct_json_protocol): 0 ()", + "message": "Result (Message received by client): {u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0} ()", "module": "test", - "msecs": 959.3729972839355, + "msecs": 119.6439266204834, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6728.975057601929, - "thread": 139911147616064, + "relativeCreated": 12284.459829330444, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Request Status (Okay) transfered via struct_json_protocol", - "0", - "" + "Message received by client", + "{'status': 0, 'service_id': 11, 'data': 33, 'data_id': 0}", + "" ], - "asctime": "2020-12-26 10:11:36,959", - "created": 1608973896.95949, + "asctime": "2021-01-06 22:49:09,119", + "created": 1609969749.119923, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -14291,512 +19661,41 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via struct_json_protocol): result = 0 ()", + "message": "Expectation (Message received by client): result = {'status': 0, 'service_id': 11, 'data': 33, 'data_id': 0} ()", "module": "test", - "msecs": 959.4900608062744, + "msecs": 119.92311477661133, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6729.092121124268, - "thread": 139911147616064, + "relativeCreated": 12284.739017486572, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 959.597110748291, - "msg": "Request Status (Okay) transfered via struct_json_protocol is correct (Content %s and Type is %s).", + "msecs": 120.22900581359863, + "msg": "Message received by client is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 6729.199171066284, - "thread": 139911147616064, + "relativeCreated": 12285.04490852356, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00010704994201660156 - }, - { - "args": [ - "{u'test': u'test'}", - "" - ], - "asctime": "2020-12-26 10:11:36,960", - "created": 1608973896.960034, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via struct_json_protocol is correct (Content {u'test': u'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via struct_json_protocol", - "{ u'test': u'test' }", - "" - ], - "asctime": "2020-12-26 10:11:36,959", - "created": 1608973896.95981, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via struct_json_protocol): { u'test': u'test' } ()", - "module": "test", - "msecs": 959.8100185394287, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6729.412078857422, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via struct_json_protocol", - "{ u'test': u'test' }", - "" - ], - "asctime": "2020-12-26 10:11:36,959", - "created": 1608973896.959915, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via struct_json_protocol): result = { u'test': u'test' } ()", - "module": "test", - "msecs": 959.9149227142334, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6729.516983032227, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 960.0338935852051, - "msg": "Request Data transfered via struct_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6729.635953903198, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00011897087097167969 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:36,960", - "created": 1608973896.960384, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via struct_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via struct_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:36,960", - "created": 1608973896.960192, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via struct_json_protocol): 5 ()", - "module": "test", - "msecs": 960.1919651031494, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6729.794025421143, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via struct_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:36,960", - "created": 1608973896.960283, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via struct_json_protocol): result = 5 ()", - "module": "test", - "msecs": 960.2830410003662, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6729.885101318359, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 960.3838920593262, - "msg": "Response Status (Operation not permitted) transfered via struct_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6729.985952377319, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00010085105895996094 - }, - { - "args": [ - "[1, 3, u's']", - "" - ], - "asctime": "2020-12-26 10:11:36,960", - "created": 1608973896.960881, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via struct_json_protocol is correct (Content [1, 3, u's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via struct_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:36,960", - "created": 1608973896.960548, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via struct_json_protocol): [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 960.547924041748, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6730.149984359741, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via struct_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:36,960", - "created": 1608973896.960653, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via struct_json_protocol): result = [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 960.6530666351318, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6730.255126953125, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 960.8809947967529, - "msg": "Response Data transfered via struct_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6730.483055114746, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00022792816162109375 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:37,065", - "created": 1608973897.065372, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:37,064", - "created": 1608973897.064874, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 64.87393379211426, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6834.475994110107, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:37,065", - "created": 1608973897.065136, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 65.13595581054688, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6834.73801612854, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:37,065", - "created": 1608973897.065277, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 65.277099609375, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6834.879159927368, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 65.37199020385742, - "msg": "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6834.974050521851, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 9.489059448242188e-05 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:37,175", - "created": 1608973897.175736, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:37,165", - "created": 1608973897.165767, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 165.76695442199707, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6935.36901473999, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:37,166", - "created": 1608973897.166042, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 166.04208946228027, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6935.644149780273, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:37,174", - "created": 1608973897.174629, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 174.62897300720215, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6944.231033325195, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 175.7359504699707, - "msg": "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 6945.338010787964, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0011069774627685547 + "time_consumption": 0.0003058910369873047 } ], - "thread": 139911147616064, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 1.2256970405578613, - "time_finished": "2020-12-26 10:11:37,175", - "time_start": "2020-12-26 10:11:35,950" + "time_consumption": 0.11223006248474121, + "time_finished": "2021-01-06 22:49:09,120", + "time_start": "2021-01-06 22:49:09,007" }, - "socket_protocol.struct_json_protocol: Send and receive check.": { + "_XzMFcHYZEem_kd-7nxt1sg": { "args": null, - "asctime": "2020-12-26 10:11:30,261", - "created": 1608973890.261294, + "asctime": "2021-01-06 22:48:56,876", + "created": 1609969736.876325, "exc_info": null, "exc_text": null, "filename": "__init__.py", @@ -14804,453 +19703,3241 @@ "levelname": "INFO", "levelno": 20, "lineno": 26, - "message": "socket_protocol.struct_json_protocol: Send and receive check.", + "message": "_XzMFcHYZEem_kd-7nxt1sg", "module": "__init__", "moduleLogger": [], - "msecs": 261.293888092041, - "msg": "socket_protocol.struct_json_protocol: Send and receive check.", + "msecs": 876.3248920440674, + "msg": "_XzMFcHYZEem_kd-7nxt1sg", "name": "__tLogger__", "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 30.89594841003418, + "relativeCreated": 41.14079475402832, "testcaseLogger": [ { - "args": [], - "asctime": "2020-12-26 10:11:30,764", - "created": 1608973890.764025, + "args": [ + "{'status': None, 'service_id': None, 'data': None, 'data_id': None}" + ], + "asctime": "2021-01-06 22:48:56,876", + "created": 1609969736.87652, "exc_info": null, "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "send_n_receive", + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", "levelname": "DEBUG", "levelno": 10, - "lineno": 42, - "message": "Send and received data by struct_json_protocol.", - "module": "test_normal_operation", + "lineno": 10, + "message": "Creating empty message object: {'status': None, 'service_id': None, 'data': None, 'data_id': None}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 876.5199184417725, + "msg": "Creating empty message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 41.3358211517334, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'status'" + ], + "asctime": "2021-01-06 22:48:56,876", + "created": 1609969736.876769, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "status is part of the message object is correct ('status' is in the list or dict).", + "module": "test", "moduleLogger": [ { "args": [ - " SP server:" + "status is part of the message object", + "{'status': None, 'service_id': None, 'data': None, 'data_id': None}", + "" ], - "asctime": "2020-12-26 10:11:30,261", - "created": 1608973890.261547, + "asctime": "2021-01-06 22:48:56,876", + "created": 1609969736.876669, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (status is part of the message object): {'status': None, 'service_id': None, 'data': None, 'data_id': None} ()", + "module": "test", + "msecs": 876.6689300537109, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 41.484832763671875, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "status is part of the message object", + "'status'" + ], + "asctime": "2021-01-06 22:48:56,876", + "created": 1609969736.876723, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (status is part of the message object): 'status' in result", + "module": "test", + "msecs": 876.723051071167, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 41.53895378112793, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 876.7690658569336, + "msg": "status is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 41.58496856689453, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.601478576660156e-05 + }, + { + "args": [ + "{'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'}" + ], + "asctime": "2021-01-06 22:48:56,876", + "created": 1609969736.876848, + "exc_info": null, + "exc_text": null, + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Creating a maximum message object: {'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 876.8479824066162, + "msg": "Creating a maximum message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 41.66388511657715, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'status'" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.877013, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "status is part of the message object is correct ('status' is in the list or dict).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "status is part of the message object", + "{'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'}", + "" + ], + "asctime": "2021-01-06 22:48:56,876", + "created": 1609969736.87692, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (status is part of the message object): {'status': 'S', 'service_id': 'SID', 'data': 'D', 'data_id': 'DID'} ()", + "module": "test", + "msecs": 876.9199848175049, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 41.73588752746582, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "status is part of the message object", + "'status'" + ], + "asctime": "2021-01-06 22:48:56,876", + "created": 1609969736.876974, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (status is part of the message object): 'status' in result", + "module": "test", + "msecs": 876.9741058349609, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 41.790008544921875, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 877.0129680633545, + "msg": "status is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 41.82887077331543, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 3.886222839355469e-05 + }, + { + "args": [ + "'S'", + "" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.877169, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Content in message object for status is correct (Content 'S' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Content in message object for status", + "'S'", + "" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.877088, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Content in message object for status): 'S' ()", + "module": "test", + "msecs": 877.0880699157715, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 41.90397262573242, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Content in message object for status", + "'S'", + "" + ], + "asctime": "2021-01-06 22:48:56,877", + "created": 1609969736.877129, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Content in message object for status): result = 'S' ()", + "module": "test", + "msecs": 877.129077911377, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 41.94498062133789, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 877.1688938140869, + "msg": "Content in message object for status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 41.98479652404785, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 3.981590270996094e-05 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0008440017700195312, + "time_finished": "2021-01-06 22:48:56,877", + "time_start": "2021-01-06 22:48:56,876" + }, + "_YfrfUE4LEeupHeIYRnC0qw": { + "args": null, + "asctime": "2021-01-06 22:49:09,121", + "created": 1609969749.121299, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 47, + "message": "_YfrfUE4LEeupHeIYRnC0qw", + "module": "__init__", + "moduleLogger": [], + "msecs": 121.29902839660645, + "msg": "_YfrfUE4LEeupHeIYRnC0qw", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12286.114931106567, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:09,125", + "created": 1609969749.125898, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,121", + "created": 1609969749.121645, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 261.5470886230469, + "msecs": 121.64497375488281, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 31.14914894104004, - "thread": 139911147616064, + "relativeCreated": 12286.460876464844, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:30,261", - "created": 1608973890.261833, + "asctime": "2021-01-06 22:49:09,121", + "created": 1609969749.121767, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 261.83295249938965, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 31.435012817382812, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:30,261", - "created": 1608973890.261954, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", + "funcName": "add_service", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", "module": "__init__", - "msecs": 261.95406913757324, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", + "msecs": 121.76704406738281, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 31.556129455566406, - "thread": 139911147616064, + "relativeCreated": 12286.582946777344, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: authentification request, data_id: seed" ], - "asctime": "2020-12-26 10:11:30,262", - "created": 1608973890.262067, + "asctime": "2021-01-06 22:49:09,121", + "created": 1609969749.121936, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", "module": "__init__", - "msecs": 262.0670795440674, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", + "msecs": 121.93608283996582, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 31.669139862060547, - "thread": 139911147616064, + "relativeCreated": 12286.751985549927, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:", - 0, - 10, - 45054, - "{u'test': u'test'}" + "SP server:", + "service: authentification response, data_id: seed" ], - "asctime": "2020-12-26 10:11:30,262", - "created": 1608973890.262144, + "asctime": "2021-01-06 22:49:09,122", + "created": 1609969749.122033, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", "module": "__init__", - "msecs": 262.1440887451172, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", + "msecs": 122.03311920166016, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 31.74614906311035, - "thread": 139911147616064, + "relativeCreated": 12286.849021911621, + "thread": 140012350113600, "threadName": "MainThread" }, - { - "args": [], - "asctime": "2020-12-26 10:11:30,262", - "created": 1608973890.262264, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "module": "test_helpers", - "msecs": 262.2640132904053, - "msg": "Send data: (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 31.866073608398438, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:30,413", - "created": 1608973890.413031, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "module": "test_helpers", - "msecs": 413.03110122680664, - "msg": "Receive data (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 182.6331615447998, - "thread": 139911126587136, - "threadName": "Thread-1" - }, { "args": [ - " SP server:", + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,122", + "created": 1609969749.122128, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 122.12800979614258, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12286.943912506104, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,122", + "created": 1609969749.122229, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 122.22909927368164, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12287.045001983643, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", "0", - "10", - "45054", - "{u'test': u'test'}" + "0" ], - "asctime": "2020-12-26 10:11:30,413", - "created": 1608973890.413587, + "asctime": "2021-01-06 22:49:09,122", + "created": 1609969749.122324, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{u'test': u'test'}\"", - "module": "__init__", - "msecs": 413.5870933532715, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 183.18915367126465, - "thread": 139911126587136, - "threadName": "Thread-1" - }, - { - "args": [ - " SP server:", - "response_data_method" - ], - "asctime": "2020-12-26 10:11:30,413", - "created": 1608973890.413827, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", + "funcName": "add", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", "module": "__init__", - "msecs": 413.82694244384766, - "msg": "%s Executing callback %s to process received data", + "msecs": 122.32398986816406, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 183.42900276184082, - "thread": 139911126587136, - "threadName": "Thread-1" + "relativeCreated": 12287.139892578125, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - 5, - 11, - 45054, - "[1, 3, u's']" + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" ], - "asctime": "2020-12-26 10:11:30,414", - "created": 1608973890.414038, + "asctime": "2021-01-06 22:49:09,122", + "created": 1609969749.122398, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 122.39789962768555, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12287.213802337646, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,122", + "created": 1609969749.122511, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 122.51091003417969, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12287.32681274414, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,122", + "created": 1609969749.122625, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 122.62511253356934, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12287.44101524353, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,122", + "created": 1609969749.12269, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 122.68996238708496, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12287.505865097046, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:09,122", + "created": 1609969749.122793, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 122.79295921325684, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12287.608861923218, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,122", + "created": 1609969749.122916, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 122.91598320007324, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12287.731885910034, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,123", + "created": 1609969749.123014, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 123.01397323608398, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12287.829875946045, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,123", + "created": 1609969749.123082, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 123.08192253112793, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12287.897825241089, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,123", + "created": 1609969749.123187, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 123.18706512451172, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12288.002967834473, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,123", + "created": 1609969749.123298, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 123.29792976379395, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12288.113832473755, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,123", + "created": 1609969749.123378, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 123.37803840637207, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12288.193941116333, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,123", + "created": 1609969749.123448, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 123.44789505004883, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12288.26379776001, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,123", + "created": 1609969749.123545, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 123.54493141174316, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12288.360834121704, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,123", + "created": 1609969749.123797, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 123.79693984985352, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12288.612842559814, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:09,123", + "created": 1609969749.123913, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 123.91304969787598, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12288.728952407837, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,124", + "created": 1609969749.124055, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 124.0549087524414, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12288.870811462402, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,124", + "created": 1609969749.124164, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 124.16410446166992, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12288.98000717163, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,124", + "created": 1609969749.124262, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 124.26209449768066, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12289.077997207642, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,124", + "created": 1609969749.12436, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 124.3600845336914, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12289.175987243652, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,124", + "created": 1609969749.124465, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 124.4649887084961, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12289.280891418457, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,124", + "created": 1609969749.124586, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 124.58610534667969, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12289.40200805664, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,124", + "created": 1609969749.124698, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 124.69792366027832, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12289.51382637024, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,124", + "created": 1609969749.124808, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 124.80807304382324, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12289.623975753784, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,124", + "created": 1609969749.124906, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 124.90606307983398, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12289.721965789795, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:09,125", + "created": 1609969749.125027, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 125.02694129943848, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12289.8428440094, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,125", + "created": 1609969749.125139, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 125.13899803161621, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12289.954900741577, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,125", + "created": 1609969749.125232, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 125.23198127746582, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12290.047883987427, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,125", + "created": 1609969749.125334, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 125.33402442932129, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12290.149927139282, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,125", + "created": 1609969749.125445, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 125.44488906860352, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12290.260791778564, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,125", + "created": 1609969749.125561, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 125.56099891662598, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12290.376901626587, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,125", + "created": 1609969749.12566, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 125.65994262695312, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12290.475845336914, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,125", + "created": 1609969749.125748, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 125.7479190826416, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12290.563821792603, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,125", + "created": 1609969749.125833, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 125.83303451538086, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12290.648937225342, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 125.89788436889648, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12290.713787078857, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 6.4849853515625e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,126", + "created": 1609969749.126203, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "all_sid_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 144, + "message": "Registering a correct working Callback", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback__'", + "None", + "0" + ], + "asctime": "2021-01-06 22:49:09,126", + "created": 1609969749.126103, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback__' for SID=None and DID=0", + "module": "__init__", + "msecs": 126.10292434692383, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12290.918827056885, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 126.20306015014648, + "msg": "Registering a correct working Callback", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12291.018962860107, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00010013580322265625 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,228", + "created": 1609969749.228367, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "all_sid_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 147, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:09,126", + "created": 1609969749.126394, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, u's']\"", + "lineno": 719, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", "module": "__init__", - "msecs": 414.03794288635254, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 126.39403343200684, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 183.6400032043457, - "thread": 139911126587136, - "threadName": "Thread-1" + "relativeCreated": 12291.209936141968, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:30,414", - "created": 1608973890.414421, + "asctime": "2021-01-06 22:49:09,126", + "created": 1609969749.126684, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", "module": "test_helpers", - "msecs": 414.42108154296875, - "msg": "Send data: (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", + "msecs": 126.68395042419434, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 184.0231418609619, - "thread": 139911126587136, - "threadName": "Thread-1" + "relativeCreated": 12291.499853134155, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:30,565", - "created": 1608973890.565675, + "asctime": "2021-01-06 22:49:09,126", + "created": 1609969749.126911, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", "module": "test_helpers", - "msecs": 565.6750202178955, - "msg": "Receive data (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", + "msecs": 126.91092491149902, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 335.2770805358887, - "thread": 139911118194432, - "threadName": "Thread-2" + "relativeCreated": 12291.72682762146, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "5", - "11", - "45054", - "[1, 3, u's']" + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" ], - "asctime": "2020-12-26 10:11:30,566", - "created": 1608973890.56618, + "asctime": "2021-01-06 22:49:09,127", + "created": 1609969749.127112, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, u's']\"", + "lineno": 450, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", "module": "__init__", - "msecs": 566.1799907684326, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 127.11191177368164, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 335.7820510864258, - "thread": 139911118194432, - "threadName": "Thread-2" + "relativeCreated": 12291.927814483643, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "Operation not permitted" + "SP server:", + "__callback__" ], - "asctime": "2020-12-26 10:11:30,566", - "created": 1608973890.56647, + "asctime": "2021-01-06 22:49:09,127", + "created": 1609969749.127251, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback__ to process received data", "module": "__init__", - "msecs": 566.4699077606201, - "msg": "%s Received message has a peculiar status: %s", + "msecs": 127.25090980529785, + "msg": "%s RX <- Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 336.0719680786133, - "thread": 139911118194432, - "threadName": "Thread-2" + "relativeCreated": 12292.066812515259, + "thread": 140012350113600, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: read data response, data_id: 0", + "status: okay", + "33" ], - "asctime": "2020-12-26 10:11:30,566", - "created": 1608973890.566703, + "asctime": "2021-01-06 22:49:09,127", + "created": 1609969749.127383, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 127.38299369812012, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12292.198896408081, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,127", + "created": 1609969749.127581, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "module": "test_helpers", + "msecs": 127.58088111877441, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12292.396783828735, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,127", + "created": 1609969749.127777, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "module": "test_helpers", + "msecs": 127.777099609375, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12292.593002319336, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:09,127", + "created": 1609969749.127937, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 127.93707847595215, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12292.752981185913, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,128", + "created": 1609969749.128079, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__buffer_received_data__", "levelname": "DEBUG", "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", "module": "__init__", - "msecs": 566.7030811309814, + "msecs": 128.07893753051758, "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 336.3051414489746, - "thread": 139911118194432, - "threadName": "Thread-2" + "relativeCreated": 12292.894840240479, + "thread": 140012350113600, + "threadName": "MainThread" } ], - "msecs": 764.0249729156494, - "msg": "Send and received data by struct_json_protocol.", + "msecs": 228.36709022521973, + "msg": "Transfering data", "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260862, + "pathname": "src/tests/test_callbacks.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 533.6270332336426, - "thread": 139911147616064, + "relativeCreated": 12393.18299293518, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.19732189178466797 + "time_consumption": 0.10028815269470215 + }, + { + "args": [ + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,228", + "created": 1609969749.228986, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,228", + "created": 1609969749.228709, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message stored inside callback): {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} ()", + "module": "test", + "msecs": 228.70898246765137, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12393.524885177612, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message stored inside callback", + "{'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,228", + "created": 1609969749.228858, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message stored inside callback): result = {'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0} ()", + "module": "test", + "msecs": 228.85799407958984, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12393.67389678955, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 228.98602485656738, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12393.801927566528, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00012803077697753906 + }, + { + "args": [ + "{u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,229", + "created": 1609969749.229379, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,229", + "created": 1609969749.22917, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0} ()", + "module": "test", + "msecs": 229.1700839996338, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12393.985986709595, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'status': 0, 'service_id': 11, 'data': 33, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,229", + "created": 1609969749.229279, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'status': 0, 'service_id': 11, 'data': 33, 'data_id': 0} ()", + "module": "test", + "msecs": 229.2790412902832, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12394.094944000244, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 229.37893867492676, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12394.194841384888, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 9.989738464355469e-05 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.10807991027832031, + "time_finished": "2021-01-06 22:49:09,229", + "time_start": "2021-01-06 22:49:09,121" + }, + "_YhmzIE4lEeupHeIYRnC0qw": { + "args": null, + "asctime": "2021-01-06 22:49:09,912", + "created": 1609969749.912346, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 59, + "message": "_YhmzIE4lEeupHeIYRnC0qw", + "module": "__init__", + "moduleLogger": [], + "msecs": 912.3458862304688, + "msg": "_YhmzIE4lEeupHeIYRnC0qw", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13077.16178894043, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:09,915", + "created": 1609969749.915058, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,912", + "created": 1609969749.912677, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 912.6770496368408, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13077.492952346802, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:09,912", + "created": 1609969749.912848, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 912.8479957580566, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13077.663898468018, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,912", + "created": 1609969749.912978, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 912.977933883667, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13077.793836593628, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913039, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 913.038969039917, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13077.854871749878, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913109, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 913.1090641021729, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13077.924966812134, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913151, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 913.1510257720947, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13077.966928482056, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913203, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 913.2030010223389, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.0189037323, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913253, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 913.2530689239502, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.068971633911, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913299, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 913.2990837097168, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.114986419678, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913344, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 913.3439064025879, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.159809112549, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913385, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 913.3849143981934, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.200817108154, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913434, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 913.4340286254883, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.24993133545, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913489, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 913.4891033172607, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.305006027222, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913531, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 913.5310649871826, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.346967697144, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913575, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 913.5749340057373, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.390836715698, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913623, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 913.6230945587158, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.438997268677, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913669, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 913.6691093444824, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.485012054443, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913711, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 913.7110710144043, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.526973724365, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913753, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 913.7530326843262, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.568935394287, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913817, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 913.8169288635254, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.632831573486, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.913932, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 913.9320850372314, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.747987747192, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:09,913", + "created": 1609969749.91398, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 913.9800071716309, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.795909881592, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914038, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 914.0379428863525, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.853845596313, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914084, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 914.0839576721191, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.89986038208, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914129, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 914.1290187835693, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.94492149353, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.91417, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 914.1700267791748, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13078.985929489136, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914217, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 914.2169952392578, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.032897949219, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914265, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 914.2649173736572, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.080820083618, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914311, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 914.3109321594238, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.126834869385, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914355, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 914.3550395965576, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.170942306519, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914397, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 914.3970012664795, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.21290397644, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914445, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 914.4449234008789, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.26082611084, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914496, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 914.4959449768066, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.311847686768, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914538, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 914.5379066467285, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.35380935669, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914582, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 914.5820140838623, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.397916793823, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914626, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 914.625883102417, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.441785812378, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914854, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 914.8540496826172, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.669952392578, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914907, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 914.9069786071777, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.722881317139, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914953, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 914.9529933929443, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.768896102905, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,914", + "created": 1609969749.914997, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 914.9971008300781, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.813003540039, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 915.057897567749, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13079.87380027771, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 6.079673767089844e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:10,217", + "created": 1609969750.217157, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "send_message_with_invalid_checksum", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 70, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:09,915", + "created": 1609969749.915188, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 915.1880741119385, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13080.0039768219, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,915", + "created": 1609969749.915314, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (41): 00 00 00 00 00 00 00 11 00 00 00 22 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d", + "module": "test_helpers", + "msecs": 915.3139591217041, + "msg": "Send data: (41): 00 00 00 00 00 00 00 11 00 00 00 22 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13080.129861831665, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,915", + "created": 1609969749.915389, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (41): 00 00 00 00 00 00 00 11 00 00 00 22 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7e", + "module": "test_helpers", + "msecs": 915.3890609741211, + "msg": "Receive data (41): 00 00 00 00 00 00 00 11 00 00 00 22 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7e", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13080.204963684082, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,915", + "created": 1609969749.915487, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 432, + "message": "SP server: RX <- Received message has a wrong checksum. Message will be ignored.", + "module": "__init__", + "msecs": 915.4870510101318, + "msg": "%s RX <- Received message has a wrong checksum. Message will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13080.302953720093, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "34" + ], + "asctime": "2021-01-06 22:49:10,216", + "created": 1609969750.216551, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 34) not in buffer.", + "module": "__init__", + "msecs": 216.5510654449463, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13381.366968154907, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 217.15688705444336, + "msg": "Transfering a message client -> server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13381.972789764404, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0006058216094970703 }, { "args": [ "True", "" ], - "asctime": "2020-12-26 10:11:30,764", - "created": 1608973890.764964, + "asctime": "2021-01-06 22:49:10,218", + "created": 1609969750.21868, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:30,764", - "created": 1608973890.764516, + "asctime": "2021-01-06 22:49:10,217", + "created": 1609969750.217756, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -15258,26 +22945,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of send method): True ()", + "message": "Result (Returnvalue of Client send Method): True ()", "module": "test", - "msecs": 764.5161151885986, + "msecs": 217.7560329437256, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 534.1181755065918, - "thread": 139911147616064, + "relativeCreated": 13382.571935653687, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:30,764", - "created": 1608973890.764775, + "asctime": "2021-01-06 22:49:10,218", + "created": 1609969750.218324, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -15285,55 +22972,55 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", + "message": "Expectation (Returnvalue of Client send Method): result = True ()", "module": "test", - "msecs": 764.7750377655029, + "msecs": 218.3239459991455, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 534.3770980834961, - "thread": 139911147616064, + "relativeCreated": 13383.139848709106, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 764.9641036987305, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "msecs": 218.67990493774414, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 534.5661640167236, - "thread": 139911147616064, + "relativeCreated": 13383.495807647705, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.00018906593322753906 + "time_consumption": 0.0003559589385986328 }, { "args": [ - "0", - "" + "None", + "" ], - "asctime": "2020-12-26 10:11:30,765", - "created": 1608973890.765546, + "asctime": "2021-01-06 22:49:10,219", + "created": 1609969750.219466, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via struct_json_protocol is correct (Content 0 and Type is ).", + "lineno": 144, + "message": "Checksum Error -> No message received by server is correct (Content None and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Request Status (Okay) transfered via struct_json_protocol", - "0", - "" + "Checksum Error -> No message received by server", + "None", + "" ], - "asctime": "2020-12-26 10:11:30,765", - "created": 1608973890.765232, + "asctime": "2021-01-06 22:49:10,219", + "created": 1609969750.219054, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -15341,26 +23028,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Request Status (Okay) transfered via struct_json_protocol): 0 ()", + "message": "Result (Checksum Error -> No message received by server): None ()", "module": "test", - "msecs": 765.2320861816406, + "msecs": 219.0539836883545, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 534.8341464996338, - "thread": 139911147616064, + "relativeCreated": 13383.869886398315, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Request Status (Okay) transfered via struct_json_protocol", - "0", - "" + "Checksum Error -> No message received by server", + "None", + "" ], - "asctime": "2020-12-26 10:11:30,765", - "created": 1608973890.765392, + "asctime": "2021-01-06 22:49:10,219", + "created": 1609969750.219278, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -15368,55 +23055,13084 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via struct_json_protocol): result = 0 ()", + "message": "Expectation (Checksum Error -> No message received by server): result = None ()", "module": "test", - "msecs": 765.3920650482178, + "msecs": 219.27809715270996, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 534.9941253662109, - "thread": 139911147616064, + "relativeCreated": 13384.09399986267, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 765.5460834503174, - "msg": "Request Status (Okay) transfered via struct_json_protocol is correct (Content %s and Type is %s).", + "msecs": 219.465970993042, + "msg": "Checksum Error -> No message received by server is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 535.1481437683105, - "thread": 139911147616064, + "relativeCreated": 13384.281873703003, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00018787384033203125 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:10,524", + "created": 1609969750.524037, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "send_message_with_invalid_checksum", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 76, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:10,219", + "created": 1609969750.219899, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 219.89893913269043, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13384.714841842651, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:10,220", + "created": 1609969750.220517, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (41): 00 00 00 04 00 00 00 11 00 00 00 23 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7b", + "module": "test_helpers", + "msecs": 220.51692008972168, + "msg": "Send data: (41): 00 00 00 04 00 00 00 11 00 00 00 23 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13385.332822799683, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:10,220", + "created": 1609969750.220903, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (41): 00 00 00 04 00 00 00 11 00 00 00 23 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7b", + "module": "test_helpers", + "msecs": 220.9029197692871, + "msg": "Receive data (41): 00 00 00 04 00 00 00 11 00 00 00 23 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13385.718822479248, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: 17, data_id: 35", + "status: service or data unknown", + "u'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:10,221", + "created": 1609969750.221518, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: 17, data_id: 35, status: service or data unknown, data: \"u'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 221.51803970336914, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13386.33394241333, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: service or data unknown" + ], + "asctime": "2021-01-06 22:49:10,221", + "created": 1609969750.22184, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: service or data unknown", + "module": "__init__", + "msecs": 221.83990478515625, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13386.655807495117, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:10,222", + "created": 1609969750.222202, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 222.20206260681152, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13387.017965316772, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "35" + ], + "asctime": "2021-01-06 22:49:10,523", + "created": 1609969750.523498, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", + "module": "__init__", + "msecs": 523.4980583190918, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13688.313961029053, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 524.0368843078613, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13688.852787017822, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0005388259887695312 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:10,524", + "created": 1609969750.524974, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:10,524", + "created": 1609969750.524557, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Server send Method): True ()", + "module": "test", + "msecs": 524.5571136474609, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13689.373016357422, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Server send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:10,524", + "created": 1609969750.524789, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Server send Method): result = True ()", + "module": "test", + "msecs": 524.7890949249268, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13689.604997634888, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 524.9741077423096, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13689.79001045227, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001850128173828125 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:10,525", + "created": 1609969750.525633, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Checksum Error -> No message received by client is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Checksum Error -> No message received by client", + "None", + "" + ], + "asctime": "2021-01-06 22:49:10,525", + "created": 1609969750.525284, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Checksum Error -> No message received by client): None ()", + "module": "test", + "msecs": 525.2840518951416, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13690.099954605103, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Checksum Error -> No message received by client", + "None", + "" + ], + "asctime": "2021-01-06 22:49:10,525", + "created": 1609969750.52546, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Checksum Error -> No message received by client): result = None ()", + "module": "test", + "msecs": 525.4600048065186, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13690.27590751648, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 525.6330966949463, + "msg": "Checksum Error -> No message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13690.448999404907, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00017309188842773438 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.6132872104644775, + "time_finished": "2021-01-06 22:49:10,525", + "time_start": "2021-01-06 22:49:09,912" + }, + "_ZJMD8EzaEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:48:57,088", + "created": 1609969737.088078, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 34, + "message": "_ZJMD8EzaEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 88.07802200317383, + "msg": "_ZJMD8EzaEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 252.89392471313477, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:48:57,096", + "created": 1609969737.096559, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:48:57,088", + "created": 1609969737.088614, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 88.61398696899414, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 253.42988967895508, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:48:57,088", + "created": 1609969737.088845, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 88.84501457214355, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 253.6609172821045, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:48:57,089", + "created": 1609969737.0891, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 89.09988403320312, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 253.91578674316406, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:48:57,089", + "created": 1609969737.08928, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 89.2798900604248, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 254.09579277038574, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:48:57,089", + "created": 1609969737.089456, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 89.45608139038086, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 254.2719841003418, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:48:57,089", + "created": 1609969737.089619, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 89.61892127990723, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 254.43482398986816, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:48:57,089", + "created": 1609969737.089826, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 89.82610702514648, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 254.64200973510742, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:48:57,090", + "created": 1609969737.090019, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 90.01898765563965, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 254.8348903656006, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:48:57,090", + "created": 1609969737.090218, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 90.21806716918945, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 255.0339698791504, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:48:57,090", + "created": 1609969737.090395, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 90.39497375488281, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 255.21087646484375, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:48:57,090", + "created": 1609969737.090554, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 90.55399894714355, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 255.3699016571045, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:48:57,090", + "created": 1609969737.090745, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 90.7449722290039, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 255.56087493896484, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:48:57,090", + "created": 1609969737.090939, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 90.93904495239258, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 255.75494766235352, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:48:57,091", + "created": 1609969737.091104, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 91.10403060913086, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 255.9199333190918, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:48:57,091", + "created": 1609969737.091274, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 91.27402305603027, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 256.0899257659912, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:48:57,091", + "created": 1609969737.091458, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 91.45808219909668, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 256.2739849090576, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:48:57,091", + "created": 1609969737.091641, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 91.64094924926758, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 256.4568519592285, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:48:57,091", + "created": 1609969737.091813, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 91.8130874633789, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 256.62899017333984, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:48:57,091", + "created": 1609969737.091973, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 91.97306632995605, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 256.788969039917, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:48:57,092", + "created": 1609969737.092134, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 92.13399887084961, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 256.94990158081055, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:57,092", + "created": 1609969737.092519, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 92.51904487609863, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 257.33494758605957, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:48:57,093", + "created": 1609969737.093128, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 93.12796592712402, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 257.94386863708496, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:48:57,093", + "created": 1609969737.093393, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 93.39308738708496, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 258.2089900970459, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:48:57,093", + "created": 1609969737.093581, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 93.58096122741699, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 258.39686393737793, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:48:57,093", + "created": 1609969737.093748, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 93.74809265136719, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 258.5639953613281, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:48:57,093", + "created": 1609969737.093932, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 93.93191337585449, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 258.74781608581543, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:48:57,094", + "created": 1609969737.094122, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 94.12193298339844, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 258.9378356933594, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:48:57,094", + "created": 1609969737.094307, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 94.30694580078125, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 259.1228485107422, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:48:57,094", + "created": 1609969737.094501, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 94.50101852416992, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 259.31692123413086, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:48:57,094", + "created": 1609969737.094679, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 94.67911720275879, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 259.4950199127197, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:57,094", + "created": 1609969737.094845, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 94.84505653381348, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 259.6609592437744, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:48:57,095", + "created": 1609969737.095035, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 95.03507614135742, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 259.85097885131836, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:48:57,095", + "created": 1609969737.095219, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 95.21889686584473, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 260.03479957580566, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:48:57,095", + "created": 1609969737.095383, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 95.3829288482666, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 260.19883155822754, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:48:57,095", + "created": 1609969737.095552, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 95.55196762084961, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 260.36787033081055, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:48:57,095", + "created": 1609969737.095739, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 95.73888778686523, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 260.5547904968262, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:48:57,095", + "created": 1609969737.09591, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 95.91007232666016, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 260.7259750366211, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:48:57,096", + "created": 1609969737.096066, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 96.06599807739258, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 260.8819007873535, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:48:57,096", + "created": 1609969737.096234, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 96.23408317565918, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 261.0499858856201, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:57,096", + "created": 1609969737.096393, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 96.39310836791992, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 261.20901107788086, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 96.55904769897461, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 261.37495040893555, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001659393310546875 + }, + { + "args": [], + "asctime": "2021-01-06 22:48:57,399", + "created": 1609969737.399186, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "send_message_with_invalid_checksum", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 70, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:48:57,096", + "created": 1609969737.096931, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 96.93098068237305, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 261.746883392334, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:57,097", + "created": 1609969737.09746, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "module": "test_helpers", + "msecs": 97.46003150939941, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 262.27593421936035, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:57,097", + "created": 1609969737.09785, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9c", + "module": "test_helpers", + "msecs": 97.85008430480957, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 262.6659870147705, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:48:57,097", + "created": 1609969737.097939, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 432, + "message": "SP server: RX <- Received message has a wrong checksum. Message will be ignored.", + "module": "__init__", + "msecs": 97.93901443481445, + "msg": "%s RX <- Received message has a wrong checksum. Message will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 262.7549171447754, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "34" + ], + "asctime": "2021-01-06 22:48:57,398", + "created": 1609969737.398857, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 34) not in buffer.", + "module": "__init__", + "msecs": 398.85711669921875, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 563.6730194091797, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 399.1858959197998, + "msg": "Transfering a message client -> server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 564.0017986297607, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0003287792205810547 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,399", + "created": 1609969737.399914, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,399", + "created": 1609969737.399539, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Client send Method): True ()", + "module": "test", + "msecs": 399.5389938354492, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 564.3548965454102, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,399", + "created": 1609969737.39973, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Client send Method): result = True ()", + "module": "test", + "msecs": 399.72996711730957, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 564.5458698272705, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 399.914026260376, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 564.7299289703369, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00018405914306640625 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:48:57,400", + "created": 1609969737.400498, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Checksum Error -> No message received by server is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Checksum Error -> No message received by server", + "None", + "" + ], + "asctime": "2021-01-06 22:48:57,400", + "created": 1609969737.400177, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Checksum Error -> No message received by server): None ()", + "module": "test", + "msecs": 400.177001953125, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 564.9929046630859, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Checksum Error -> No message received by server", + "None", + "" + ], + "asctime": "2021-01-06 22:48:57,400", + "created": 1609969737.40034, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Checksum Error -> No message received by server): result = None ()", + "module": "test", + "msecs": 400.34008026123047, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 565.1559829711914, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 400.4979133605957, + "msg": "Checksum Error -> No message received by server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 565.3138160705566, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00015783309936523438 + }, + { + "args": [], + "asctime": "2021-01-06 22:48:57,704", + "created": 1609969737.704147, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "send_message_with_invalid_checksum", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 76, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:48:57,400", + "created": 1609969737.400821, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 400.8209705352783, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 565.6368732452393, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:57,401", + "created": 1609969737.401366, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "module": "test_helpers", + "msecs": 401.3659954071045, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 566.1818981170654, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:57,401", + "created": 1609969737.40183, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "module": "test_helpers", + "msecs": 401.82995796203613, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 35 7d 20 18 19 e8", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 566.6458606719971, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: 17, data_id: 35", + "status: service or data unknown", + "u'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:48:57,402", + "created": 1609969737.402193, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: 17, data_id: 35, status: service or data unknown, data: \"u'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 402.1930694580078, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 567.0089721679688, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: service or data unknown" + ], + "asctime": "2021-01-06 22:48:57,402", + "created": 1609969737.402403, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: service or data unknown", + "module": "__init__", + "msecs": 402.4031162261963, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 567.2190189361572, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:57,402", + "created": 1609969737.402643, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 402.64296531677246, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 567.4588680267334, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "35" + ], + "asctime": "2021-01-06 22:48:57,703", + "created": 1609969737.703801, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", + "module": "__init__", + "msecs": 703.8009166717529, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 868.6168193817139, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 704.1471004486084, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 868.9630031585693, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00034618377685546875 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,704", + "created": 1609969737.704872, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,704", + "created": 1609969737.7045, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Server send Method): True ()", + "module": "test", + "msecs": 704.4999599456787, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 869.3158626556396, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Server send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,704", + "created": 1609969737.704699, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Server send Method): result = True ()", + "module": "test", + "msecs": 704.6990394592285, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 869.5149421691895, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 704.8718929290771, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 869.6877956390381, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001728534698486328 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:48:57,705", + "created": 1609969737.705498, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Checksum Error -> No message received by client is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Checksum Error -> No message received by client", + "None", + "" + ], + "asctime": "2021-01-06 22:48:57,705", + "created": 1609969737.705162, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Checksum Error -> No message received by client): None ()", + "module": "test", + "msecs": 705.1620483398438, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 869.9779510498047, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Checksum Error -> No message received by client", + "None", + "" + ], + "asctime": "2021-01-06 22:48:57,705", + "created": 1609969737.70533, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Checksum Error -> No message received by client): result = None ()", + "module": "test", + "msecs": 705.3298950195312, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 870.1457977294922, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 705.4979801177979, + "msg": "Checksum Error -> No message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 870.3138828277588, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00016808509826660156 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.617419958114624, + "time_finished": "2021-01-06 22:48:57,705", + "time_start": "2021-01-06 22:48:57,088" + }, + "_ZOW3ME0vEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:08,685", + "created": 1609969748.685607, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 41, + "message": "_ZOW3ME0vEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 685.6069564819336, + "msg": "_ZOW3ME0vEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11850.422859191895, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:08,693", + "created": 1609969748.693672, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:08,686", + "created": 1609969748.686206, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 686.2061023712158, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11851.022005081177, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:08,686", + "created": 1609969748.686445, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 686.4449977874756, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11851.260900497437, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:08,686", + "created": 1609969748.686708, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 686.7079734802246, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11851.523876190186, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:08,686", + "created": 1609969748.686889, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 686.8889331817627, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11851.704835891724, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:08,687", + "created": 1609969748.687065, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 687.0648860931396, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11851.8807888031, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:08,687", + "created": 1609969748.687229, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 687.2289180755615, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11852.044820785522, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:08,687", + "created": 1609969748.68741, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 687.4101161956787, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11852.22601890564, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:08,687", + "created": 1609969748.687605, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 687.6049041748047, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11852.420806884766, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:08,687", + "created": 1609969748.687782, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 687.7820491790771, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11852.597951889038, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:08,687", + "created": 1609969748.687956, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 687.9560947418213, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11852.771997451782, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:08,688", + "created": 1609969748.688116, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 688.1160736083984, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11852.93197631836, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:08,688", + "created": 1609969748.688315, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 688.3149147033691, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11853.13081741333, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:08,688", + "created": 1609969748.688511, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 688.5108947753906, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11853.326797485352, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:08,688", + "created": 1609969748.688677, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 688.6770725250244, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11853.492975234985, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:08,688", + "created": 1609969748.688847, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 688.8470649719238, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11853.662967681885, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:08,689", + "created": 1609969748.689034, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 689.0339851379395, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11853.8498878479, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:08,689", + "created": 1609969748.689238, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 689.2380714416504, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11854.053974151611, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:08,689", + "created": 1609969748.689405, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 689.4049644470215, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11854.220867156982, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:08,689", + "created": 1609969748.689564, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 689.5639896392822, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11854.379892349243, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:08,689", + "created": 1609969748.689733, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 689.7330284118652, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11854.548931121826, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:08,690", + "created": 1609969748.69013, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 690.1299953460693, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11854.94589805603, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:08,690", + "created": 1609969748.690319, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 690.3190612792969, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11855.134963989258, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:08,690", + "created": 1609969748.690553, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 690.5529499053955, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11855.368852615356, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:08,690", + "created": 1609969748.690737, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 690.7370090484619, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11855.552911758423, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:08,690", + "created": 1609969748.690899, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 690.8988952636719, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11855.714797973633, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:08,691", + "created": 1609969748.691056, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 691.0560131072998, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11855.87191581726, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:08,691", + "created": 1609969748.691241, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 691.2410259246826, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11856.056928634644, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:08,691", + "created": 1609969748.69142, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 691.4200782775879, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11856.235980987549, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:08,691", + "created": 1609969748.691597, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 691.5969848632812, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11856.412887573242, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:08,691", + "created": 1609969748.691769, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 691.7688846588135, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11856.584787368774, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:08,691", + "created": 1609969748.691924, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 691.9240951538086, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11856.73999786377, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:08,692", + "created": 1609969748.692117, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 692.1169757843018, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11856.932878494263, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:08,692", + "created": 1609969748.692307, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 692.3069953918457, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11857.122898101807, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:08,692", + "created": 1609969748.692471, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 692.4710273742676, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11857.286930084229, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:08,692", + "created": 1609969748.69264, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 692.6400661468506, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11857.455968856812, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:08,692", + "created": 1609969748.692812, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 692.8119659423828, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11857.627868652344, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:08,692", + "created": 1609969748.692998, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 692.997932434082, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11857.813835144043, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:08,693", + "created": 1609969748.693167, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 693.166971206665, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11857.982873916626, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:08,693", + "created": 1609969748.693339, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 693.3391094207764, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11858.155012130737, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:08,693", + "created": 1609969748.693507, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 693.5069561004639, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11858.322858810425, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 693.6719417572021, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11858.487844467163, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00016498565673828125 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,693", + "created": 1609969748.693937, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service_existing_sid", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 338, + "message": "Adding a service with an already registered request SID", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + 10, + 18 + ], + "asctime": "2021-01-06 22:49:08,693", + "created": 1609969748.693883, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "ERROR", + "levelno": 40, + "lineno": 551, + "message": "SP server: Service with Request-SID=10 and Response-SID=18 not added, because request SID is already registered", + "module": "__init__", + "msecs": 693.882942199707, + "msg": "%s Service with Request-SID=%d and Response-SID=%d not added, because request SID is already registered", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11858.698844909668, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 693.9370632171631, + "msg": "Adding a service with an already registered request SID", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11858.752965927124, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 5.412101745605469e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.694011, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service_existing_sid", + "levelname": "INFO", + "levelno": 20, + "lineno": 339, + "message": "Expected Exception RequestSidExistsError was triggered", + "module": "test_communication", + "moduleLogger": [], + "msecs": 694.0109729766846, + "msg": "Expected Exception RequestSidExistsError was triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11858.826875686646, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.694139, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service_existing_sid", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 347, + "message": "Adding a service with an already registered response SID", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + 17, + 11 + ], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.694087, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "ERROR", + "levelno": 40, + "lineno": 554, + "message": "SP server: Service with Request-SID=17 and Response-SID=11 not added, because response SID is already registered", + "module": "__init__", + "msecs": 694.087028503418, + "msg": "%s Service with Request-SID=%d and Response-SID=%d not added, because response SID is already registered", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11858.902931213379, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 694.1390037536621, + "msg": "Adding a service with an already registered response SID", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11858.954906463623, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 5.1975250244140625e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.69421, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service_existing_sid", + "levelname": "INFO", + "levelno": 20, + "lineno": 348, + "message": "Expected Exception ResponseSidExistsError was triggered", + "module": "test_communication", + "moduleLogger": [], + "msecs": 694.2100524902344, + "msg": "Expected Exception ResponseSidExistsError was triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.025955200195, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.008603096008300781, + "time_finished": "2021-01-06 22:49:08,694", + "time_start": "2021-01-06 22:49:08,685" + }, + "_aA508E4gEeupHeIYRnC0qw": { + "args": null, + "asctime": "2021-01-06 22:49:09,764", + "created": 1609969749.764835, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 53, + "message": "_aA508E4gEeupHeIYRnC0qw", + "module": "__init__", + "moduleLogger": [], + "msecs": 764.8348808288574, + "msg": "_aA508E4gEeupHeIYRnC0qw", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12929.650783538818, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:09,774", + "created": 1609969749.774849, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,765", + "created": 1609969749.76572, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 765.7198905944824, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12930.535793304443, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:09,766", + "created": 1609969749.766217, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 766.2169933319092, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12931.03289604187, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,766", + "created": 1609969749.766638, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 766.6380405426025, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12931.453943252563, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,766", + "created": 1609969749.766981, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 766.9808864593506, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12931.796789169312, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,767", + "created": 1609969749.767225, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 767.2250270843506, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12932.040929794312, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,767", + "created": 1609969749.767498, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 767.4980163574219, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12932.313919067383, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,767", + "created": 1609969749.767995, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 767.9951190948486, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12932.81102180481, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,768", + "created": 1609969749.768447, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 768.4469223022461, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12933.262825012207, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,768", + "created": 1609969749.768822, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 768.8219547271729, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12933.637857437134, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,769", + "created": 1609969749.769158, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 769.157886505127, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12933.973789215088, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,771", + "created": 1609969749.77106, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 771.0599899291992, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12935.87589263916, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:09,771", + "created": 1609969749.771253, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 771.2531089782715, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12936.069011688232, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,771", + "created": 1609969749.771378, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 771.3780403137207, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12936.193943023682, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,771", + "created": 1609969749.771474, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 771.4738845825195, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12936.28978729248, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,771", + "created": 1609969749.771557, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 771.557092666626, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12936.372995376587, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,771", + "created": 1609969749.771627, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 771.6269493103027, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12936.442852020264, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,771", + "created": 1609969749.771689, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 771.6889381408691, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12936.50484085083, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,771", + "created": 1609969749.771747, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 771.7471122741699, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12936.56301498413, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,771", + "created": 1609969749.771798, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 771.7978954315186, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12936.61379814148, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,771", + "created": 1609969749.771854, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 771.8539237976074, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12936.669826507568, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,772", + "created": 1609969749.772024, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 772.0239162445068, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12936.839818954468, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:09,772", + "created": 1609969749.772173, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 772.1729278564453, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12936.988830566406, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,772", + "created": 1609969749.772339, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 772.3391056060791, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12937.15500831604, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,772", + "created": 1609969749.772477, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 772.4769115447998, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12937.29281425476, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,772", + "created": 1609969749.772596, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 772.5958824157715, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12937.411785125732, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,772", + "created": 1609969749.772742, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 772.7420330047607, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12937.557935714722, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,772", + "created": 1609969749.772872, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 772.8719711303711, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12937.687873840332, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,773", + "created": 1609969749.773009, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 773.0090618133545, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12937.824964523315, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,773", + "created": 1609969749.773142, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 773.1420993804932, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12937.958002090454, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,773", + "created": 1609969749.773271, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 773.2710838317871, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12938.086986541748, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,773", + "created": 1609969749.773413, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 773.4129428863525, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12938.228845596313, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:09,773", + "created": 1609969749.773559, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 773.5590934753418, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12938.374996185303, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,773", + "created": 1609969749.773696, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 773.6959457397461, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12938.511848449707, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,773", + "created": 1609969749.773876, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 773.8759517669678, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12938.691854476929, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,774", + "created": 1609969749.774016, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 774.0159034729004, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12938.831806182861, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,774", + "created": 1609969749.774146, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 774.1460800170898, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12938.96198272705, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,774", + "created": 1609969749.774274, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 774.2741107940674, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12939.090013504028, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,774", + "created": 1609969749.774411, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 774.4109630584717, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12939.226865768433, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,774", + "created": 1609969749.774561, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 774.5609283447266, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12939.376831054688, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,774", + "created": 1609969749.774707, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 774.7070789337158, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12939.522981643677, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 774.8489379882812, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12939.664840698242, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001418590545654297 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,775", + "created": 1609969749.775398, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,775", + "created": 1609969749.775134, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client connection status): False ()", + "module": "test", + "msecs": 775.1340866088867, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12939.949989318848, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Client connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,775", + "created": 1609969749.77527, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client connection status): result = False ()", + "module": "test", + "msecs": 775.2699851989746, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12940.085887908936, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 775.3980159759521, + "msg": "Client connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12940.213918685913, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00012803077697753906 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,775", + "created": 1609969749.77587, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,775", + "created": 1609969749.775627, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server connection status): False ()", + "module": "test", + "msecs": 775.6268978118896, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12940.44280052185, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Server connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,775", + "created": 1609969749.775749, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server connection status): result = False ()", + "module": "test", + "msecs": 775.7489681243896, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12940.56487083435, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 775.8700847625732, + "msg": "Server connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12940.685987472534, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00012111663818359375 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,778", + "created": 1609969749.778593, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "connection_established", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 11, + "message": "Connecting Client", + "module": "test_add_methods", + "moduleLogger": [ + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,776", + "created": 1609969749.776068, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 776.0679721832275, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12940.883874893188, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:09,776", + "created": 1609969749.776241, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 776.2410640716553, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12941.056966781616, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,776", + "created": 1609969749.776597, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", + "module": "test_helpers", + "msecs": 776.5970230102539, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12941.412925720215, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,776", + "created": 1609969749.7768, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", + "module": "test_helpers", + "msecs": 776.7999172210693, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12941.61581993103, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:09,777", + "created": 1609969749.777134, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 777.1339416503906, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12941.949844360352, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__channel_name_request__" + ], + "asctime": "2021-01-06 22:49:09,777", + "created": 1609969749.777298, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 777.2979736328125, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12942.113876342773, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:09,777", + "created": 1609969749.77746, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 777.4600982666016, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12942.276000976562, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,777", + "created": 1609969749.777764, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 777.764081954956, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12942.579984664917, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,778", + "created": 1609969749.778008, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 778.007984161377, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12942.823886871338, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:09,778", + "created": 1609969749.778271, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 778.270959854126, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12943.086862564087, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:09,778", + "created": 1609969749.77844, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 778.439998626709, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12943.25590133667, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 778.5930633544922, + "msg": "Connecting Client", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12943.408966064453, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00015306472778320312 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,779", + "created": 1609969749.779073, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,778", + "created": 1609969749.778827, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client connection status): True ()", + "module": "test", + "msecs": 778.8269519805908, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12943.642854690552, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Client connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,778", + "created": 1609969749.778954, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client connection status): result = True ()", + "module": "test", + "msecs": 778.954029083252, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12943.769931793213, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 779.0729999542236, + "msg": "Client connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12943.888902664185, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00011897087097167969 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,779", + "created": 1609969749.779555, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,779", + "created": 1609969749.779307, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server connection status): False ()", + "module": "test", + "msecs": 779.3068885803223, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12944.122791290283, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Server connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,779", + "created": 1609969749.779422, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server connection status): result = False ()", + "module": "test", + "msecs": 779.4220447540283, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12944.23794746399, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 779.555082321167, + "msg": "Server connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12944.370985031128, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00013303756713867188 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,779", + "created": 1609969749.779868, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "connection_established", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 15, + "message": "Connecting Server", + "module": "test_add_methods", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,779", + "created": 1609969749.779729, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 779.728889465332, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12944.544792175293, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 779.8678874969482, + "msg": "Connecting Server", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12944.68379020691, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00013899803161621094 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.780319, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.780073, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client connection status): True ()", + "module": "test", + "msecs": 780.0729274749756, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12944.888830184937, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Client connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.780177, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client connection status): result = True ()", + "module": "test", + "msecs": 780.177116394043, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12944.993019104004, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 780.3189754486084, + "msg": "Client connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.13487815857, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001418590545654297 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.780538, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.780419, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server connection status): True ()", + "module": "test", + "msecs": 780.419111251831, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.235013961792, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Server connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.780462, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server connection status): result = True ()", + "module": "test", + "msecs": 780.4620265960693, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.27792930603, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 780.5380821228027, + "msg": "Server connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.353984832764, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 7.605552673339844e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.7806, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "connection_established", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Adding secrets to socket_protocol", + "module": "test_add_methods", + "moduleLogger": [], + "msecs": 780.6000709533691, + "msg": "Adding secrets to socket_protocol", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.41597366333, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.780745, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.780665, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client connection status): False ()", + "module": "test", + "msecs": 780.6649208068848, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.480823516846, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Client connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.780705, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client connection status): result = False ()", + "module": "test", + "msecs": 780.7049751281738, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.520877838135, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 780.7450294494629, + "msg": "Client connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.560932159424, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.00543212890625e-05 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.780892, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.780812, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server connection status): False ()", + "module": "test", + "msecs": 780.8120250701904, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.627927780151, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Server connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.780852, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server connection status): result = False ()", + "module": "test", + "msecs": 780.8520793914795, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.66798210144, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 780.8918952941895, + "msg": "Server connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.70779800415, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 3.981590270996094e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,883", + "created": 1609969749.883352, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "connection_established", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Doing authentification", + "module": "test_add_methods", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:09,780", + "created": 1609969749.780965, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 780.9650897979736, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.780992507935, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,781", + "created": 1609969749.781084, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "module": "test_helpers", + "msecs": 781.0840606689453, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.899963378906, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,781", + "created": 1609969749.781173, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "module": "test_helpers", + "msecs": 781.1729907989502, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12945.988893508911, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:09,781", + "created": 1609969749.781259, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 781.2590599060059, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12946.074962615967, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__authentificate_create_seed__" + ], + "asctime": "2021-01-06 22:49:09,781", + "created": 1609969749.781315, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_create_seed__ to process received data", + "module": "__init__", + "msecs": 781.3150882720947, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12946.130990982056, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed", + "status: okay", + "'1028eb0571fc1cf0706cfb1a55feb927b9ace9be360493f7fde36f10254157b2'" + ], + "asctime": "2021-01-06 22:49:09,781", + "created": 1609969749.781383, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: authentification response, data_id: seed, status: okay, data: \"'1028eb0571fc1cf0706cfb1a55feb927b9ace9be360493f7fde36f10254157b2'\"", + "module": "__init__", + "msecs": 781.3830375671387, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12946.1989402771, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,781", + "created": 1609969749.781557, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 31 30 32 38 65 62 30 35 37 31 66 63 31 63 66 30 37 30 36 63 66 62 31 61 35 35 66 65 62 39 32 37 62 39 61 63 65 39 62 65 33 36 30 34 39 33 66 37 66 64 65 33 36 66 31 30 32 35 34 31 35 37 62 32 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 30 3b c6 e3", + "module": "test_helpers", + "msecs": 781.5570831298828, + "msg": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 31 30 32 38 65 62 30 35 37 31 66 63 31 63 66 30 37 30 36 63 66 62 31 61 35 35 66 65 62 39 32 37 62 39 61 63 65 39 62 65 33 36 30 34 39 33 66 37 66 64 65 33 36 66 31 30 32 35 34 31 35 37 62 32 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 30 3b c6 e3", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12946.372985839844, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,781", + "created": 1609969749.781683, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 31 30 32 38 65 62 30 35 37 31 66 63 31 63 66 30 37 30 36 63 66 62 31 61 35 35 66 65 62 39 32 37 62 39 61 63 65 39 62 65 33 36 30 34 39 33 66 37 66 64 65 33 36 66 31 30 32 35 34 31 35 37 62 32 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 30 3b c6 e3", + "module": "test_helpers", + "msecs": 781.6829681396484, + "msg": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 31 30 32 38 65 62 30 35 37 31 66 63 31 63 66 30 37 30 36 63 66 62 31 61 35 35 66 65 62 39 32 37 62 39 61 63 65 39 62 65 33 36 30 34 39 33 66 37 66 64 65 33 36 66 31 30 32 35 34 31 35 37 62 32 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 30 3b c6 e3", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12946.49887084961, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed", + "status: okay", + "u'1028eb0571fc1cf0706cfb1a55feb927b9ace9be360493f7fde36f10254157b2'" + ], + "asctime": "2021-01-06 22:49:09,781", + "created": 1609969749.781763, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: authentification response, data_id: seed, status: okay, data: \"u'1028eb0571fc1cf0706cfb1a55feb927b9ace9be360493f7fde36f10254157b2'\"", + "module": "__init__", + "msecs": 781.7630767822266, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12946.578979492188, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__authentificate_create_key__" + ], + "asctime": "2021-01-06 22:49:09,781", + "created": 1609969749.781854, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_create_key__ to process received data", + "module": "__init__", + "msecs": 781.8539142608643, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12946.669816970825, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key", + "status: okay", + "'4237c44df5fc44768bb88a234bfbae24ac1b2e8f32f41c6bcf246bf462d68b2e649e419813982afd1942ab4a84b0394ae82873e1f0cb6b1ea9dc45a36c666c5c'" + ], + "asctime": "2021-01-06 22:49:09,781", + "created": 1609969749.781932, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: authentification request, data_id: key, status: okay, data: \"'4237c44df5fc44768bb88a234bfbae24ac1b2e8f32f41c6bcf246bf462d68b2e649e419813982afd1942ab4a84b0394ae82873e1f0cb6b1ea9dc45a36c666c5c'\"", + "module": "__init__", + "msecs": 781.9321155548096, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12946.74801826477, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,782", + "created": 1609969749.782126, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 32 33 37 63 34 34 64 66 35 66 63 34 34 37 36 38 62 62 38 38 61 32 33 34 62 66 62 61 65 32 34 61 63 31 62 32 65 38 66 33 32 66 34 31 63 36 62 63 66 32 34 36 62 66 34 36 32 64 36 38 62 32 65 36 34 39 65 34 31 39 38 31 33 39 38 32 61 66 64 31 39 34 32 61 62 34 61 38 34 62 30 33 39 34 61 65 38 32 38 37 33 65 31 66 30 63 62 36 62 31 65 61 39 64 63 34 35 61 33 36 63 36 36 36 63 35 63 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 54 97 32 2d", + "module": "test_helpers", + "msecs": 782.1259498596191, + "msg": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 32 33 37 63 34 34 64 66 35 66 63 34 34 37 36 38 62 62 38 38 61 32 33 34 62 66 62 61 65 32 34 61 63 31 62 32 65 38 66 33 32 66 34 31 63 36 62 63 66 32 34 36 62 66 34 36 32 64 36 38 62 32 65 36 34 39 65 34 31 39 38 31 33 39 38 32 61 66 64 31 39 34 32 61 62 34 61 38 34 62 30 33 39 34 61 65 38 32 38 37 33 65 31 66 30 63 62 36 62 31 65 61 39 64 63 34 35 61 33 36 63 36 36 36 63 35 63 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 54 97 32 2d", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12946.94185256958, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,782", + "created": 1609969749.782299, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 32 33 37 63 34 34 64 66 35 66 63 34 34 37 36 38 62 62 38 38 61 32 33 34 62 66 62 61 65 32 34 61 63 31 62 32 65 38 66 33 32 66 34 31 63 36 62 63 66 32 34 36 62 66 34 36 32 64 36 38 62 32 65 36 34 39 65 34 31 39 38 31 33 39 38 32 61 66 64 31 39 34 32 61 62 34 61 38 34 62 30 33 39 34 61 65 38 32 38 37 33 65 31 66 30 63 62 36 62 31 65 61 39 64 63 34 35 61 33 36 63 36 36 36 63 35 63 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 54 97 32 2d", + "module": "test_helpers", + "msecs": 782.2990417480469, + "msg": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 32 33 37 63 34 34 64 66 35 66 63 34 34 37 36 38 62 62 38 38 61 32 33 34 62 66 62 61 65 32 34 61 63 31 62 32 65 38 66 33 32 66 34 31 63 36 62 63 66 32 34 36 62 66 34 36 32 64 36 38 62 32 65 36 34 39 65 34 31 39 38 31 33 39 38 32 61 66 64 31 39 34 32 61 62 34 61 38 34 62 30 33 39 34 61 65 38 32 38 37 33 65 31 66 30 63 62 36 62 31 65 61 39 64 63 34 35 61 33 36 63 36 36 36 63 35 63 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 54 97 32 2d", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12947.114944458008, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key", + "status: okay", + "u'4237c44df5fc44768bb88a234bfbae24ac1b2e8f32f41c6bcf246bf462d68b2e649e419813982afd1942ab4a84b0394ae82873e1f0cb6b1ea9dc45a36c666c5c'" + ], + "asctime": "2021-01-06 22:49:09,782", + "created": 1609969749.782386, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: authentification request, data_id: key, status: okay, data: \"u'4237c44df5fc44768bb88a234bfbae24ac1b2e8f32f41c6bcf246bf462d68b2e649e419813982afd1942ab4a84b0394ae82873e1f0cb6b1ea9dc45a36c666c5c'\"", + "module": "__init__", + "msecs": 782.386064529419, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12947.20196723938, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__authentificate_check_key__" + ], + "asctime": "2021-01-06 22:49:09,782", + "created": 1609969749.78244, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_check_key__ to process received data", + "module": "__init__", + "msecs": 782.4399471282959, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12947.255849838257, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key", + "status: okay", + "True" + ], + "asctime": "2021-01-06 22:49:09,782", + "created": 1609969749.782504, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: authentification response, data_id: key, status: okay, data: \"True\"", + "module": "__init__", + "msecs": 782.5040817260742, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12947.319984436035, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,782", + "created": 1609969749.782613, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", + "module": "test_helpers", + "msecs": 782.6130390167236, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12947.428941726685, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,782", + "created": 1609969749.782724, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", + "module": "test_helpers", + "msecs": 782.7239036560059, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12947.539806365967, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key", + "status: okay", + "True" + ], + "asctime": "2021-01-06 22:49:09,782", + "created": 1609969749.782806, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: authentification response, data_id: key, status: okay, data: \"True\"", + "module": "__init__", + "msecs": 782.8059196472168, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12947.621822357178, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__authentificate_process_feedback__" + ], + "asctime": "2021-01-06 22:49:09,782", + "created": 1609969749.78286, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_process_feedback__ to process received data", + "module": "__init__", + "msecs": 782.8600406646729, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12947.675943374634, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,782", + "created": 1609969749.782904, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentificate_process_feedback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 350, + "message": "SP client: Got positive authentification feedback", + "module": "__init__", + "msecs": 782.9039096832275, + "msg": "%s Got positive authentification feedback", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12947.719812393188, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 883.3520412445068, + "msg": "Doing authentification", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13048.167943954468, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.1004481315612793 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,884", + "created": 1609969749.884412, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,883", + "created": 1609969749.883941, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client connection status): True ()", + "module": "test", + "msecs": 883.9409351348877, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13048.756837844849, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Client connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,884", + "created": 1609969749.884183, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client connection status): result = True ()", + "module": "test", + "msecs": 884.1829299926758, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13048.998832702637, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 884.4120502471924, + "msg": "Client connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13049.227952957153, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00022912025451660156 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,884", + "created": 1609969749.884776, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,884", + "created": 1609969749.884603, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server connection status): True ()", + "module": "test", + "msecs": 884.6030235290527, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13049.418926239014, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Server connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,884", + "created": 1609969749.884695, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server connection status): result = True ()", + "module": "test", + "msecs": 884.6950531005859, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13049.510955810547, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 884.7761154174805, + "msg": "Server connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13049.592018127441, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 8.106231689453125e-05 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.11994123458862305, + "time_finished": "2021-01-06 22:49:09,884", + "time_start": "2021-01-06 22:49:09,764" + }, + "_elO7wE4gEeupHeIYRnC0qw": { + "args": null, + "asctime": "2021-01-06 22:49:09,885", + "created": 1609969749.885075, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 54, + "message": "_elO7wE4gEeupHeIYRnC0qw", + "module": "__init__", + "moduleLogger": [], + "msecs": 885.0750923156738, + "msg": "_elO7wE4gEeupHeIYRnC0qw", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13049.890995025635, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:09,895", + "created": 1609969749.895349, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,885", + "created": 1609969749.885357, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 885.3569030761719, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13050.172805786133, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:09,885", + "created": 1609969749.885524, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 885.5240345001221, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13050.339937210083, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,885", + "created": 1609969749.885887, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 885.8869075775146, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13050.702810287476, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,886", + "created": 1609969749.886117, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 886.1169815063477, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13050.932884216309, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,886", + "created": 1609969749.886355, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 886.354923248291, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13051.170825958252, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,886", + "created": 1609969749.886601, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 886.6009712219238, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13051.416873931885, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,886", + "created": 1609969749.886878, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 886.8780136108398, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13051.6939163208, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,887", + "created": 1609969749.887155, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 887.1550559997559, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13051.970958709717, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,887", + "created": 1609969749.887405, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 887.4049186706543, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13052.220821380615, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,887", + "created": 1609969749.88766, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 887.660026550293, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13052.475929260254, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,887", + "created": 1609969749.887889, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 887.8889083862305, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13052.704811096191, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:09,888", + "created": 1609969749.888173, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 888.1731033325195, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13052.98900604248, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,888", + "created": 1609969749.888431, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 888.4310722351074, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13053.246974945068, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,888", + "created": 1609969749.888659, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 888.6590003967285, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13053.47490310669, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,888", + "created": 1609969749.88888, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 888.8800144195557, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13053.695917129517, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,889", + "created": 1609969749.889163, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 889.1630172729492, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13053.97891998291, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,889", + "created": 1609969749.889433, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 889.4329071044922, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13054.248809814453, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,889", + "created": 1609969749.889711, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 889.7109031677246, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13054.526805877686, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,890", + "created": 1609969749.89002, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 890.0198936462402, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13054.835796356201, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,890", + "created": 1609969749.890273, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 890.2730941772461, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13055.088996887207, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,890", + "created": 1609969749.890893, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 890.8929824829102, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13055.708885192871, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:09,891", + "created": 1609969749.891187, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 891.1869525909424, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13056.002855300903, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,891", + "created": 1609969749.891525, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 891.5250301361084, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13056.34093284607, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,891", + "created": 1609969749.891759, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 891.758918762207, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13056.574821472168, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,892", + "created": 1609969749.892003, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 892.003059387207, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13056.818962097168, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,892", + "created": 1609969749.892163, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 892.1630382537842, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13056.978940963745, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,892", + "created": 1609969749.892334, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 892.333984375, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13057.149887084961, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,892", + "created": 1609969749.892496, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 892.4961090087891, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13057.31201171875, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,892", + "created": 1609969749.892661, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 892.6610946655273, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13057.476997375488, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,892", + "created": 1609969749.892808, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 892.8079605102539, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13057.623863220215, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,892", + "created": 1609969749.892946, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 892.9460048675537, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13057.761907577515, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:09,893", + "created": 1609969749.89313, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 893.1300640106201, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13057.945966720581, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,893", + "created": 1609969749.893317, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 893.3169841766357, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13058.132886886597, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,893", + "created": 1609969749.89355, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 893.549919128418, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13058.365821838379, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,893", + "created": 1609969749.893834, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 893.834114074707, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13058.650016784668, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,893", + "created": 1609969749.893977, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 893.9769268035889, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13058.79282951355, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,894", + "created": 1609969749.894107, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 894.1071033477783, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13058.92300605774, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,894", + "created": 1609969749.894493, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 894.4931030273438, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13059.309005737305, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,894", + "created": 1609969749.894804, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 894.8040008544922, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13059.619903564453, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,895", + "created": 1609969749.895107, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 895.1070308685303, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13059.922933578491, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 895.3490257263184, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13060.16492843628, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00024199485778808594 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,896", + "created": 1609969749.896075, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client Communication instance connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client Communication instance connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,895", + "created": 1609969749.895722, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client Communication instance connection status): False ()", + "module": "test", + "msecs": 895.7219123840332, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13060.537815093994, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Client Communication instance connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,895", + "created": 1609969749.895911, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client Communication instance connection status): result = False ()", + "module": "test", + "msecs": 895.9109783172607, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13060.726881027222, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 896.0750102996826, + "msg": "Client Communication instance connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13060.890913009644, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.000164031982421875 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,896", + "created": 1609969749.896753, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server Communication instance connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server Communication instance connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,896", + "created": 1609969749.896363, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server Communication instance connection status): False ()", + "module": "test", + "msecs": 896.3630199432373, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13061.178922653198, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Server Communication instance connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,896", + "created": 1609969749.896558, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server Communication instance connection status): result = False ()", + "module": "test", + "msecs": 896.5580463409424, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13061.373949050903, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 896.7530727386475, + "msg": "Server Communication instance connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13061.568975448608, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00019502639770507812 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,900", + "created": 1609969749.90061, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "is_connected", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 37, + "message": "Connecting Client", + "module": "test_add_methods", + "moduleLogger": [ + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,897", + "created": 1609969749.897091, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 897.0909118652344, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13061.906814575195, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:09,897", + "created": 1609969749.897384, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 897.3839282989502, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13062.199831008911, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,897", + "created": 1609969749.897936, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", + "module": "test_helpers", + "msecs": 897.9361057281494, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13062.75200843811, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,898", + "created": 1609969749.898249, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", + "module": "test_helpers", + "msecs": 898.2489109039307, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 28 3b d3 54", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13063.064813613892, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:09,898", + "created": 1609969749.898682, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 898.6821174621582, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13063.49802017212, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__channel_name_request__" + ], + "asctime": "2021-01-06 22:49:09,898", + "created": 1609969749.898937, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 898.9369869232178, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13063.752889633179, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:09,899", + "created": 1609969749.899178, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 899.1780281066895, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13063.99393081665, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,899", + "created": 1609969749.89957, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 899.5699882507324, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13064.385890960693, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,899", + "created": 1609969749.899846, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "module": "test_helpers", + "msecs": 899.846076965332, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 14 5b 30 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13064.661979675293, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:09,900", + "created": 1609969749.90018, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 900.1801013946533, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13064.996004104614, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:09,900", + "created": 1609969749.900397, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 900.3970623016357, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13065.212965011597, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 900.6099700927734, + "msg": "Connecting Client", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13065.425872802734, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0002129077911376953 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,901", + "created": 1609969749.901652, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client Communication instance connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client Communication instance connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,901", + "created": 1609969749.901001, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client Communication instance connection status): True ()", + "module": "test", + "msecs": 901.0009765625, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13065.816879272461, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Client Communication instance connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,901", + "created": 1609969749.901359, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client Communication instance connection status): result = True ()", + "module": "test", + "msecs": 901.3590812683105, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13066.174983978271, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 901.6520977020264, + "msg": "Client Communication instance connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13066.468000411987, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0002930164337158203 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,902", + "created": 1609969749.902436, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server Communication instance connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server Communication instance connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,902", + "created": 1609969749.902072, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server Communication instance connection status): False ()", + "module": "test", + "msecs": 902.0719528198242, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13066.887855529785, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Server Communication instance connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,902", + "created": 1609969749.902253, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server Communication instance connection status): result = False ()", + "module": "test", + "msecs": 902.2529125213623, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13067.068815231323, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 902.4360179901123, + "msg": "Server Communication instance connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13067.251920700073, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00018310546875 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,902", + "created": 1609969749.902908, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "is_connected", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 41, + "message": "Connecting Server", + "module": "test_add_methods", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,902", + "created": 1609969749.902688, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 902.6880264282227, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13067.503929138184, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 902.9080867767334, + "msg": "Connecting Server", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13067.723989486694, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0002200603485107422 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,903", + "created": 1609969749.90335, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client Communication instance connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client Communication instance connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,903", + "created": 1609969749.903175, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client Communication instance connection status): True ()", + "module": "test", + "msecs": 903.1751155853271, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13067.991018295288, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Client Communication instance connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,903", + "created": 1609969749.903288, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client Communication instance connection status): result = True ()", + "module": "test", + "msecs": 903.2878875732422, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13068.103790283203, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 903.3501148223877, + "msg": "Client Communication instance connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13068.166017532349, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 6.222724914550781e-05 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,903", + "created": 1609969749.903577, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server Communication instance connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server Communication instance connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,903", + "created": 1609969749.90346, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server Communication instance connection status): True ()", + "module": "test", + "msecs": 903.4600257873535, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13068.275928497314, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Server Communication instance connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,903", + "created": 1609969749.90352, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server Communication instance connection status): result = True ()", + "module": "test", + "msecs": 903.5201072692871, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13068.336009979248, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 903.5770893096924, + "msg": "Server Communication instance connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13068.392992019653, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 5.698204040527344e-05 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.018501996994018555, + "time_finished": "2021-01-06 22:49:09,903", + "time_start": "2021-01-06 22:49:09,885" + }, + "_gvJ1oE4gEeupHeIYRnC0qw": { + "args": null, + "asctime": "2021-01-06 22:49:09,903", + "created": 1609969749.903844, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 55, + "message": "_gvJ1oE4gEeupHeIYRnC0qw", + "module": "__init__", + "moduleLogger": [], + "msecs": 903.8441181182861, + "msg": "_gvJ1oE4gEeupHeIYRnC0qw", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13068.660020828247, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:09,908", + "created": 1609969749.908971, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,904", + "created": 1609969749.90407, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 904.0699005126953, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13068.885803222656, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:09,904", + "created": 1609969749.904148, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 904.1481018066406, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13068.964004516602, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,904", + "created": 1609969749.90424, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 904.2398929595947, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13069.055795669556, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,904", + "created": 1609969749.904309, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 904.3090343475342, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13069.124937057495, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,904", + "created": 1609969749.904368, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 904.3679237365723, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13069.183826446533, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,904", + "created": 1609969749.904426, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 904.426097869873, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13069.242000579834, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,904", + "created": 1609969749.904489, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 904.4890403747559, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13069.304943084717, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,904", + "created": 1609969749.904546, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 904.5460224151611, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13069.361925125122, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,904", + "created": 1609969749.904602, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 904.60205078125, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13069.417953491211, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,904", + "created": 1609969749.904692, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 904.6919345855713, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13069.507837295532, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,904", + "created": 1609969749.904807, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 904.8070907592773, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13069.622993469238, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:09,904", + "created": 1609969749.904965, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 904.9649238586426, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13069.780826568604, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,905", + "created": 1609969749.905113, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 905.1129817962646, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13069.928884506226, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,905", + "created": 1609969749.905234, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 905.2340984344482, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13070.05000114441, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,905", + "created": 1609969749.905368, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 905.3680896759033, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13070.183992385864, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,905", + "created": 1609969749.905506, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 905.505895614624, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13070.321798324585, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,905", + "created": 1609969749.905645, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 905.6448936462402, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13070.460796356201, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,905", + "created": 1609969749.905761, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 905.7610034942627, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13070.576906204224, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,905", + "created": 1609969749.905941, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 905.9410095214844, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13070.756912231445, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,906", + "created": 1609969749.906082, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 906.0819149017334, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13070.897817611694, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,906", + "created": 1609969749.906323, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 906.3229560852051, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13071.138858795166, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:09,906", + "created": 1609969749.906454, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 906.4540863037109, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13071.269989013672, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,906", + "created": 1609969749.906623, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 906.6228866577148, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13071.438789367676, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,906", + "created": 1609969749.906771, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 906.7709445953369, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13071.586847305298, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,906", + "created": 1609969749.906907, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 906.9070816040039, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13071.722984313965, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,907", + "created": 1609969749.907022, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 907.0219993591309, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13071.837902069092, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,907", + "created": 1609969749.907144, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 907.1440696716309, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13071.959972381592, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,907", + "created": 1609969749.907281, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 907.2809219360352, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13072.096824645996, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,907", + "created": 1609969749.907415, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 907.4149131774902, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13072.230815887451, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,907", + "created": 1609969749.90755, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 907.5500965118408, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13072.365999221802, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,907", + "created": 1609969749.907673, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 907.6728820800781, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13072.488784790039, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:09,907", + "created": 1609969749.90783, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 907.829999923706, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13072.645902633667, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,907", + "created": 1609969749.90797, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 907.9699516296387, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13072.7858543396, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,908", + "created": 1609969749.908115, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 908.1149101257324, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13072.930812835693, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,908", + "created": 1609969749.908236, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 908.236026763916, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13073.051929473877, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,908", + "created": 1609969749.908349, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 908.3490371704102, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13073.164939880371, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,908", + "created": 1609969749.908473, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 908.473014831543, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13073.288917541504, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,908", + "created": 1609969749.9086, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 908.6000919342041, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13073.415994644165, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,908", + "created": 1609969749.908712, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 908.7119102478027, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13073.527812957764, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,908", + "created": 1609969749.908834, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 908.8339805603027, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13073.649883270264, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 908.9710712432861, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13073.786973953247, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00013709068298339844 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,909", + "created": 1609969749.909434, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Reconnect executed marker is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Reconnect executed marker", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,909", + "created": 1609969749.909192, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Reconnect executed marker): False ()", + "module": "test", + "msecs": 909.1920852661133, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13074.007987976074, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Reconnect executed marker", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,909", + "created": 1609969749.909316, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Reconnect executed marker): result = False ()", + "module": "test", + "msecs": 909.3160629272461, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13074.131965637207, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 909.4340801239014, + "msg": "Reconnect executed marker is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13074.249982833862, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00011801719665527344 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,909", + "created": 1609969749.909974, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Reconnect executed marker is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Reconnect executed marker", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,909", + "created": 1609969749.909622, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Reconnect executed marker): False ()", + "module": "test", + "msecs": 909.6219539642334, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13074.437856674194, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Reconnect executed marker", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,909", + "created": 1609969749.909738, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Reconnect executed marker): result = False ()", + "module": "test", + "msecs": 909.7380638122559, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13074.553966522217, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 909.9740982055664, + "msg": "Reconnect executed marker is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13074.790000915527, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00023603439331054688 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,910", + "created": 1609969749.910261, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "reconnect", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 53, + "message": "Executing reconnect for Server", + "module": "test_add_methods", + "moduleLogger": [], + "msecs": 910.2609157562256, + "msg": "Executing reconnect for Server", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13075.076818466187, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,910", + "created": 1609969749.910672, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Reconnect executed marker is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Reconnect executed marker", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,910", + "created": 1609969749.910445, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Reconnect executed marker): True ()", + "module": "test", + "msecs": 910.444974899292, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13075.260877609253, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Reconnect executed marker", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,910", + "created": 1609969749.910561, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Reconnect executed marker): result = True ()", + "module": "test", + "msecs": 910.5610847473145, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13075.376987457275, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 910.6719493865967, + "msg": "Reconnect executed marker is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13075.487852096558, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00011086463928222656 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,911", + "created": 1609969749.91107, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Reconnect executed marker is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Reconnect executed marker", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,910", + "created": 1609969749.910858, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Reconnect executed marker): False ()", + "module": "test", + "msecs": 910.8579158782959, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13075.673818588257, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Reconnect executed marker", + "False", + "" + ], + "asctime": "2021-01-06 22:49:09,910", + "created": 1609969749.910968, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Reconnect executed marker): result = False ()", + "module": "test", + "msecs": 910.9680652618408, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13075.783967971802, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 911.0701084136963, + "msg": "Reconnect executed marker is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13075.886011123657, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00010204315185546875 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,911", + "created": 1609969749.911232, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "reconnect", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 58, + "message": "Executing reconnect for Client", + "module": "test_add_methods", + "moduleLogger": [], + "msecs": 911.2319946289062, + "msg": "Executing reconnect for Client", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13076.047897338867, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,911", + "created": 1609969749.911615, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Reconnect executed marker is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Reconnect executed marker", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,911", + "created": 1609969749.911399, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Reconnect executed marker): True ()", + "module": "test", + "msecs": 911.3988876342773, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13076.214790344238, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Reconnect executed marker", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,911", + "created": 1609969749.911509, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Reconnect executed marker): result = True ()", + "module": "test", + "msecs": 911.5090370178223, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13076.324939727783, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 911.6148948669434, + "msg": "Reconnect executed marker is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13076.430797576904, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00010585784912109375 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,912", + "created": 1609969749.912002, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Reconnect executed marker is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Reconnect executed marker", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,911", + "created": 1609969749.911776, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Reconnect executed marker): True ()", + "module": "test", + "msecs": 911.776065826416, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13076.591968536377, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Reconnect executed marker", + "True", + "" + ], + "asctime": "2021-01-06 22:49:09,911", + "created": 1609969749.911889, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Reconnect executed marker): result = True ()", + "module": "test", + "msecs": 911.8890762329102, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13076.704978942871, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 912.0020866394043, + "msg": "Reconnect executed marker is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 13076.817989349365, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00011301040649414062 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.008157968521118164, + "time_finished": "2021-01-06 22:49:09,912", + "time_start": "2021-01-06 22:49:09,903" + }, + "_j-npsE0MEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:48:57,706", + "created": 1609969737.706009, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 35, + "message": "_j-npsE0MEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 706.0089111328125, + "msg": "_j-npsE0MEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 870.8248138427734, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:48:57,713", + "created": 1609969737.713855, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:48:57,706", + "created": 1609969737.706524, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 706.5238952636719, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 871.3397979736328, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:48:57,706", + "created": 1609969737.706752, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 706.7520618438721, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 871.567964553833, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:48:57,707", + "created": 1609969737.707014, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 707.0140838623047, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 871.8299865722656, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:48:57,707", + "created": 1609969737.70721, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 707.2100639343262, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 872.0259666442871, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:48:57,707", + "created": 1609969737.70738, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 707.3800563812256, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 872.1959590911865, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:48:57,707", + "created": 1609969737.707544, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 707.5440883636475, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 872.3599910736084, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:48:57,707", + "created": 1609969737.707726, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 707.726001739502, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 872.5419044494629, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:48:57,707", + "created": 1609969737.707922, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 707.9219818115234, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 872.7378845214844, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:48:57,708", + "created": 1609969737.708101, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 708.1010341644287, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 872.9169368743896, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:48:57,708", + "created": 1609969737.708295, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 708.2951068878174, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 873.1110095977783, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:48:57,708", + "created": 1609969737.708456, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 708.4560394287109, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 873.2719421386719, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:48:57,708", + "created": 1609969737.708645, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 708.6451053619385, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 873.4610080718994, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:48:57,708", + "created": 1609969737.708839, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 708.838939666748, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 873.654842376709, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:48:57,709", + "created": 1609969737.709001, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 709.0010643005371, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 873.816967010498, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:48:57,709", + "created": 1609969737.70917, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 709.1701030731201, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 873.986005783081, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:48:57,709", + "created": 1609969737.709345, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 709.3451023101807, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 874.1610050201416, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:48:57,709", + "created": 1609969737.709532, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 709.5320224761963, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 874.3479251861572, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:48:57,709", + "created": 1609969737.709691, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 709.691047668457, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 874.506950378418, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:48:57,709", + "created": 1609969737.709866, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 709.8660469055176, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 874.6819496154785, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:48:57,710", + "created": 1609969737.71004, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 710.0400924682617, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 874.8559951782227, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:57,710", + "created": 1609969737.710407, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 710.407018661499, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 875.22292137146, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:48:57,710", + "created": 1609969737.710595, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 710.594892501831, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 875.410795211792, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:48:57,710", + "created": 1609969737.710834, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 710.8340263366699, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 875.6499290466309, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:48:57,710", + "created": 1609969737.711, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 710.9999656677246, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 875.8158683776855, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:48:57,711", + "created": 1609969737.711156, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 711.155891418457, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 875.971794128418, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:48:57,711", + "created": 1609969737.711312, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 711.3120555877686, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 876.1279582977295, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:48:57,711", + "created": 1609969737.711482, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 711.482048034668, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 876.2979507446289, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:48:57,711", + "created": 1609969737.711669, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 711.6689682006836, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 876.4848709106445, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:48:57,711", + "created": 1609969737.711843, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 711.8430137634277, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 876.6589164733887, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:48:57,712", + "created": 1609969737.712024, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 712.0239734649658, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 876.8398761749268, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:57,712", + "created": 1609969737.712178, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 712.1779918670654, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 876.9938945770264, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:48:57,712", + "created": 1609969737.712369, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 712.3689651489258, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 877.1848678588867, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:48:57,712", + "created": 1609969737.712552, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 712.5520706176758, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 877.3679733276367, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:48:57,712", + "created": 1609969737.712724, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 712.723970413208, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 877.539873123169, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:48:57,712", + "created": 1609969737.712891, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 712.8911018371582, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 877.7070045471191, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:48:57,713", + "created": 1609969737.713074, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 713.0739688873291, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 877.88987159729, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:48:57,713", + "created": 1609969737.71325, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 713.249921798706, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 878.065824508667, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:48:57,713", + "created": 1609969737.713417, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 713.4170532226562, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 878.2329559326172, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:48:57,713", + "created": 1609969737.713575, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 713.5748863220215, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 878.3907890319824, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:57,713", + "created": 1609969737.713741, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 713.7410640716553, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 878.5569667816162, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 713.8550281524658, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 878.6709308624268, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00011396408081054688 + }, + { + "args": [], + "asctime": "2021-01-06 22:48:57,713", + "created": 1609969737.713952, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 86, + "message": "No secret set", + "module": "test_communication", + "moduleLogger": [], + "msecs": 713.9520645141602, + "msg": "No secret set", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 878.7679672241211, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714027, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 88, + "message": "Performing Authentification", + "module": "test_communication", + "moduleLogger": [], + "msecs": 714.026927947998, + "msg": "Performing Authentification", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 878.842830657959, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714202, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Return Value of authentification method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Return Value of authentification method", + "False", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714101, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Return Value of authentification method): False ()", + "module": "test", + "msecs": 714.1010761260986, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 878.9169788360596, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Return Value of authentification method", + "False", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.71415, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Return Value of authentification method): result = False ()", + "module": "test", + "msecs": 714.1499519348145, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 878.9658546447754, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 714.2019271850586, + "msg": "Return Value of authentification method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.0178298950195, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 5.1975250244140625e-05 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714375, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of server is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of server", + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714279, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of server): True ()", + "module": "test", + "msecs": 714.2789363861084, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.0948390960693, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of server", + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714328, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of server): result = True ()", + "module": "test", + "msecs": 714.3280506134033, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.1439533233643, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 714.3750190734863, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.1909217834473, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.696846008300781e-05 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714543, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of client is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of client", + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714452, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of client): True ()", + "module": "test", + "msecs": 714.4520282745361, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.2679309844971, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of client", + "True", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714498, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of client): result = True ()", + "module": "test", + "msecs": 714.4980430603027, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.3139457702637, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 714.5431041717529, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.3590068817139, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.506111145019531e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714613, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 95, + "message": "Different secrets set", + "module": "test_communication", + "moduleLogger": [], + "msecs": 714.6129608154297, + "msg": "Different secrets set", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.4288635253906, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714778, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of server is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714685, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of server): False ()", + "module": "test", + "msecs": 714.6849632263184, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.5008659362793, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714732, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of server): result = False ()", + "module": "test", + "msecs": 714.7319316864014, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.5478343963623, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 714.777946472168, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.5938491821289, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.601478576660156e-05 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714932, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of client is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714856, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of client): False ()", + "module": "test", + "msecs": 714.8559093475342, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.6718120574951, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:48:57,714", + "created": 1609969737.714894, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of client): result = False ()", + "module": "test", + "msecs": 714.8940563201904, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.7099590301514, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 714.9319648742676, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.7478675842285, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 3.790855407714844e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:48:58,417", + "created": 1609969738.417363, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 100, + "message": "Performing Authentification", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:48:57,715", + "created": 1609969737.715003, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 715.0030136108398, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.8189163208008, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:57,715", + "created": 1609969737.715133, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "module": "test_helpers", + "msecs": 715.1329517364502, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 879.9488544464111, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:57,866", + "created": 1609969737.866033, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "module": "test_helpers", + "msecs": 866.0330772399902, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1030.8489799499512, + "thread": 140012328822528, + "threadName": "Thread-1" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:48:57,866", + "created": 1609969737.86644, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 866.4400577545166, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1031.2559604644775, + "thread": 140012328822528, + "threadName": "Thread-1" + }, + { + "args": [ + "SP server:", + "__authentificate_create_seed__" + ], + "asctime": "2021-01-06 22:48:57,866", + "created": 1609969737.866648, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_create_seed__ to process received data", + "module": "__init__", + "msecs": 866.6479587554932, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1031.463861465454, + "thread": 140012328822528, + "threadName": "Thread-1" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed", + "status: okay", + "'39cbad68d7688a6eacb746081099bdb15938c8706a3244970581f82683958b48'" + ], + "asctime": "2021-01-06 22:48:57,866", + "created": 1609969737.86687, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: authentification response, data_id: seed, status: okay, data: \"'39cbad68d7688a6eacb746081099bdb15938c8706a3244970581f82683958b48'\"", + "module": "__init__", + "msecs": 866.8699264526367, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1031.6858291625977, + "thread": 140012328822528, + "threadName": "Thread-1" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:57,867", + "created": 1609969737.867422, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 33 39 63 62 61 64 36 38 64 37 36 38 38 61 36 65 61 63 62 37 34 36 30 38 31 30 39 39 62 64 62 31 35 39 33 38 63 38 37 30 36 61 33 32 34 34 39 37 30 35 38 31 66 38 32 36 38 33 39 35 38 62 34 38 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d b4 3e 73 ab", + "module": "test_helpers", + "msecs": 867.4221038818359, + "msg": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 33 39 63 62 61 64 36 38 64 37 36 38 38 61 36 65 61 63 62 37 34 36 30 38 31 30 39 39 62 64 62 31 35 39 33 38 63 38 37 30 36 61 33 32 34 34 39 37 30 35 38 31 66 38 32 36 38 33 39 35 38 62 34 38 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d b4 3e 73 ab", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1032.2380065917969, + "thread": 140012328822528, + "threadName": "Thread-1" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:58,018", + "created": 1609969738.018906, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 33 39 63 62 61 64 36 38 64 37 36 38 38 61 36 65 61 63 62 37 34 36 30 38 31 30 39 39 62 64 62 31 35 39 33 38 63 38 37 30 36 61 33 32 34 34 39 37 30 35 38 31 66 38 32 36 38 33 39 35 38 62 34 38 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d b4 3e 73 ab", + "module": "test_helpers", + "msecs": 18.906116485595703, + "msg": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 33 39 63 62 61 64 36 38 64 37 36 38 38 61 36 65 61 63 62 37 34 36 30 38 31 30 39 39 62 64 62 31 35 39 33 38 63 38 37 30 36 61 33 32 34 34 39 37 30 35 38 31 66 38 32 36 38 33 39 35 38 62 34 38 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d b4 3e 73 ab", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1183.7220191955566, + "thread": 140012320429824, + "threadName": "Thread-2" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed", + "status: okay", + "u'39cbad68d7688a6eacb746081099bdb15938c8706a3244970581f82683958b48'" + ], + "asctime": "2021-01-06 22:48:58,019", + "created": 1609969738.019435, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: authentification response, data_id: seed, status: okay, data: \"u'39cbad68d7688a6eacb746081099bdb15938c8706a3244970581f82683958b48'\"", + "module": "__init__", + "msecs": 19.43492889404297, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1184.250831604004, + "thread": 140012320429824, + "threadName": "Thread-2" + }, + { + "args": [ + "SP client:", + "__authentificate_create_key__" + ], + "asctime": "2021-01-06 22:48:58,019", + "created": 1609969738.019691, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_create_key__ to process received data", + "module": "__init__", + "msecs": 19.690990447998047, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1184.506893157959, + "thread": 140012320429824, + "threadName": "Thread-2" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key", + "status: okay", + "'d971ebb309d9c96503fa6b2138f7e30b29009b14dbe4069d34b3f6cd9b1633a9954b13a93594c9b99c97053e4f4d644bda7f2a0b958b331112063c8bd2ac030d'" + ], + "asctime": "2021-01-06 22:48:58,019", + "created": 1609969738.019969, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: authentification request, data_id: key, status: okay, data: \"'d971ebb309d9c96503fa6b2138f7e30b29009b14dbe4069d34b3f6cd9b1633a9954b13a93594c9b99c97053e4f4d644bda7f2a0b958b331112063c8bd2ac030d'\"", + "module": "__init__", + "msecs": 19.96898651123047, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1184.7848892211914, + "thread": 140012320429824, + "threadName": "Thread-2" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:58,020", + "created": 1609969738.020776, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 64 39 37 31 65 62 62 33 30 39 64 39 63 39 36 35 30 33 66 61 36 62 32 31 33 38 66 37 65 33 30 62 32 39 30 30 39 62 31 34 64 62 65 34 30 36 39 64 33 34 62 33 66 36 63 64 39 62 31 36 33 33 61 39 39 35 34 62 31 33 61 39 33 35 39 34 63 39 62 39 39 63 39 37 30 35 33 65 34 66 34 64 36 34 34 62 64 61 37 66 32 61 30 62 39 35 38 62 33 33 31 31 31 32 30 36 33 63 38 62 64 32 61 63 30 33 30 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 87 d8 31 d6", + "module": "test_helpers", + "msecs": 20.776033401489258, + "msg": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 64 39 37 31 65 62 62 33 30 39 64 39 63 39 36 35 30 33 66 61 36 62 32 31 33 38 66 37 65 33 30 62 32 39 30 30 39 62 31 34 64 62 65 34 30 36 39 64 33 34 62 33 66 36 63 64 39 62 31 36 33 33 61 39 39 35 34 62 31 33 61 39 33 35 39 34 63 39 62 39 39 63 39 37 30 35 33 65 34 66 34 64 36 34 34 62 64 61 37 66 32 61 30 62 39 35 38 62 33 33 31 31 31 32 30 36 33 63 38 62 64 32 61 63 30 33 30 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 87 d8 31 d6", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1185.5919361114502, + "thread": 140012320429824, + "threadName": "Thread-2" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:58,172", + "created": 1609969738.172327, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 64 39 37 31 65 62 62 33 30 39 64 39 63 39 36 35 30 33 66 61 36 62 32 31 33 38 66 37 65 33 30 62 32 39 30 30 39 62 31 34 64 62 65 34 30 36 39 64 33 34 62 33 66 36 63 64 39 62 31 36 33 33 61 39 39 35 34 62 31 33 61 39 33 35 39 34 63 39 62 39 39 63 39 37 30 35 33 65 34 66 34 64 36 34 34 62 64 61 37 66 32 61 30 62 39 35 38 62 33 33 31 31 31 32 30 36 33 63 38 62 64 32 61 63 30 33 30 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 87 d8 31 d6", + "module": "test_helpers", + "msecs": 172.32704162597656, + "msg": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 64 39 37 31 65 62 62 33 30 39 64 39 63 39 36 35 30 33 66 61 36 62 32 31 33 38 66 37 65 33 30 62 32 39 30 30 39 62 31 34 64 62 65 34 30 36 39 64 33 34 62 33 66 36 63 64 39 62 31 36 33 33 61 39 39 35 34 62 31 33 61 39 33 35 39 34 63 39 62 39 39 63 39 37 30 35 33 65 34 66 34 64 36 34 34 62 64 61 37 66 32 61 30 62 39 35 38 62 33 33 31 31 31 32 30 36 33 63 38 62 64 32 61 63 30 33 30 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 87 d8 31 d6", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1337.1429443359375, + "thread": 140012328822528, + "threadName": "Thread-3" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key", + "status: okay", + "u'd971ebb309d9c96503fa6b2138f7e30b29009b14dbe4069d34b3f6cd9b1633a9954b13a93594c9b99c97053e4f4d644bda7f2a0b958b331112063c8bd2ac030d'" + ], + "asctime": "2021-01-06 22:48:58,172", + "created": 1609969738.17278, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: authentification request, data_id: key, status: okay, data: \"u'd971ebb309d9c96503fa6b2138f7e30b29009b14dbe4069d34b3f6cd9b1633a9954b13a93594c9b99c97053e4f4d644bda7f2a0b958b331112063c8bd2ac030d'\"", + "module": "__init__", + "msecs": 172.78003692626953, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1337.5959396362305, + "thread": 140012328822528, + "threadName": "Thread-3" + }, + { + "args": [ + "SP server:", + "__authentificate_check_key__" + ], + "asctime": "2021-01-06 22:48:58,173", + "created": 1609969738.17302, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_check_key__ to process received data", + "module": "__init__", + "msecs": 173.0198860168457, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1337.8357887268066, + "thread": 140012328822528, + "threadName": "Thread-3" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key", + "status: okay", + "False" + ], + "asctime": "2021-01-06 22:48:58,173", + "created": 1609969738.173279, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: authentification response, data_id: key, status: okay, data: \"False\"", + "module": "__init__", + "msecs": 173.2790470123291, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1338.09494972229, + "thread": 140012328822528, + "threadName": "Thread-3" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:58,173", + "created": 1609969738.173689, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (63): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d a1 48 27 7d", + "module": "test_helpers", + "msecs": 173.6888885498047, + "msg": "Send data: (63): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d a1 48 27 7d", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1338.5047912597656, + "thread": 140012328822528, + "threadName": "Thread-3" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:58,324", + "created": 1609969738.324865, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (63): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d a1 48 27 7d", + "module": "test_helpers", + "msecs": 324.86510276794434, + "msg": "Receive data (63): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d a1 48 27 7d", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1489.6810054779053, + "thread": 140012320429824, + "threadName": "Thread-4" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key", + "status: okay", + "False" + ], + "asctime": "2021-01-06 22:48:58,325", + "created": 1609969738.325313, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: authentification response, data_id: key, status: okay, data: \"False\"", + "module": "__init__", + "msecs": 325.3130912780762, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1490.128993988037, + "thread": 140012320429824, + "threadName": "Thread-4" + }, + { + "args": [ + "SP client:", + "__authentificate_process_feedback__" + ], + "asctime": "2021-01-06 22:48:58,325", + "created": 1609969738.325559, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_process_feedback__ to process received data", + "module": "__init__", + "msecs": 325.5589008331299, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1490.3748035430908, + "thread": 140012320429824, + "threadName": "Thread-4" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:58,325", + "created": 1609969738.325745, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentificate_process_feedback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 353, + "message": "SP client: Got negative authentification feedback", + "module": "__init__", + "msecs": 325.7451057434082, + "msg": "%s Got negative authentification feedback", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1490.5610084533691, + "thread": 140012320429824, + "threadName": "Thread-4" + } + ], + "msecs": 417.36292839050293, + "msg": "Performing Authentification", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1582.1788311004639, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.09161782264709473 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:48:58,418", + "created": 1609969738.418346, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Return Value of authentification method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Return Value of authentification method", + "False", + "" + ], + "asctime": "2021-01-06 22:48:58,417", + "created": 1609969738.417935, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Return Value of authentification method): False ()", + "module": "test", + "msecs": 417.9348945617676, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1582.7507972717285, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Return Value of authentification method", + "False", + "" + ], + "asctime": "2021-01-06 22:48:58,418", + "created": 1609969738.418146, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Return Value of authentification method): result = False ()", + "module": "test", + "msecs": 418.14589500427246, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1582.9617977142334, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 418.3459281921387, + "msg": "Return Value of authentification method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1583.1618309020996, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00020003318786621094 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:48:58,418", + "created": 1609969738.418951, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of server is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:48:58,418", + "created": 1609969738.418623, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of server): False ()", + "module": "test", + "msecs": 418.6229705810547, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1583.4388732910156, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:48:58,418", + "created": 1609969738.418792, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of server): result = False ()", + "module": "test", + "msecs": 418.7920093536377, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1583.6079120635986, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 418.95103454589844, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1583.7669372558594, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001590251922607422 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:48:58,419", + "created": 1609969738.419527, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of client is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:48:58,419", + "created": 1609969738.419215, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of client): False ()", + "module": "test", + "msecs": 419.21496391296387, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1584.0308666229248, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:48:58,419", + "created": 1609969738.419373, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of client): result = False ()", + "module": "test", + "msecs": 419.3730354309082, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1584.1889381408691, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 419.5270538330078, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1584.3429565429688, + "thread": 140012350113600, "threadName": "MainThread", "time_consumption": 0.00015401840209960938 }, { - "args": [ - "{u'test': u'test'}", - "" + "args": [], + "asctime": "2021-01-06 22:48:58,419", + "created": 1609969738.419765, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 107, + "message": "Identical secrets set", + "module": "test_communication", + "moduleLogger": [], + "msecs": 419.7649955749512, + "msg": "Identical secrets set", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1584.580898284912, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:48:59,123", + "created": 1609969739.123084, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 109, + "message": "Performing Authentification", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:48:58,420", + "created": 1609969738.420052, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 420.05205154418945, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1584.8679542541504, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:58,420", + "created": 1609969738.420533, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "module": "test_helpers", + "msecs": 420.5329418182373, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1585.3488445281982, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:58,571", + "created": 1609969738.571733, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "module": "test_helpers", + "msecs": 571.7329978942871, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1736.548900604248, + "thread": 140012320429824, + "threadName": "Thread-5" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:48:58,572", + "created": 1609969738.572249, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 572.2489356994629, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1737.0648384094238, + "thread": 140012320429824, + "threadName": "Thread-5" + }, + { + "args": [ + "SP server:", + "__authentificate_create_seed__" + ], + "asctime": "2021-01-06 22:48:58,572", + "created": 1609969738.572498, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_create_seed__ to process received data", + "module": "__init__", + "msecs": 572.498083114624, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1737.313985824585, + "thread": 140012320429824, + "threadName": "Thread-5" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed", + "status: okay", + "'304b61ac154ab9c4d5b495331036bacc3d1ba73b58231cdfa65ab76672ef5a88'" + ], + "asctime": "2021-01-06 22:48:58,572", + "created": 1609969738.572777, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: authentification response, data_id: seed, status: okay, data: \"'304b61ac154ab9c4d5b495331036bacc3d1ba73b58231cdfa65ab76672ef5a88'\"", + "module": "__init__", + "msecs": 572.7770328521729, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1737.5929355621338, + "thread": 140012320429824, + "threadName": "Thread-5" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:58,573", + "created": 1609969738.573405, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 33 30 34 62 36 31 61 63 31 35 34 61 62 39 63 34 64 35 62 34 39 35 33 33 31 30 33 36 62 61 63 63 33 64 31 62 61 37 33 62 35 38 32 33 31 63 64 66 61 36 35 61 62 37 36 36 37 32 65 66 35 61 38 38 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e2 11 2a ad", + "module": "test_helpers", + "msecs": 573.4050273895264, + "msg": "Send data: (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 33 30 34 62 36 31 61 63 31 35 34 61 62 39 63 34 64 35 62 34 39 35 33 33 31 30 33 36 62 61 63 63 33 64 31 62 61 37 33 62 35 38 32 33 31 63 64 66 61 36 35 61 62 37 36 36 37 32 65 66 35 61 38 38 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e2 11 2a ad", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1738.2209300994873, + "thread": 140012320429824, + "threadName": "Thread-5" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:58,724", + "created": 1609969738.724851, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 33 30 34 62 36 31 61 63 31 35 34 61 62 39 63 34 64 35 62 34 39 35 33 33 31 30 33 36 62 61 63 63 33 64 31 62 61 37 33 62 35 38 32 33 31 63 64 66 61 36 35 61 62 37 36 36 37 32 65 66 35 61 38 38 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e2 11 2a ad", + "module": "test_helpers", + "msecs": 724.8508930206299, + "msg": "Receive data (124): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 22 33 30 34 62 36 31 61 63 31 35 34 61 62 39 63 34 64 35 62 34 39 35 33 33 31 30 33 36 62 61 63 63 33 64 31 62 61 37 33 62 35 38 32 33 31 63 64 66 61 36 35 61 62 37 36 36 37 32 65 66 35 61 38 38 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e2 11 2a ad", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1889.6667957305908, + "thread": 140012328822528, + "threadName": "Thread-6" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed", + "status: okay", + "u'304b61ac154ab9c4d5b495331036bacc3d1ba73b58231cdfa65ab76672ef5a88'" + ], + "asctime": "2021-01-06 22:48:58,725", + "created": 1609969738.725354, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: authentification response, data_id: seed, status: okay, data: \"u'304b61ac154ab9c4d5b495331036bacc3d1ba73b58231cdfa65ab76672ef5a88'\"", + "module": "__init__", + "msecs": 725.3539562225342, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1890.1698589324951, + "thread": 140012328822528, + "threadName": "Thread-6" + }, + { + "args": [ + "SP client:", + "__authentificate_create_key__" + ], + "asctime": "2021-01-06 22:48:58,725", + "created": 1609969738.725671, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_create_key__ to process received data", + "module": "__init__", + "msecs": 725.6710529327393, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1890.4869556427002, + "thread": 140012328822528, + "threadName": "Thread-6" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key", + "status: okay", + "'c8245de1de6057d04359964bcbae62100c634d66ee38b12cbe44af4e223ab644cf6847fce9be0fc780d873189fb1bb5d97bc6699aa1d221829cdc9512289d25a'" + ], + "asctime": "2021-01-06 22:48:58,726", + "created": 1609969738.726066, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: authentification request, data_id: key, status: okay, data: \"'c8245de1de6057d04359964bcbae62100c634d66ee38b12cbe44af4e223ab644cf6847fce9be0fc780d873189fb1bb5d97bc6699aa1d221829cdc9512289d25a'\"", + "module": "__init__", + "msecs": 726.0661125183105, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1890.8820152282715, + "thread": 140012328822528, + "threadName": "Thread-6" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:58,726", + "created": 1609969738.726892, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 63 38 32 34 35 64 65 31 64 65 36 30 35 37 64 30 34 33 35 39 39 36 34 62 63 62 61 65 36 32 31 30 30 63 36 33 34 64 36 36 65 65 33 38 62 31 32 63 62 65 34 34 61 66 34 65 32 32 33 61 62 36 34 34 63 66 36 38 34 37 66 63 65 39 62 65 30 66 63 37 38 30 64 38 37 33 31 38 39 66 62 31 62 62 35 64 39 37 62 63 36 36 39 39 61 61 31 64 32 32 31 38 32 39 63 64 63 39 35 31 32 32 38 39 64 32 35 61 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 03 29 6d 58", + "module": "test_helpers", + "msecs": 726.8919944763184, + "msg": "Send data: (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 63 38 32 34 35 64 65 31 64 65 36 30 35 37 64 30 34 33 35 39 39 36 34 62 63 62 61 65 36 32 31 30 30 63 36 33 34 64 36 36 65 65 33 38 62 31 32 63 62 65 34 34 61 66 34 65 32 32 33 61 62 36 34 34 63 66 36 38 34 37 66 63 65 39 62 65 30 66 63 37 38 30 64 38 37 33 31 38 39 66 62 31 62 62 35 64 39 37 62 63 36 36 39 39 61 61 31 64 32 32 31 38 32 39 63 64 63 39 35 31 32 32 38 39 64 32 35 61 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 03 29 6d 58", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 1891.7078971862793, + "thread": 140012328822528, + "threadName": "Thread-6" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:58,878", + "created": 1609969738.878492, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 63 38 32 34 35 64 65 31 64 65 36 30 35 37 64 30 34 33 35 39 39 36 34 62 63 62 61 65 36 32 31 30 30 63 36 33 34 64 36 36 65 65 33 38 62 31 32 63 62 65 34 34 61 66 34 65 32 32 33 61 62 36 34 34 63 66 36 38 34 37 66 63 65 39 62 65 30 66 63 37 38 30 64 38 37 33 31 38 39 66 62 31 62 62 35 64 39 37 62 63 36 36 39 39 61 61 31 64 32 32 31 38 32 39 63 64 63 39 35 31 32 32 38 39 64 32 35 61 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 03 29 6d 58", + "module": "test_helpers", + "msecs": 878.4921169281006, + "msg": "Receive data (188): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 63 38 32 34 35 64 65 31 64 65 36 30 35 37 64 30 34 33 35 39 39 36 34 62 63 62 61 65 36 32 31 30 30 63 36 33 34 64 36 36 65 65 33 38 62 31 32 63 62 65 34 34 61 66 34 65 32 32 33 61 62 36 34 34 63 66 36 38 34 37 66 63 65 39 62 65 30 66 63 37 38 30 64 38 37 33 31 38 39 66 62 31 62 62 35 64 39 37 62 63 36 36 39 39 61 61 31 64 32 32 31 38 32 39 63 64 63 39 35 31 32 32 38 39 64 32 35 61 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 03 29 6d 58", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2043.3080196380615, + "thread": 140012320429824, + "threadName": "Thread-7" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key", + "status: okay", + "u'c8245de1de6057d04359964bcbae62100c634d66ee38b12cbe44af4e223ab644cf6847fce9be0fc780d873189fb1bb5d97bc6699aa1d221829cdc9512289d25a'" + ], + "asctime": "2021-01-06 22:48:58,878", + "created": 1609969738.878999, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: authentification request, data_id: key, status: okay, data: \"u'c8245de1de6057d04359964bcbae62100c634d66ee38b12cbe44af4e223ab644cf6847fce9be0fc780d873189fb1bb5d97bc6699aa1d221829cdc9512289d25a'\"", + "module": "__init__", + "msecs": 878.9989948272705, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2043.8148975372314, + "thread": 140012320429824, + "threadName": "Thread-7" + }, + { + "args": [ + "SP server:", + "__authentificate_check_key__" + ], + "asctime": "2021-01-06 22:48:58,879", + "created": 1609969738.87925, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_check_key__ to process received data", + "module": "__init__", + "msecs": 879.2500495910645, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2044.0659523010254, + "thread": 140012320429824, + "threadName": "Thread-7" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key", + "status: okay", + "True" + ], + "asctime": "2021-01-06 22:48:58,879", + "created": 1609969738.879529, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: authentification response, data_id: key, status: okay, data: \"True\"", + "module": "__init__", + "msecs": 879.5289993286133, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2044.3449020385742, + "thread": 140012320429824, + "threadName": "Thread-7" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:58,879", + "created": 1609969738.879991, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", + "module": "test_helpers", + "msecs": 879.9910545349121, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2044.806957244873, + "thread": 140012320429824, + "threadName": "Thread-7" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:59,031", + "created": 1609969739.031149, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", + "module": "test_helpers", + "msecs": 31.148910522460938, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 31 7d 11 d3 26 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2195.964813232422, + "thread": 140012328822528, + "threadName": "Thread-8" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key", + "status: okay", + "True" + ], + "asctime": "2021-01-06 22:48:59,031", + "created": 1609969739.031635, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: authentification response, data_id: key, status: okay, data: \"True\"", + "module": "__init__", + "msecs": 31.635046005249023, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2196.45094871521, + "thread": 140012328822528, + "threadName": "Thread-8" + }, + { + "args": [ + "SP client:", + "__authentificate_process_feedback__" + ], + "asctime": "2021-01-06 22:48:59,031", + "created": 1609969739.031886, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_process_feedback__ to process received data", + "module": "__init__", + "msecs": 31.88610076904297, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2196.702003479004, + "thread": 140012328822528, + "threadName": "Thread-8" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:59,032", + "created": 1609969739.032104, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentificate_process_feedback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 350, + "message": "SP client: Got positive authentification feedback", + "module": "__init__", + "msecs": 32.1040153503418, + "msg": "%s Got positive authentification feedback", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2196.9199180603027, + "thread": 140012328822528, + "threadName": "Thread-8" + } ], - "asctime": "2020-12-26 10:11:30,766", - "created": 1608973890.766207, + "msecs": 123.08406829833984, + "msg": "Performing Authentification", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2287.899971008301, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.09098005294799805 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:48:59,123", + "created": 1609969739.123995, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via struct_json_protocol is correct (Content {u'test': u'test'} and Type is ).", + "lineno": 144, + "message": "Return Value of authentification method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Request Data transfered via struct_json_protocol", - "{ u'test': u'test' }", - "" + "Return Value of authentification method", + "True", + "" ], - "asctime": "2020-12-26 10:11:30,765", - "created": 1608973890.765834, + "asctime": "2021-01-06 22:48:59,123", + "created": 1609969739.123596, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -15424,26 +36140,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Request Data transfered via struct_json_protocol): { u'test': u'test' } ()", + "message": "Result (Return Value of authentification method): True ()", "module": "test", - "msecs": 765.8340930938721, + "msecs": 123.5959529876709, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 535.4361534118652, - "thread": 139911147616064, + "relativeCreated": 2288.411855697632, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Request Data transfered via struct_json_protocol", - "{ u'test': u'test' }", - "" + "Return Value of authentification method", + "True", + "" ], - "asctime": "2020-12-26 10:11:30,766", - "created": 1608973890.766, + "asctime": "2021-01-06 22:48:59,123", + "created": 1609969739.123812, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -15451,249 +36167,4153 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Request Data transfered via struct_json_protocol): result = { u'test': u'test' } ()", + "message": "Expectation (Return Value of authentification method): result = True ()", "module": "test", - "msecs": 766.0000324249268, + "msecs": 123.81196022033691, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 535.6020927429199, - "thread": 139911147616064, + "relativeCreated": 2288.627862930298, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 766.2069797515869, - "msg": "Request Data transfered via struct_json_protocol is correct (Content %s and Type is %s).", + "msecs": 123.99506568908691, + "msg": "Return Value of authentification method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 535.8090400695801, - "thread": 139911147616064, + "relativeCreated": 2288.810968399048, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00018310546875 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:48:59,124", + "created": 1609969739.124615, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of server is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of server", + "True", + "" + ], + "asctime": "2021-01-06 22:48:59,124", + "created": 1609969739.124286, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of server): True ()", + "module": "test", + "msecs": 124.28593635559082, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2289.1018390655518, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of server", + "True", + "" + ], + "asctime": "2021-01-06 22:48:59,124", + "created": 1609969739.124454, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of server): result = True ()", + "module": "test", + "msecs": 124.45402145385742, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2289.2699241638184, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 124.61495399475098, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2289.430856704712, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001609325408935547 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:48:59,125", + "created": 1609969739.125182, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of client is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of client", + "True", + "" + ], + "asctime": "2021-01-06 22:48:59,124", + "created": 1609969739.124873, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of client): True ()", + "module": "test", + "msecs": 124.87292289733887, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2289.6888256073, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of client", + "True", + "" + ], + "asctime": "2021-01-06 22:48:59,125", + "created": 1609969739.125029, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of client): result = True ()", + "module": "test", + "msecs": 125.02908706665039, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2289.8449897766113, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 125.18191337585449, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2289.9978160858154, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00015282630920410156 + }, + { + "args": [], + "asctime": "2021-01-06 22:48:59,128", + "created": 1609969739.128736, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 117, + "message": "Corrupting the authentification mechanism", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:48:59,128", + "created": 1609969739.128253, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 128.25298309326172, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2293.0688858032227, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:48:59,128", + "created": 1609969739.128531, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 128.53097915649414, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2293.346881866455, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 128.73601913452148, + "msg": "Corrupting the authentification mechanism", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2293.5519218444824, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00020503997802734375 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:01,135", + "created": 1609969741.135497, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 119, + "message": "Performing Authentification", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:48:59,129", + "created": 1609969739.129056, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 129.05597686767578, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2293.8718795776367, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:59,129", + "created": 1609969739.129538, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "module": "test_helpers", + "msecs": 129.53805923461914, + "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2294.35396194458, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:48:59,280", + "created": 1609969739.280692, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "module": "test_helpers", + "msecs": 280.69210052490234, + "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 10 4d cd 55", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2445.5080032348633, + "thread": 140012328822528, + "threadName": "Thread-9" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:48:59,281", + "created": 1609969739.281003, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 281.0029983520508, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2445.8189010620117, + "thread": 140012328822528, + "threadName": "Thread-9" + }, + { + "args": [ + "SP server:", + "__authentificate_create_seed__" + ], + "asctime": "2021-01-06 22:48:59,281", + "created": 1609969739.281144, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP server: Executing callback __authentificate_create_seed__ to process received data", + "module": "__init__", + "msecs": 281.1439037322998, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 2445.9598064422607, + "thread": 140012328822528, + "threadName": "Thread-9" + } + ], + "msecs": 135.4970932006836, + "msg": "Performing Authentification", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4300.3129959106445, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 1.8543531894683838 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:01,136", + "created": 1609969741.136375, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Return Value of authentification method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Return Value of authentification method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:01,135", + "created": 1609969741.135982, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Return Value of authentification method): False ()", + "module": "test", + "msecs": 135.98203659057617, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4300.797939300537, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Return Value of authentification method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:01,136", + "created": 1609969741.136189, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Return Value of authentification method): result = False ()", + "module": "test", + "msecs": 136.18898391723633, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4301.004886627197, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 136.37495040893555, + "msg": "Return Value of authentification method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4301.1908531188965, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00018596649169921875 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:01,137", + "created": 1609969741.137005, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of server is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:49:01,136", + "created": 1609969741.136658, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of server): False ()", + "module": "test", + "msecs": 136.6579532623291, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4301.47385597229, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:49:01,136", + "created": 1609969741.136839, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of server): result = False ()", + "module": "test", + "msecs": 136.8389129638672, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4301.654815673828, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 137.00509071350098, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4301.820993423462, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00016617774963378906 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:01,137", + "created": 1609969741.137574, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of client is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:49:01,137", + "created": 1609969741.137261, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of client): False ()", + "module": "test", + "msecs": 137.26091384887695, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4302.076816558838, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:49:01,137", + "created": 1609969741.137418, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of client): result = False ()", + "module": "test", + "msecs": 137.41803169250488, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4302.233934402466, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 137.5739574432373, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 4302.389860153198, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00015592575073242188 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 3.431565046310425, + "time_finished": "2021-01-06 22:49:01,137", + "time_start": "2021-01-06 22:48:57,706" + }, + "_k-Q4EE0oEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:08,069", + "created": 1609969748.069441, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 40, + "message": "_k-Q4EE0oEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 69.44108009338379, + "msg": "_k-Q4EE0oEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11234.256982803345, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:08,075", + "created": 1609969748.075088, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:08,070", + "created": 1609969748.070019, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 70.01900672912598, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11234.834909439087, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:08,070", + "created": 1609969748.070268, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 70.26791572570801, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11235.083818435669, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:08,070", + "created": 1609969748.070531, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 70.53089141845703, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11235.346794128418, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:08,070", + "created": 1609969748.070712, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 70.71208953857422, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11235.527992248535, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:08,070", + "created": 1609969748.070879, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 70.87898254394531, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11235.694885253906, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:08,071", + "created": 1609969748.071052, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 71.05207443237305, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11235.867977142334, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:08,071", + "created": 1609969748.071233, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 71.23303413391113, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11236.048936843872, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:08,071", + "created": 1609969748.071423, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 71.42305374145508, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11236.238956451416, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:08,071", + "created": 1609969748.071603, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 71.60305976867676, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11236.418962478638, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:08,071", + "created": 1609969748.071788, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 71.78807258605957, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11236.60397529602, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:08,071", + "created": 1609969748.07195, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 71.94995880126953, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11236.76586151123, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:08,072", + "created": 1609969748.072138, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 72.13807106018066, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11236.953973770142, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:08,072", + "created": 1609969748.072325, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 72.32499122619629, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11237.140893936157, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:08,072", + "created": 1609969748.072517, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 72.51691818237305, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11237.332820892334, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:08,072", + "created": 1609969748.072687, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 72.68691062927246, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11237.502813339233, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:08,072", + "created": 1609969748.072863, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 72.86310195922852, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11237.67900466919, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:08,073", + "created": 1609969748.073032, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 73.03190231323242, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11237.847805023193, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:08,073", + "created": 1609969748.07321, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 73.21000099182129, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11238.025903701782, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:08,073", + "created": 1609969748.073371, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 73.37093353271484, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11238.186836242676, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:08,073", + "created": 1609969748.07353, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 73.52995872497559, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11238.345861434937, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:08,073", + "created": 1609969748.07386, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 73.85993003845215, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11238.675832748413, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:08,073", + "created": 1609969748.07393, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 73.93002510070801, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11238.745927810669, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074008, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 74.00798797607422, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11238.823890686035, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074067, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 74.0671157836914, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11238.883018493652, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.07413, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 74.13005828857422, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11238.945960998535, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074185, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 74.18489456176758, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.000797271729, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074249, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 74.2490291595459, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.064931869507, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074314, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 74.31411743164062, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.130020141602, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074379, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 74.37896728515625, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.194869995117, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074439, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 74.43904876708984, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.25495147705, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074493, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 74.4929313659668, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.308834075928, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074557, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 74.55706596374512, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.372968673706, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074621, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 74.62096214294434, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.436864852905, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074681, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 74.68104362487793, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.496946334839, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074742, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 74.74207878112793, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.557981491089, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074803, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 74.80311393737793, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.619016647339, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074864, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 74.86391067504883, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.67981338501, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074922, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 74.92208480834961, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.73798751831, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:08,074", + "created": 1609969748.074976, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 74.97596740722656, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.791870117188, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:08,075", + "created": 1609969748.07503, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 75.03008842468262, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.845991134644, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 75.0880241394043, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11239.903926849365, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 5.793571472167969e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,577", + "created": 1609969748.577531, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 319, + "message": "Transfering a message client -> server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:08,075", + "created": 1609969748.075238, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 75.23798942565918, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11240.05389213562, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,075", + "created": 1609969748.075432, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "module": "test_helpers", + "msecs": 75.43206214904785, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11240.247964859009, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,075", + "created": 1609969748.075581, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "module": "test_helpers", + "msecs": 75.58107376098633, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11240.396976470947, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: 17, data_id: 34", + "status: okay", + "u'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:08,075", + "created": 1609969748.075691, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: 17, data_id: 34, status: okay, data: \"u'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 75.69098472595215, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11240.506887435913, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:08,075", + "created": 1609969748.07578, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 75.77991485595703, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11240.595817565918, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "0.5", + "18", + "34" + ], + "asctime": "2021-01-06 22:49:08,577", + "created": 1609969748.577234, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP client: TIMEOUT (0.5s): Requested data (service_id: 18; data_id: 34) not in buffer.", + "module": "__init__", + "msecs": 577.2340297698975, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11742.049932479858, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 577.531099319458, + "msg": "Transfering a message client -> server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11742.347002029419, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0002970695495605469 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:08,578", + "created": 1609969748.57824, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:08,577", + "created": 1609969748.577888, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Client send Method): True ()", + "module": "test", + "msecs": 577.888011932373, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11742.703914642334, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:08,578", + "created": 1609969748.578084, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Client send Method): result = True ()", + "module": "test", + "msecs": 578.0839920043945, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11742.899894714355, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 578.239917755127, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11743.055820465088, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00015592575073242188 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:08,579", + "created": 1609969748.579393, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:08,579", + "created": 1609969748.579058, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): None ()", + "module": "test", + "msecs": 579.0579319000244, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11743.873834609985, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:08,579", + "created": 1609969748.579234, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = None ()", + "module": "test", + "msecs": 579.2338848114014, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11744.049787521362, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 579.3929100036621, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11744.208812713623, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001590251922607422 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,579", + "created": 1609969748.57979, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 324, + "message": "Adding service to server instance for the transmit message", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "17", + "18" + ], + "asctime": "2021-01-06 22:49:08,579", + "created": 1609969748.579644, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=17 and Response=18", + "module": "__init__", + "msecs": 579.643964767456, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11744.459867477417, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 579.7901153564453, + "msg": "Adding service to server instance for the transmit message", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11744.606018066406, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001461505889892578 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,683", + "created": 1609969748.683513, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 328, + "message": "Transfering a message client -> server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:08,580", + "created": 1609969748.580074, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 580.0740718841553, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11744.889974594116, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,580", + "created": 1609969748.580568, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "module": "test_helpers", + "msecs": 580.5680751800537, + "msg": "Send data: (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11745.383977890015, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,580", + "created": 1609969748.580943, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "module": "test_helpers", + "msecs": 580.9431076049805, + "msg": "Receive data (88): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d 7a 6c e4 9b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11745.759010314941, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: 17, data_id: 34", + "status: okay", + "u'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:08,581", + "created": 1609969748.581224, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: 17, data_id: 34, status: okay, data: \"u'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 581.2239646911621, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11746.039867401123, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:08,581", + "created": 1609969748.581418, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 460, + "message": "SP server: RX <- Message with no registered callback. Sending negative response.", + "module": "__init__", + "msecs": 581.4180374145508, + "msg": "%s RX <- Message with no registered callback. Sending negative response.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11746.233940124512, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: 18, data_id: 34", + "status: no callback for service, data buffered.", + "None" + ], + "asctime": "2021-01-06 22:49:08,581", + "created": 1609969748.581637, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: 18, data_id: 34, status: no callback for service, data buffered., data: \"None\"", + "module": "__init__", + "msecs": 581.636905670166, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11746.452808380127, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,582", + "created": 1609969748.582044, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (64): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d e8 ee d8 5c", + "module": "test_helpers", + "msecs": 582.0438861846924, + "msg": "Send data: (64): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d e8 ee d8 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11746.859788894653, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,582", + "created": 1609969748.582354, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (64): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d e8 ee d8 5c", + "module": "test_helpers", + "msecs": 582.3540687561035, + "msg": "Receive data (64): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 38 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 33 34 7d e8 ee d8 5c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11747.169971466064, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: 18, data_id: 34", + "status: no callback for service, data buffered.", + "None" + ], + "asctime": "2021-01-06 22:49:08,582", + "created": 1609969748.582626, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: 18, data_id: 34, status: no callback for service, data buffered., data: \"None\"", + "module": "__init__", + "msecs": 582.6261043548584, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11747.44200706482, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: no callback for service, data buffered." + ], + "asctime": "2021-01-06 22:49:08,582", + "created": 1609969748.582793, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: no callback for service, data buffered.", + "module": "__init__", + "msecs": 582.7929973602295, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11747.60890007019, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:08,582", + "created": 1609969748.582998, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 582.9980373382568, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11747.813940048218, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 683.5129261016846, + "msg": "Transfering a message client -> server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11848.328828811646, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.10051488876342773 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:08,684", + "created": 1609969748.684435, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:08,684", + "created": 1609969748.684025, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Client send Method): True ()", + "module": "test", + "msecs": 684.0250492095947, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11848.840951919556, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:08,684", + "created": 1609969748.684234, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Client send Method): result = True ()", + "module": "test", + "msecs": 684.2339038848877, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11849.049806594849, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 684.4348907470703, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11849.250793457031, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0002009868621826172 + }, + { + "args": [ + "{u'status': 1, u'service_id': 18, u'data': None, u'data_id': 34}", + "" + ], + "asctime": "2021-01-06 22:49:08,685", + "created": 1609969748.685104, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content {u'status': 1, u'service_id': 18, u'data': None, u'data_id': 34} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "{u'status': 1, u'service_id': 18, u'data': None, u'data_id': 34}", + "" + ], + "asctime": "2021-01-06 22:49:08,684", + "created": 1609969748.684717, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): {u'status': 1, u'service_id': 18, u'data': None, u'data_id': 34} ()", + "module": "test", + "msecs": 684.7169399261475, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11849.532842636108, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "{'status': 1, 'service_id': 18, 'data': None, 'data_id': 34}", + "" + ], + "asctime": "2021-01-06 22:49:08,684", + "created": 1609969748.684897, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = {'status': 1, 'service_id': 18, 'data': None, 'data_id': 34} ()", + "module": "test", + "msecs": 684.8969459533691, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11849.71284866333, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 685.1038932800293, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11849.91979598999, + "thread": 140012350113600, "threadName": "MainThread", "time_consumption": 0.00020694732666015625 - }, + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.6156628131866455, + "time_finished": "2021-01-06 22:49:08,685", + "time_start": "2021-01-06 22:49:08,069" + }, + "_k7opsE4LEeupHeIYRnC0qw": { + "args": null, + "asctime": "2021-01-06 22:49:09,229", + "created": 1609969749.229654, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 48, + "message": "_k7opsE4LEeupHeIYRnC0qw", + "module": "__init__", + "moduleLogger": [], + "msecs": 229.65407371520996, + "msg": "_k7opsE4LEeupHeIYRnC0qw", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12394.46997642517, + "testcaseLogger": [ { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:30,766", - "created": 1608973890.766766, + "args": [], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232281, "exc_info": null, "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via struct_json_protocol is correct (Content 5 and Type is ).", - "module": "test", + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", "moduleLogger": [ { "args": [ - "Response Status (Operation not permitted) transfered via struct_json_protocol", - "5", - "" + "SP server:" ], - "asctime": "2020-12-26 10:11:30,766", - "created": 1608973890.766463, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via struct_json_protocol): 5 ()", - "module": "test", - "msecs": 766.463041305542, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 536.0651016235352, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via struct_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:30,766", - "created": 1608973890.766615, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via struct_json_protocol): result = 5 ()", - "module": "test", - "msecs": 766.6149139404297, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 536.2169742584229, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 766.7660713195801, - "msg": "Response Status (Operation not permitted) transfered via struct_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 536.3681316375732, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00015115737915039062 - }, - { - "args": [ - "[1, 3, u's']", - "" - ], - "asctime": "2020-12-26 10:11:30,767", - "created": 1608973890.767411, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via struct_json_protocol is correct (Content [1, 3, u's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via struct_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:30,767", - "created": 1608973890.767024, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via struct_json_protocol): [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 767.024040222168, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 536.6261005401611, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via struct_json_protocol", - "[ 1, 3, u's' ]", - "" - ], - "asctime": "2020-12-26 10:11:30,767", - "created": 1608973890.767197, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via struct_json_protocol): result = [ 1, 3, u's' ] ()", - "module": "test", - "msecs": 767.1968936920166, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 536.7989540100098, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 767.4109935760498, - "msg": "Response Data transfered via struct_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 537.013053894043, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00021409988403320312 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:30,868", - "created": 1608973890.868695, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:30,868", - "created": 1608973890.868018, + "asctime": "2021-01-06 22:49:09,229", + "created": 1609969749.229957, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 868.0179119110107, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "msecs": 229.95710372924805, + "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 637.6199722290039, - "thread": 139911147616064, + "relativeCreated": 12394.773006439209, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "SP server:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:30,868", - "created": 1608973890.868339, + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230047, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 230.04698753356934, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12394.86289024353, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230143, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 230.14307022094727, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12394.958972930908, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230209, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 230.2091121673584, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.02501487732, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230265, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 230.26490211486816, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.08080482483, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230319, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 230.31902313232422, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.134925842285, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230385, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 230.38506507873535, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.200967788696, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230447, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 230.44705390930176, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.262956619263, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230508, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 230.50808906555176, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.323991775513, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230566, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 230.56602478027344, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.381927490234, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230617, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 230.61704635620117, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.432949066162, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230684, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 230.6840419769287, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.49994468689, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230747, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 230.74698448181152, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.562887191772, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230798, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 230.79800605773926, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.6139087677, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230861, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 230.86094856262207, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.676851272583, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230917, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 230.91697692871094, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.732879638672, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,230", + "created": 1609969749.230974, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 230.9739589691162, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.789861679077, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231026, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 231.02593421936035, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.841836929321, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231075, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 231.07504844665527, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.890951156616, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231127, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 231.1270236968994, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12395.94292640686, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231261, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 231.2610149383545, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.076917648315, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231329, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 231.32896423339844, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.14486694336, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.23141, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 231.41002655029297, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.225929260254, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231456, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 231.45604133605957, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.27194404602, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231516, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 231.51588439941406, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.331787109375, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231557, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 231.55689239501953, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.37279510498, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231607, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 231.60696029663086, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.422863006592, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231656, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 231.65607452392578, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.471977233887, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231703, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 231.7030429840088, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.51894569397, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231752, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 231.7519187927246, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.567821502686, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231794, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 231.7941188812256, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.610021591187, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231847, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 231.84704780578613, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.662950515747, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231909, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 231.90903663635254, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.724939346313, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231953, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 231.95290565490723, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.768808364868, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,231", + "created": 1609969749.231998, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 231.99796676635742, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.813869476318, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232044, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 232.04398155212402, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.859884262085, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232091, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 232.09095001220703, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.906852722168, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232136, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 232.13601112365723, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.951913833618, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232178, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 232.1779727935791, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12396.99387550354, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232225, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 232.2249412536621, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12397.040843963623, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 232.28096961975098, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12397.096872329712, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 5.602836608886719e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232436, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "all_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 157, + "message": "Registering a correct working Callback", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback__'", + "None", + "None" + ], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232392, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback__' for SID=None and DID=None", + "module": "__init__", + "msecs": 232.3920726776123, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12397.207975387573, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 232.435941696167, + "msg": "Registering a correct working Callback", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12397.251844406128, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.38690185546875e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,333", + "created": 1609969749.333615, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "all_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232544, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 232.5439453125, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12397.359848022461, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232689, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 232.68890380859375, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12397.504806518555, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232782, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 232.78188705444336, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12397.597789764404, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232879, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 232.8789234161377, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12397.694826126099, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback__" + ], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232937, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback__ to process received data", + "module": "__init__", + "msecs": 232.93709754943848, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12397.7530002594, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:09,232", + "created": 1609969749.232994, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 232.99407958984375, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12397.809982299805, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,233", + "created": 1609969749.23311, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "module": "test_helpers", + "msecs": 233.1099510192871, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12397.925853729248, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,233", + "created": 1609969749.233203, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "module": "test_helpers", + "msecs": 233.20293426513672, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12398.018836975098, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:09,233", + "created": 1609969749.233283, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 233.28304290771484, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12398.098945617676, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,233", + "created": 1609969749.233349, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 233.34908485412598, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12398.164987564087, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 333.6150646209717, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12498.430967330933, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.1002659797668457 + }, + { + "args": [ + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,334", + "created": 1609969749.334027, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,333", + "created": 1609969749.333859, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -15701,26 +40321,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe): None ()", + "message": "Result (Message stored inside callback): {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} ()", "module": "test", - "msecs": 868.3390617370605, + "msecs": 333.8589668273926, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 637.9411220550537, - "thread": 139911147616064, + "relativeCreated": 12498.674869537354, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "Message stored inside callback", + "{'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0}", + "" ], - "asctime": "2020-12-26 10:11:30,868", - "created": 1608973890.868515, + "asctime": "2021-01-06 22:49:09,333", + "created": 1609969749.333951, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -15728,83 +40348,2673 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe): result = None ()", + "message": "Expectation (Message stored inside callback): result = {'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0} ()", "module": "test", - "msecs": 868.5150146484375, + "msecs": 333.9509963989258, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 638.1170749664307, - "thread": 139911147616064, + "relativeCreated": 12498.766899108887, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 868.6950206756592, - "msg": "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", + "msecs": 334.0270519256592, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 638.2970809936523, - "thread": 139911147616064, + "relativeCreated": 12498.84295463562, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.0001800060272216797 + "time_consumption": 7.605552673339844e-05 }, { "args": [ - "None", - "" + "{u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0}", + "" ], - "asctime": "2020-12-26 10:11:30,970", - "created": 1608973890.970038, + "asctime": "2021-01-06 22:49:09,334", + "created": 1609969749.334252, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", + "lineno": 144, + "message": "Message received by client is correct (Content {u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - " SP server:", - "0.1", + "Message received by client", + "{u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,334", + "created": 1609969749.334133, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0} ()", + "module": "test", + "msecs": 334.1329097747803, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12498.948812484741, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'status': 0, 'service_id': 11, 'data': 33, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,334", + "created": 1609969749.334194, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'status': 0, 'service_id': 11, 'data': 33, 'data_id': 0} ()", + "module": "test", + "msecs": 334.1939449310303, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12499.009847640991, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 334.25211906433105, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12499.068021774292, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 5.817413330078125e-05 + } + ], + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.1045980453491211, + "time_finished": "2021-01-06 22:49:09,334", + "time_start": "2021-01-06 22:49:09,229" + }, + "_r9srME0vEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.694352, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 45, + "message": "_r9srME0vEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 694.3519115447998, + "msg": "_r9srME0vEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.16781425476, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696444, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.694504, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 694.5040225982666, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.319925308228, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.69457, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 694.5700645446777, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.385967254639, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.694645, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 694.6449279785156, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.460830688477, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.694701, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 694.7009563446045, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.516859054565, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.694754, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 694.753885269165, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.569787979126, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.69481, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 694.8099136352539, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.625816345215, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.694855, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 694.8549747467041, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.670877456665, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.694904, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 694.904088973999, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.71999168396, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.69495, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 694.9501037597656, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.766006469727, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:08,694", + "created": 1609969748.694995, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 694.9949264526367, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.810829162598, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695036, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 695.0359344482422, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.851837158203, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695084, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 695.0840950012207, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.899997711182, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695138, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 695.1379776000977, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.953880310059, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695181, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 695.1808929443359, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11859.996795654297, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695225, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 695.2250003814697, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.04090309143, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.69527, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 695.2700614929199, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.08596420288, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695316, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 695.3160762786865, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.131978988647, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695358, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 695.3580379486084, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.17394065857, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695398, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 695.3980922698975, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.213994979858, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695442, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 695.4419612884521, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.257863998413, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695538, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 695.5380439758301, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.353946685791, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695586, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 695.5859661102295, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.40186882019, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695647, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 695.6470012664795, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.46290397644, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.69569, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 695.6899166107178, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.505819320679, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695733, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 695.7330703735352, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.548973083496, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695774, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 695.7740783691406, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.589981079102, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695818, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 695.8179473876953, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.633850097656, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695864, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 695.8639621734619, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.679864883423, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695918, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 695.918083190918, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.733985900879, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:08,695", + "created": 1609969748.695962, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 695.9619522094727, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.777854919434, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696001, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 696.0010528564453, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.816955566406, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696047, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 696.0470676422119, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.862970352173, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696105, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 696.1050033569336, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.920906066895, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696148, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 696.1479187011719, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11860.963821411133, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696191, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 696.1910724639893, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.00697517395, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696237, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 696.2370872497559, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.052989959717, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.69628, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 696.2800025939941, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.095905303955, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696321, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 696.3210105895996, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.13691329956, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.69636, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 696.3601112365723, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.176013946533, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696399, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 696.3989734649658, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.214876174927, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 696.444034576416, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.259937286377, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.506111145019531e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.69658, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "specific_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 100, + "message": "Registering a correct working Callback", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback__'", "10", - "45054" + "0" ], - "asctime": "2020-12-26 10:11:30,969", - "created": 1608973890.969304, + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696538, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback__' for SID=10 and DID=0", "module": "__init__", - "msecs": 969.304084777832, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "msecs": 696.537971496582, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 738.9061450958252, - "thread": 139911147616064, + "relativeCreated": 11861.353874206543, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 696.5799331665039, + "msg": "Registering a correct working Callback", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.395835876465, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.1961669921875e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,797", + "created": 1609969748.797701, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "specific_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 103, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696653, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 696.652889251709, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.46879196167, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696778, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 696.7780590057373, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.593961715698, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696865, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 696.8650817871094, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.68098449707, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe", + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:08,696", + "created": 1609969748.696945, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 696.9449520111084, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.76085472107, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback__" + ], + "asctime": "2021-01-06 22:49:08,697", + "created": 1609969748.697, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback__ to process received data", + "module": "__init__", + "msecs": 697.0000267028809, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.815929412842, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:08,697", + "created": 1609969748.697054, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 697.0539093017578, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.869812011719, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,697", + "created": 1609969748.697162, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "module": "test_helpers", + "msecs": 697.1619129180908, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11861.977815628052, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,697", + "created": 1609969748.697248, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "module": "test_helpers", + "msecs": 697.2479820251465, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11862.063884735107, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:08,697", + "created": 1609969748.697325, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 697.3249912261963, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11862.140893936157, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:08,697", + "created": 1609969748.697389, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 697.3888874053955, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11862.204790115356, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 797.7008819580078, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11962.516784667969, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.1003119945526123 + }, + { + "args": [ + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:08,798", + "created": 1609969748.798181, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:08,797", + "created": 1609969748.79798, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message stored inside callback): {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} ()", + "module": "test", + "msecs": 797.9800701141357, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11962.795972824097, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message stored inside callback", + "{'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:08,798", + "created": 1609969748.798086, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message stored inside callback): result = {'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0} ()", + "module": "test", + "msecs": 798.0859279632568, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11962.901830673218, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 798.1810569763184, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11962.99695968628, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 9.512901306152344e-05 + }, + { + "args": [ + "{u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:08,798", + "created": 1609969748.798483, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:08,798", + "created": 1609969748.798316, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0} ()", + "module": "test", + "msecs": 798.3160018920898, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11963.13190460205, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'status': 0, 'service_id': 11, 'data': 33, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:08,798", + "created": 1609969748.7984, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'status': 0, 'service_id': 11, 'data': 33, 'data_id': 0} ()", + "module": "test", + "msecs": 798.3999252319336, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11963.215827941895, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 798.4828948974609, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11963.298797607422, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 8.296966552734375e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,798", + "created": 1609969748.79872, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "specific_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 109, + "message": "Overwriting existing Callback using one with faulty return values", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback__'", + "10", + "0", + "'__callback_error__'" + ], + "asctime": "2021-01-06 22:49:08,798", + "created": 1609969748.798637, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "WARNING", + "levelno": 30, + "lineno": 158, + "message": "SP server: Overwriting existing callback '__callback__' for service_id (10) and data_id (0) to '__callback_error__'!", + "module": "__init__", + "msecs": 798.6369132995605, + "msg": "%s Overwriting existing callback %s for service_id (%s) and data_id (%s) to %s!", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11963.452816009521, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 798.7198829650879, + "msg": "Overwriting existing Callback using one with faulty return values", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11963.535785675049, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 8.296966552734375e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,900", + "created": 1609969748.900839, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "specific_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 112, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:08,798", + "created": 1609969748.79887, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 798.8700866699219, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11963.685989379883, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,799", + "created": 1609969748.7991, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 799.0999221801758, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11963.915824890137, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,799", + "created": 1609969748.799268, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 799.2680072784424, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11964.083909988403, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:08,799", + "created": 1609969748.799418, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 799.4179725646973, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11964.233875274658, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback_error__" + ], + "asctime": "2021-01-06 22:49:08,799", + "created": 1609969748.799517, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback_error__ to process received data", + "module": "__init__", + "msecs": 799.5169162750244, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11964.332818984985, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,799", + "created": 1609969748.799615, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 468, + "message": "SP server: RX <- Exception raised. Check callback __callback_error__ and it's return values for service_id 10 and data_id 0", + "module": "__init__", + "msecs": 799.6149063110352, + "msg": "SP server: RX <- Exception raised. Check callback __callback_error__ and it's return values for service_id 10 and data_id 0", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11964.430809020996, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: callback error.", + "None" + ], + "asctime": "2021-01-06 22:49:08,799", + "created": 1609969748.799715, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: read data response, data_id: 0, status: callback error., data: \"None\"", + "module": "__init__", + "msecs": 799.7150421142578, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11964.530944824219, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,799", + "created": 1609969748.79993, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (63): 7b 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 3f 8f 7d 86", + "module": "test_helpers", + "msecs": 799.9300956726074, + "msg": "Send data: (63): 7b 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 3f 8f 7d 86", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11964.745998382568, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,800", + "created": 1609969748.800092, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (63): 7b 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 3f 8f 7d 86", + "module": "test_helpers", + "msecs": 800.0919818878174, + "msg": "Receive data (63): 7b 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 3f 8f 7d 86", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11964.907884597778, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: callback error.", + "None" + ], + "asctime": "2021-01-06 22:49:08,800", + "created": 1609969748.800229, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: read data response, data_id: 0, status: callback error., data: \"None\"", + "module": "__init__", + "msecs": 800.2290725708008, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11965.044975280762, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: callback error." + ], + "asctime": "2021-01-06 22:49:08,800", + "created": 1609969748.800315, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: callback error.", + "module": "__init__", + "msecs": 800.3149032592773, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11965.130805969238, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:08,800", + "created": 1609969748.800414, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 800.4140853881836, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 11965.229988098145, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 900.83909034729, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12065.654993057251, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.10042500495910645 + }, + { + "args": [ + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:08,901", + "created": 1609969748.901833, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:08,901", + "created": 1609969748.901373, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message stored inside callback): {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} ()", + "module": "test", + "msecs": 901.3729095458984, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12066.18881225586, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message stored inside callback", + "{'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:08,901", + "created": 1609969748.901594, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message stored inside callback): result = {'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0} ()", + "module": "test", + "msecs": 901.5939235687256, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12066.409826278687, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 901.8330574035645, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12066.648960113525, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0002391338348388672 + }, + { + "args": [ + "{u'status': 2, u'service_id': 11, u'data': None, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:08,902", + "created": 1609969748.902482, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {u'status': 2, u'service_id': 11, u'data': None, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{u'status': 2, u'service_id': 11, u'data': None, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:08,902", + "created": 1609969748.902123, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {u'status': 2, u'service_id': 11, u'data': None, u'data_id': 0} ()", + "module": "test", + "msecs": 902.122974395752, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12066.938877105713, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'status': 2, 'service_id': 11, 'data': None, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:08,902", + "created": 1609969748.902298, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'status': 2, 'service_id': 11, 'data': None, 'data_id': 0} ()", + "module": "test", + "msecs": 902.2979736328125, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12067.113876342773, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 902.4820327758789, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12067.29793548584, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00018405914306640625 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,902", + "created": 1609969748.902976, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "specific_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 118, + "message": "Removing the registered Callback", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback_error__'", + "10", + "0" + ], + "asctime": "2021-01-06 22:49:08,902", + "created": 1609969748.902802, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "WARNING", + "levelno": 30, + "lineno": 154, + "message": "SP server: Deleting existing callback '__callback_error__' for service_id (10) and data_id (0)!", + "module": "__init__", + "msecs": 902.8019905090332, + "msg": "%s Deleting existing callback %s for service_id (%s) and data_id (%s)!", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12067.617893218994, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 902.9760360717773, + "msg": "Removing the registered Callback", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12067.791938781738, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00017404556274414062 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,006", + "created": 1609969749.006474, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "specific_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 121, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:08,903", + "created": 1609969748.903279, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 903.2790660858154, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12068.094968795776, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,903", + "created": 1609969748.903756, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 903.7559032440186, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12068.57180595398, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,904", + "created": 1609969748.904109, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 904.109001159668, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12068.924903869629, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:08,904", + "created": 1609969748.904416, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 904.4160842895508, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12069.231986999512, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:08,904", + "created": 1609969748.904633, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 460, + "message": "SP server: RX <- Message with no registered callback. Sending negative response.", + "module": "__init__", + "msecs": 904.6330451965332, + "msg": "%s RX <- Message with no registered callback. Sending negative response.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12069.448947906494, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: no callback for service, data buffered.", + "None" + ], + "asctime": "2021-01-06 22:49:08,904", + "created": 1609969748.904875, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: read data response, data_id: 0, status: no callback for service, data buffered., data: \"None\"", + "module": "__init__", + "msecs": 904.8750400543213, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12069.690942764282, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,905", + "created": 1609969748.905313, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (63): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 79 5d 48 e2", + "module": "test_helpers", + "msecs": 905.3130149841309, + "msg": "Send data: (63): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 79 5d 48 e2", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12070.128917694092, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:08,905", + "created": 1609969748.905655, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (63): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 79 5d 48 e2", + "module": "test_helpers", + "msecs": 905.6549072265625, + "msg": "Receive data (63): 7b 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 79 5d 48 e2", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12070.470809936523, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: no callback for service, data buffered.", + "None" + ], + "asctime": "2021-01-06 22:49:08,905", + "created": 1609969748.905889, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: read data response, data_id: 0, status: no callback for service, data buffered., data: \"None\"", + "module": "__init__", + "msecs": 905.8890342712402, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12070.704936981201, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: no callback for service, data buffered." + ], + "asctime": "2021-01-06 22:49:08,905", + "created": 1609969748.905977, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: no callback for service, data buffered.", + "module": "__init__", + "msecs": 905.9770107269287, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12070.79291343689, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:08,906", + "created": 1609969748.906081, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 906.080961227417, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12070.896863937378, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 6.474018096923828, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12171.289920806885, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.10039305686950684 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:09,007", + "created": 1609969749.00714, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", "None", "" ], - "asctime": "2020-12-26 10:11:30,969", - "created": 1608973890.969659, + "asctime": "2021-01-06 22:49:09,006", + "created": 1609969749.006852, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -15812,26 +43022,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe): None ()", + "message": "Result (Message stored inside callback): None ()", "module": "test", - "msecs": 969.6590900421143, + "msecs": 6.851911544799805, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 739.2611503601074, - "thread": 139911147616064, + "relativeCreated": 12171.66781425476, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe", + "Message stored inside callback", "None", "" ], - "asctime": "2020-12-26 10:11:30,969", - "created": 1608973890.969858, + "asctime": "2021-01-06 22:49:09,007", + "created": 1609969749.007004, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -15839,2071 +43049,124 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe): result = None ()", + "message": "Expectation (Message stored inside callback): result = None ()", "module": "test", - "msecs": 969.857931137085, + "msecs": 7.004022598266602, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 739.4599914550781, - "thread": 139911147616064, + "relativeCreated": 12171.819925308228, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 970.0379371643066, - "msg": "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", + "msecs": 7.139921188354492, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 739.6399974822998, - "thread": 139911147616064, + "relativeCreated": 12171.955823898315, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.0001800060272216797 + "time_consumption": 0.00013589859008789062 + }, + { + "args": [ + "{u'status': 1, u'service_id': 11, u'data': None, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,007", + "created": 1609969749.007612, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {u'status': 1, u'service_id': 11, u'data': None, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{u'status': 1, u'service_id': 11, u'data': None, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,007", + "created": 1609969749.007348, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {u'status': 1, u'service_id': 11, u'data': None, u'data_id': 0} ()", + "module": "test", + "msecs": 7.348060607910156, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12172.163963317871, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'status': 1, 'service_id': 11, 'data': None, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,007", + "created": 1609969749.007482, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'status': 1, 'service_id': 11, 'data': None, 'data_id': 0} ()", + "module": "test", + "msecs": 7.482051849365234, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12172.297954559326, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 7.611989974975586, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12172.427892684937, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00012993812561035156 } ], - "thread": 139911147616064, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.7087440490722656, - "time_finished": "2020-12-26 10:11:30,970", - "time_start": "2020-12-26 10:11:30,261" + "time_consumption": 0.3132600784301758, + "time_finished": "2021-01-06 22:49:09,007", + "time_start": "2021-01-06 22:49:08,694" }, - "socket_protocol: Client setting the channel name.": { + "_tb5akE4LEeupHeIYRnC0qw": { "args": null, - "asctime": "2020-12-26 10:11:41,952", - "created": 1608973901.952394, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 50, - "message": "socket_protocol: Client setting the channel name.", - "module": "__init__", - "moduleLogger": [], - "msecs": 952.3940086364746, - "msg": "socket_protocol: Client setting the channel name.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11721.996068954468, - "testcaseLogger": [ - { - "args": [], - "asctime": "2020-12-26 10:11:42,263", - "created": 1608973902.263105, - "exc_info": null, - "exc_text": null, - "filename": "test_channel_name.py", - "funcName": "test_channel_name", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 58, - "message": "Initiating communication including channel_name exchange.", - "module": "test_channel_name", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:41,952", - "created": 1608973901.952946, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 952.9459476470947, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11722.548007965088, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:41,953", - "created": 1608973901.95342, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 953.4199237823486, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11723.021984100342, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "'__channel_name_response__'", - "6", - "0", - "'ut_response_callback'" - ], - "asctime": "2020-12-26 10:11:41,953", - "created": 1608973901.953656, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "add", - "levelname": "WARNING", - "levelno": 30, - "lineno": 91, - "message": "Overwriting existing callback '__channel_name_response__' for service_id (6) and data_id (0) to 'ut_response_callback'!", - "module": "__init__", - "msecs": 953.6559581756592, - "msg": "Overwriting existing callback %s for service_id (%s) and data_id (%s) to %s!", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11723.258018493652, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:41,954", - "created": 1608973901.954053, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 954.0529251098633, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11723.654985427856, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:41,954", - "created": 1608973901.954466, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP client: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 954.4661045074463, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11724.06816482544, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:41,954", - "created": 1608973901.954673, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 954.6730518341064, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11724.2751121521, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 5, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:41,954", - "created": 1608973901.954865, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 5, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 954.8649787902832, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11724.467039108276, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:41,955", - "created": 1608973901.955311, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d dd ae a2 7d", - "module": "test_helpers", - "msecs": 955.3110599517822, - "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d dd ae a2 7d", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11724.913120269775, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:41,956", - "created": 1608973901.956616, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 956.6159248352051, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11726.217985153198, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:42,107", - "created": 1608973902.107583, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d dd ae a2 7d", - "module": "test_helpers", - "msecs": 107.58304595947266, - "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d dd ae a2 7d", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11877.185106277466, - "thread": 139911126587136, - "threadName": "Thread-34" - }, - { - "args": [ - " SP client:", - "0", - "5", - "0", - "None" - ], - "asctime": "2020-12-26 10:11:42,108", - "created": 1608973902.108017, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP client: RX <- status: 0, service_id: 5, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 108.0169677734375, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11877.61902809143, - "thread": 139911126587136, - "threadName": "Thread-34" - }, - { - "args": [ - " SP client:", - "__channel_name_request__" - ], - "asctime": "2020-12-26 10:11:42,108", - "created": 1608973902.108255, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP client: Executing callback __channel_name_request__ to process received data", - "module": "__init__", - "msecs": 108.25490951538086, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11877.856969833374, - "thread": 139911126587136, - "threadName": "Thread-34" - }, - { - "args": [ - " SP client:", - 0, - 6, - 0, - "'ut_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:42,108", - "created": 1608973902.108473, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP client: TX -> status: 0, service_id: 6, data_id: 0, data: \"'ut_client_set_channel_name'\"", - "module": "__init__", - "msecs": 108.47306251525879, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11878.075122833252, - "thread": 139911126587136, - "threadName": "Thread-34" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:42,109", - "created": 1608973902.109035, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (86): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 71 b2 b8 9d", - "module": "test_helpers", - "msecs": 109.03501510620117, - "msg": "Send data: (86): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 71 b2 b8 9d", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11878.637075424194, - "thread": 139911126587136, - "threadName": "Thread-34" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:42,260", - "created": 1608973902.260329, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (86): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 71 b2 b8 9d", - "module": "test_helpers", - "msecs": 260.329008102417, - "msg": "Receive data (86): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 71 b2 b8 9d", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12029.93106842041, - "thread": 139911118194432, - "threadName": "Thread-35" - }, - { - "args": [ - " SP server:", - "0", - "6", - "0", - "u'ut_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:42,260", - "created": 1608973902.260801, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 6, data_id: 0, data: \"u'ut_client_set_channel_name'\"", - "module": "__init__", - "msecs": 260.8010768890381, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12030.403137207031, - "thread": 139911118194432, - "threadName": "Thread-35" - }, - { - "args": [ - " SP server:", - "ut_response_callback" - ], - "asctime": "2020-12-26 10:11:42,261", - "created": 1608973902.261051, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback ut_response_callback to process received data", - "module": "__init__", - "msecs": 261.0509395599365, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12030.65299987793, - "thread": 139911118194432, - "threadName": "Thread-35" - }, - { - "args": [ - " SP server:", - "'ut_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:42,261", - "created": 1608973902.261408, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__channel_name_response__", - "levelname": "INFO", - "levelno": 20, - "lineno": 273, - "message": " SP server: channel name is now 'ut_client_set_channel_name'", - "module": "__init__", - "msecs": 261.40809059143066, - "msg": "%s channel name is now %s", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12031.010150909424, - "thread": 139911118194432, - "threadName": "Thread-35" - } - ], - "msecs": 263.1049156188965, - "msg": "Initiating communication including channel_name exchange.", - "name": "__tLogger__", - "pathname": "src/tests/test_channel_name.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12032.70697593689, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0016968250274658203 - }, - { - "args": [ - "'ut_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,264", - "created": 1608973902.264025, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Channel name for server is correct (Content 'ut_client_set_channel_name' and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Channel name for server", - "'ut_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,263", - "created": 1608973902.263645, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Channel name for server): 'ut_client_set_channel_name' ()", - "module": "test", - "msecs": 263.6449337005615, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12033.246994018555, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Channel name for server", - "'ut_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,263", - "created": 1608973902.263849, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Channel name for server): result = 'ut_client_set_channel_name' ()", - "module": "test", - "msecs": 263.84902000427246, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12033.451080322266, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 264.0249729156494, - "msg": "Channel name for server is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12033.627033233643, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00017595291137695312 - }, - { - "args": [ - "'ut_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,264", - "created": 1608973902.264622, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Channel name for client is correct (Content 'ut_client_set_channel_name' and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Channel name for client", - "'ut_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,264", - "created": 1608973902.264298, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Channel name for client): 'ut_client_set_channel_name' ()", - "module": "test", - "msecs": 264.2979621887207, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12033.900022506714, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Channel name for client", - "'ut_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,264", - "created": 1608973902.264462, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Channel name for client): result = 'ut_client_set_channel_name' ()", - "module": "test", - "msecs": 264.4619941711426, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12034.064054489136, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 264.6219730377197, - "msg": "Channel name for client is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12034.224033355713, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00015997886657714844 - } - ], - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.3122279644012451, - "time_finished": "2020-12-26 10:11:42,264", - "time_start": "2020-12-26 10:11:41,952" - }, - "socket_protocol: Server and Client setting different channel names.": { - "args": null, - "asctime": "2020-12-26 10:11:42,265", - "created": 1608973902.265175, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 51, - "message": "socket_protocol: Server and Client setting different channel names.", - "module": "__init__", - "moduleLogger": [], - "msecs": 265.17510414123535, - "msg": "socket_protocol: Server and Client setting different channel names.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12034.777164459229, - "testcaseLogger": [ - { - "args": [], - "asctime": "2020-12-26 10:11:42,575", - "created": 1608973902.57505, - "exc_info": null, - "exc_text": null, - "filename": "test_channel_name.py", - "funcName": "test_channel_name", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 58, - "message": "Initiating communication including channel_name exchange.", - "module": "test_channel_name", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:42,265", - "created": 1608973902.265705, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 265.7051086425781, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12035.307168960571, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:42,266", - "created": 1608973902.266155, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 266.1550045013428, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12035.757064819336, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "'__channel_name_response__'", - "6", - "0", - "'ut_response_callback'" - ], - "asctime": "2020-12-26 10:11:42,266", - "created": 1608973902.26639, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "add", - "levelname": "WARNING", - "levelno": 30, - "lineno": 91, - "message": "Overwriting existing callback '__channel_name_response__' for service_id (6) and data_id (0) to 'ut_response_callback'!", - "module": "__init__", - "msecs": 266.3900852203369, - "msg": "Overwriting existing callback %s for service_id (%s) and data_id (%s) to %s!", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12035.99214553833, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:42,266", - "created": 1608973902.26676, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 266.76011085510254, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.foo", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12036.362171173096, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:42,267", - "created": 1608973902.267167, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP client: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 267.1670913696289, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.foo", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12036.769151687622, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:42,267", - "created": 1608973902.267404, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 267.40407943725586, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12037.006139755249, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 5, - 0, - "'ut_server_and_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:42,267", - "created": 1608973902.267616, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 5, data_id: 0, data: \"'ut_server_and_client_set_channel_name'\"", - "module": "__init__", - "msecs": 267.61603355407715, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12037.21809387207, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:42,268", - "created": 1608973902.268188, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (97): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c6 3d f9 62", - "module": "test_helpers", - "msecs": 268.1879997253418, - "msg": "Send data: (97): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c6 3d f9 62", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12037.790060043335, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:42,268", - "created": 1608973902.268984, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 268.9840793609619, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.foo", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12038.586139678955, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:42,419", - "created": 1608973902.419279, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (97): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c6 3d f9 62", - "module": "test_helpers", - "msecs": 419.2790985107422, - "msg": "Receive data (97): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c6 3d f9 62", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12188.881158828735, - "thread": 139911118194432, - "threadName": "Thread-36" - }, - { - "args": [ - " SP client:", - "0", - "5", - "0", - "u'ut_server_and_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:42,419", - "created": 1608973902.419555, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP client: RX <- status: 0, service_id: 5, data_id: 0, data: \"u'ut_server_and_client_set_channel_name'\"", - "module": "__init__", - "msecs": 419.5549488067627, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.foo", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12189.157009124756, - "thread": 139911118194432, - "threadName": "Thread-36" - }, - { - "args": [ - " SP client:", - "__channel_name_request__" - ], - "asctime": "2020-12-26 10:11:42,419", - "created": 1608973902.419684, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP client: Executing callback __channel_name_request__ to process received data", - "module": "__init__", - "msecs": 419.68393325805664, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.foo", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12189.28599357605, - "thread": 139911118194432, - "threadName": "Thread-36" - }, - { - "args": [ - " SP client:", - "'foo'", - "u'ut_server_and_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:42,419", - "created": 1608973902.419876, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__channel_name_request__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 264, - "message": " SP client: overwriting user defined channel name from 'foo' to u'ut_server_and_client_set_channel_name'", - "module": "__init__", - "msecs": 419.8760986328125, - "msg": "%s overwriting user defined channel name from %s to %s", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12189.478158950806, - "thread": 139911118194432, - "threadName": "Thread-36" - }, - { - "args": [ - " SP client:", - 0, - 6, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:42,419", - "created": 1608973902.419983, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP client: TX -> status: 0, service_id: 6, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 419.98291015625, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12189.584970474243, - "thread": 139911118194432, - "threadName": "Thread-36" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:42,420", - "created": 1608973902.420223, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 99 0f 87 65", - "module": "test_helpers", - "msecs": 420.2229976654053, - "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 99 0f 87 65", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12189.825057983398, - "thread": 139911118194432, - "threadName": "Thread-36" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:42,571", - "created": 1608973902.571017, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 99 0f 87 65", - "module": "test_helpers", - "msecs": 571.0170269012451, - "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 99 0f 87 65", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12340.619087219238, - "thread": 139911126587136, - "threadName": "Thread-37" - }, - { - "args": [ - " SP server:", - "0", - "6", - "0", - "None" - ], - "asctime": "2020-12-26 10:11:42,571", - "created": 1608973902.571469, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 6, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 571.4690685272217, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12341.071128845215, - "thread": 139911126587136, - "threadName": "Thread-37" - }, - { - "args": [ - " SP server:", - "ut_response_callback" - ], - "asctime": "2020-12-26 10:11:42,571", - "created": 1608973902.571714, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback ut_response_callback to process received data", - "module": "__init__", - "msecs": 571.713924407959, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12341.315984725952, - "thread": 139911126587136, - "threadName": "Thread-37" - } - ], - "msecs": 575.0501155853271, - "msg": "Initiating communication including channel_name exchange.", - "name": "__tLogger__", - "pathname": "src/tests/test_channel_name.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12344.65217590332, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.003336191177368164 - }, - { - "args": [ - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,575", - "created": 1608973902.575967, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Channel name for server is correct (Content 'ut_server_and_client_set_channel_name' and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Channel name for server", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,575", - "created": 1608973902.575585, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Channel name for server): 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 575.584888458252, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12345.186948776245, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Channel name for server", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,575", - "created": 1608973902.575788, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Channel name for server): result = 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 575.7880210876465, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12345.39008140564, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 575.9670734405518, - "msg": "Channel name for server is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12345.569133758545, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00017905235290527344 - }, - { - "args": [ - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,576", - "created": 1608973902.576595, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Channel name for client is correct (Content 'ut_server_and_client_set_channel_name' and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Channel name for client", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,576", - "created": 1608973902.576259, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Channel name for client): 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 576.2588977813721, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12345.860958099365, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Channel name for client", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,576", - "created": 1608973902.576424, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Channel name for client): result = 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 576.4238834381104, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12346.025943756104, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 576.5950679779053, - "msg": "Channel name for client is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12346.197128295898, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00017118453979492188 - } - ], - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.3114199638366699, - "time_finished": "2020-12-26 10:11:42,576", - "time_start": "2020-12-26 10:11:42,265" - }, - "socket_protocol: Server and Client setting the same channel name.": { - "args": null, - "asctime": "2020-12-26 10:11:42,577", - "created": 1608973902.57711, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 52, - "message": "socket_protocol: Server and Client setting the same channel name.", - "module": "__init__", - "moduleLogger": [], - "msecs": 577.1100521087646, - "msg": "socket_protocol: Server and Client setting the same channel name.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12346.712112426758, - "testcaseLogger": [ - { - "args": [], - "asctime": "2020-12-26 10:11:42,886", - "created": 1608973902.886923, - "exc_info": null, - "exc_text": null, - "filename": "test_channel_name.py", - "funcName": "test_channel_name", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 58, - "message": "Initiating communication including channel_name exchange.", - "module": "test_channel_name", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:42,577", - "created": 1608973902.5776, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 577.6000022888184, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12347.202062606812, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:42,578", - "created": 1608973902.578047, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 578.0470371246338, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12347.649097442627, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "'__channel_name_response__'", - "6", - "0", - "'ut_response_callback'" - ], - "asctime": "2020-12-26 10:11:42,578", - "created": 1608973902.578282, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "add", - "levelname": "WARNING", - "levelno": 30, - "lineno": 91, - "message": "Overwriting existing callback '__channel_name_response__' for service_id (6) and data_id (0) to 'ut_response_callback'!", - "module": "__init__", - "msecs": 578.2821178436279, - "msg": "Overwriting existing callback %s for service_id (%s) and data_id (%s) to %s!", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12347.884178161621, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:42,578", - "created": 1608973902.57864, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 578.6399841308594, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12348.242044448853, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:42,579", - "created": 1608973902.579038, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP client: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 579.0379047393799, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12348.639965057373, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:42,579", - "created": 1608973902.579259, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 579.258918762207, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12348.8609790802, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 5, - 0, - "'ut_server_and_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:42,579", - "created": 1608973902.579464, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 5, data_id: 0, data: \"'ut_server_and_client_set_channel_name'\"", - "module": "__init__", - "msecs": 579.4639587402344, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12349.066019058228, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:42,580", - "created": 1608973902.580018, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (97): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c6 3d f9 62", - "module": "test_helpers", - "msecs": 580.0180435180664, - "msg": "Send data: (97): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c6 3d f9 62", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12349.62010383606, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:42,580", - "created": 1608973902.580822, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 580.8219909667969, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12350.42405128479, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:42,731", - "created": 1608973902.731285, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (97): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c6 3d f9 62", - "module": "test_helpers", - "msecs": 731.2850952148438, - "msg": "Receive data (97): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d c6 3d f9 62", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12500.887155532837, - "thread": 139911126587136, - "threadName": "Thread-38" - }, - { - "args": [ - " SP client:", - "0", - "5", - "0", - "u'ut_server_and_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:42,731", - "created": 1608973902.731741, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP client: RX <- status: 0, service_id: 5, data_id: 0, data: \"u'ut_server_and_client_set_channel_name'\"", - "module": "__init__", - "msecs": 731.7409515380859, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12501.34301185608, - "thread": 139911126587136, - "threadName": "Thread-38" - }, - { - "args": [ - " SP client:", - "__channel_name_request__" - ], - "asctime": "2020-12-26 10:11:42,731", - "created": 1608973902.73198, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP client: Executing callback __channel_name_request__ to process received data", - "module": "__init__", - "msecs": 731.9800853729248, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12501.582145690918, - "thread": 139911126587136, - "threadName": "Thread-38" - }, - { - "args": [ - " SP client:", - 0, - 6, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:42,732", - "created": 1608973902.732352, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP client: TX -> status: 0, service_id: 6, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 732.3520183563232, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12501.954078674316, - "thread": 139911126587136, - "threadName": "Thread-38" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:42,732", - "created": 1608973902.732842, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 99 0f 87 65", - "module": "test_helpers", - "msecs": 732.841968536377, - "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 99 0f 87 65", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12502.44402885437, - "thread": 139911126587136, - "threadName": "Thread-38" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:42,883", - "created": 1608973902.883981, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 99 0f 87 65", - "module": "test_helpers", - "msecs": 883.9809894561768, - "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 99 0f 87 65", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12653.58304977417, - "thread": 139911118194432, - "threadName": "Thread-39" - }, - { - "args": [ - " SP server:", - "0", - "6", - "0", - "None" - ], - "asctime": "2020-12-26 10:11:42,884", - "created": 1608973902.884444, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 6, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 884.443998336792, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12654.046058654785, - "thread": 139911118194432, - "threadName": "Thread-39" - }, - { - "args": [ - " SP server:", - "ut_response_callback" - ], - "asctime": "2020-12-26 10:11:42,884", - "created": 1608973902.88469, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback ut_response_callback to process received data", - "module": "__init__", - "msecs": 884.6900463104248, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12654.292106628418, - "thread": 139911118194432, - "threadName": "Thread-39" - } - ], - "msecs": 886.92307472229, - "msg": "Initiating communication including channel_name exchange.", - "name": "__tLogger__", - "pathname": "src/tests/test_channel_name.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12656.525135040283, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.0022330284118652344 - }, - { - "args": [ - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,888", - "created": 1608973902.888393, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Channel name for server is correct (Content 'ut_server_and_client_set_channel_name' and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Channel name for server", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,887", - "created": 1608973902.887753, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Channel name for server): 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 887.7530097961426, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12657.355070114136, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Channel name for server", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,888", - "created": 1608973902.888084, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Channel name for server): result = 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 888.0839347839355, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12657.685995101929, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 888.3929252624512, - "msg": "Channel name for server is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12657.994985580444, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.000308990478515625 - }, - { - "args": [ - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,889", - "created": 1608973902.88954, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Channel name for client is correct (Content 'ut_server_and_client_set_channel_name' and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Channel name for client", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,888", - "created": 1608973902.888912, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Channel name for client): 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 888.9119625091553, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12658.514022827148, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Channel name for client", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:42,889", - "created": 1608973902.88923, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Channel name for client): result = 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 889.2300128936768, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12658.83207321167, - "thread": 139911147616064, - "threadName": "MainThread" - } - ], - "msecs": 889.5399570465088, - "msg": "Channel name for client is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 12659.142017364502, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.00030994415283203125 - } - ], - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.31242990493774414, - "time_finished": "2020-12-26 10:11:42,889", - "time_start": "2020-12-26 10:11:42,577" - }, - "socket_protocol: Server setting the channel name.": { - "args": null, - "asctime": "2020-12-26 10:11:41,640", - "created": 1608973901.640505, + "asctime": "2021-01-06 22:49:09,334", + "created": 1609969749.334404, "exc_info": null, "exc_text": null, "filename": "__init__.py", @@ -17911,615 +43174,2082 @@ "levelname": "INFO", "levelno": 20, "lineno": 49, - "message": "socket_protocol: Server setting the channel name.", + "message": "_tb5akE4LEeupHeIYRnC0qw", "module": "__init__", "moduleLogger": [], - "msecs": 640.5050754547119, - "msg": "socket_protocol: Server setting the channel name.", + "msecs": 334.40399169921875, + "msg": "_tb5akE4LEeupHeIYRnC0qw", "name": "__tLogger__", "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11410.107135772705, + "relativeCreated": 12499.21989440918, "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:41,950", - "created": 1608973901.950374, + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336566, "exc_info": null, "exc_text": null, - "filename": "test_channel_name.py", - "funcName": "test_channel_name", + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", "levelname": "DEBUG", "levelno": 10, - "lineno": 58, - "message": "Initiating communication including channel_name exchange.", - "module": "test_channel_name", + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", "moduleLogger": [ { "args": [ - " SP server:" + "SP server:" ], - "asctime": "2020-12-26 10:11:41,641", - "created": 1608973901.64108, + "asctime": "2021-01-06 22:49:09,334", + "created": 1609969749.334563, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 641.0799026489258, + "msecs": 334.5630168914795, "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_set_channel_name", + "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11410.681962966919, - "thread": 139911147616064, + "relativeCreated": 12499.37891960144, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:41,641", - "created": 1608973901.641537, + "asctime": "2021-01-06 22:49:09,334", + "created": 1609969749.334633, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 334.63311195373535, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12499.449014663696, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,334", + "created": 1609969749.334708, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 334.70797538757324, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12499.523878097534, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,334", + "created": 1609969749.334757, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 334.75708961486816, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12499.57299232483, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,334", + "created": 1609969749.33481, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 334.8100185394287, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12499.62592124939, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,334", + "created": 1609969749.334856, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 334.8560333251953, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12499.671936035156, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,334", + "created": 1609969749.33491, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 334.90991592407227, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12499.725818634033, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,334", + "created": 1609969749.334961, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 334.9609375, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12499.776840209961, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.33501, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 335.0100517272949, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12499.825954437256, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.33506, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 335.05988121032715, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12499.875783920288, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335102, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__authentification_state_reset__", "levelname": "INFO", "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "module": "__init__", - "msecs": 641.5369510650635, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.ut_server_set_channel_name", + "msecs": 335.1020812988281, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11411.139011383057, - "thread": 139911147616064, + "relativeCreated": 12499.917984008789, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "'__channel_name_response__'", - "6", - "0", - "'ut_response_callback'" + "SP server:", + "channel name request", + "channel name response" ], - "asctime": "2020-12-26 10:11:41,641", - "created": 1608973901.641798, + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335161, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 335.1609706878662, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12499.976873397827, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335211, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 335.21103858947754, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.026941299438, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335259, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 335.25896072387695, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.074863433838, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335305, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 335.30497550964355, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.120878219604, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335354, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 335.3540897369385, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.1699924469, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.3354, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 335.4001045227051, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.216007232666, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335445, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 335.4449272155762, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.260829925537, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335487, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 335.48688888549805, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.302791595459, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.33553, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 335.53004264831543, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.345945358276, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335638, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 335.63804626464844, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.45394897461, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335688, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 335.68811416625977, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.50401687622, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335749, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 335.74891090393066, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.564813613892, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335795, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 335.79492568969727, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.610828399658, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335838, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 335.83807945251465, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.653982162476, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335882, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 335.88194847106934, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.69785118103, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335931, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 335.93106269836426, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.746965408325, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:09,335", + "created": 1609969749.335979, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 335.9789848327637, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.794887542725, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336025, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 336.0249996185303, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.840902328491, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336072, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 336.0719680786133, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.887870788574, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336113, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 336.11297607421875, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.92887878418, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336161, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 336.16089820861816, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12500.97680091858, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336209, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 336.2090587615967, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.024961471558, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336258, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 336.2579345703125, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.073837280273, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336302, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 336.3020420074463, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.117944717407, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336348, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 336.3480567932129, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.163959503174, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336395, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 336.3950252532959, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.210927963257, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336436, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 336.43603324890137, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.251935958862, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336477, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 336.47704124450684, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.292943954468, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336518, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 336.5180492401123, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.333951950073, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 336.5659713745117, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.381874084473, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.792213439941406e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336862, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 174, + "message": "Registering all kind of Callbacks", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback3__'", + "None", + "None" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336663, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback3__' for SID=None and DID=None", + "module": "__init__", + "msecs": 336.66300773620605, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.478910446167, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__callback2__'", + "None", + "0" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336717, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback2__' for SID=None and DID=0", + "module": "__init__", + "msecs": 336.716890335083, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.532793045044, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__callback1__'", + "10", + "None" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336772, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback1__' for SID=10 and DID=None", + "module": "__init__", + "msecs": 336.77196502685547, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.587867736816, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__callback__'", + "10", + "0" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336822, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback__' for SID=10 and DID=0", + "module": "__init__", + "msecs": 336.8220329284668, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.637935638428, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 336.86208724975586, + "msg": "Registering all kind of Callbacks", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.677989959717, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 4.00543212890625e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,438", + "created": 1609969749.43816, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 178, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:09,336", + "created": 1609969749.336944, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 336.9441032409668, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.760005950928, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,337", + "created": 1609969749.337082, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 337.0819091796875, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.897811889648, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,337", + "created": 1609969749.337175, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 337.1748924255371, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12501.990795135498, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:09,337", + "created": 1609969749.337281, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 337.2809886932373, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12502.096891403198, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback__" + ], + "asctime": "2021-01-06 22:49:09,337", + "created": 1609969749.337339, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback__ to process received data", + "module": "__init__", + "msecs": 337.338924407959, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12502.15482711792, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:09,337", + "created": 1609969749.337404, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 337.4040126800537, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12502.219915390015, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,337", + "created": 1609969749.337531, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "module": "test_helpers", + "msecs": 337.53108978271484, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12502.346992492676, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,337", + "created": 1609969749.337624, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "module": "test_helpers", + "msecs": 337.62407302856445, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 33 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 60 02 24 68", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12502.439975738525, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:09,337", + "created": 1609969749.337716, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 337.71610260009766, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12502.532005310059, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,337", + "created": 1609969749.337783, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 337.7830982208252, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12502.599000930786, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 438.1599426269531, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12602.975845336914, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.10037684440612793 + }, + { + "args": [ + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,439", + "created": 1609969749.439482, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,438", + "created": 1609969749.43896, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message stored inside callback): {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} ()", + "module": "test", + "msecs": 438.96007537841797, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12603.775978088379, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message stored inside callback", + "{'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,439", + "created": 1609969749.439262, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message stored inside callback): result = {'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0} ()", + "module": "test", + "msecs": 439.26191329956055, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12604.077816009521, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 439.4819736480713, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12604.297876358032, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0002200603485107422 + }, + { + "args": [ + "{u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,440", + "created": 1609969749.440134, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,439", + "created": 1609969749.439789, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {u'status': 0, u'service_id': 11, u'data': 33, u'data_id': 0} ()", + "module": "test", + "msecs": 439.7890567779541, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12604.604959487915, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'status': 0, 'service_id': 11, 'data': 33, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,439", + "created": 1609969749.439973, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'status': 0, 'service_id': 11, 'data': 33, 'data_id': 0} ()", + "module": "test", + "msecs": 439.9731159210205, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12604.789018630981, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 440.13404846191406, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12604.949951171875, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0001609325408935547 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,440", + "created": 1609969749.440632, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 184, + "message": "Removing Callback for a specific Data- and Service-ID", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback__'", + "10", + "0" + ], + "asctime": "2021-01-06 22:49:09,440", + "created": 1609969749.440453, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "add", "levelname": "WARNING", "levelno": 30, - "lineno": 91, - "message": "Overwriting existing callback '__channel_name_response__' for service_id (6) and data_id (0) to 'ut_response_callback'!", + "lineno": 154, + "message": "SP server: Deleting existing callback '__callback__' for service_id (10) and data_id (0)!", "module": "__init__", - "msecs": 641.7980194091797, - "msg": "Overwriting existing callback %s for service_id (%s) and data_id (%s) to %s!", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11411.400079727173, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:41,642", - "created": 1608973901.642145, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 642.1449184417725, - "msg": "%s Cleaning up receive-buffer", + "msecs": 440.45305252075195, + "msg": "%s Deleting existing callback %s for service_id (%s) and data_id (%s)!", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11411.746978759766, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:41,642", - "created": 1608973901.642553, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP client: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 642.5530910491943, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11412.155151367188, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:41,642", - "created": 1608973901.642769, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 642.7690982818604, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11412.371158599854, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 5, - 0, - "'ut_server_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:41,642", - "created": 1608973901.642963, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 5, data_id: 0, data: \"'ut_server_set_channel_name'\"", - "module": "__init__", - "msecs": 642.9629325866699, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11412.564992904663, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:41,643", - "created": 1608973901.64349, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (86): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 81 c2 44 8c", - "module": "test_helpers", - "msecs": 643.4900760650635, - "msg": "Send data: (86): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 81 c2 44 8c", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11413.092136383057, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:41,644", - "created": 1608973901.644271, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 644.2708969116211, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11413.872957229614, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:41,794", - "created": 1608973901.794746, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (86): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 81 c2 44 8c", - "module": "test_helpers", - "msecs": 794.745922088623, - "msg": "Receive data (86): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 81 c2 44 8c", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11564.347982406616, - "thread": 139911118194432, - "threadName": "Thread-32" - }, - { - "args": [ - " SP client:", - "0", - "5", - "0", - "u'ut_server_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:41,795", - "created": 1608973901.795186, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP client: RX <- status: 0, service_id: 5, data_id: 0, data: \"u'ut_server_set_channel_name'\"", - "module": "__init__", - "msecs": 795.1860427856445, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11564.788103103638, - "thread": 139911118194432, - "threadName": "Thread-32" - }, - { - "args": [ - " SP client:", - "__channel_name_request__" - ], - "asctime": "2020-12-26 10:11:41,795", - "created": 1608973901.795427, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP client: Executing callback __channel_name_request__ to process received data", - "module": "__init__", - "msecs": 795.4270839691162, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11565.02914428711, - "thread": 139911118194432, - "threadName": "Thread-32" - }, - { - "args": [ - " SP client:", - "'ut_server_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:41,795", - "created": 1608973901.795776, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__channel_name_request__", - "levelname": "INFO", - "levelno": 20, - "lineno": 266, - "message": " SP client: channel name is now 'ut_server_set_channel_name'", - "module": "__init__", - "msecs": 795.7758903503418, - "msg": "%s channel name is now %s", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11565.377950668335, - "thread": 139911118194432, - "threadName": "Thread-32" - }, - { - "args": [ - " SP client:", - 0, - 6, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:41,795", - "created": 1608973901.79597, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP client: TX -> status: 0, service_id: 6, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 795.9699630737305, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11565.572023391724, - "thread": 139911118194432, - "threadName": "Thread-32" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:41,796", - "created": 1608973901.796418, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 99 0f 87 65", - "module": "test_helpers", - "msecs": 796.4179515838623, - "msg": "Send data: (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 99 0f 87 65", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11566.020011901855, - "thread": 139911118194432, - "threadName": "Thread-32" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:41,947", - "created": 1608973901.947671, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 99 0f 87 65", - "module": "test_helpers", - "msecs": 947.6709365844727, - "msg": "Receive data (62): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 99 0f 87 65", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11717.272996902466, - "thread": 139911126587136, - "threadName": "Thread-33" - }, - { - "args": [ - " SP server:", - "0", - "6", - "0", - "None" - ], - "asctime": "2020-12-26 10:11:41,948", - "created": 1608973901.948176, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 325, - "message": " SP server: RX <- status: 0, service_id: 6, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 948.1759071350098, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11717.777967453003, - "thread": 139911126587136, - "threadName": "Thread-33" - }, - { - "args": [ - " SP server:", - "ut_response_callback" - ], - "asctime": "2020-12-26 10:11:41,948", - "created": 1608973901.948423, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback ut_response_callback to process received data", - "module": "__init__", - "msecs": 948.422908782959, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11718.024969100952, - "thread": 139911126587136, - "threadName": "Thread-33" - } - ], - "msecs": 950.3738880157471, - "msg": "Initiating communication including channel_name exchange.", - "name": "__tLogger__", - "pathname": "src/tests/test_channel_name.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11719.97594833374, - "thread": 139911147616064, - "threadName": "MainThread", - "time_consumption": 0.001950979232788086 - }, - { - "args": [ - "'ut_server_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:41,951", - "created": 1608973901.951311, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Channel name for server is correct (Content 'ut_server_set_channel_name' and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Channel name for server", - "'ut_server_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:41,950", - "created": 1608973901.95093, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Channel name for server): 'ut_server_set_channel_name' ()", - "module": "test", - "msecs": 950.930118560791, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11720.532178878784, - "thread": 139911147616064, - "threadName": "MainThread" - }, - { - "args": [ - "Channel name for server", - "'ut_server_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:41,951", - "created": 1608973901.951132, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Channel name for server): result = 'ut_server_set_channel_name' ()", - "module": "test", - "msecs": 951.13205909729, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260862, - "processName": "MainProcess", - "relativeCreated": 11720.734119415283, - "thread": 139911147616064, + "relativeCreated": 12605.268955230713, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 951.3111114501953, - "msg": "Channel name for server is correct (Content %s and Type is %s).", + "msecs": 440.6321048736572, + "msg": "Removing Callback for a specific Data- and Service-ID", "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260862, + "pathname": "src/tests/test_callbacks.py", + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11720.913171768188, - "thread": 139911147616064, + "relativeCreated": 12605.448007583618, + "thread": 140012350113600, "threadName": "MainThread", "time_consumption": 0.00017905235290527344 }, { - "args": [ - "'ut_server_set_channel_name'", - "" + "args": [], + "asctime": "2021-01-06 22:49:09,544", + "created": 1609969749.544055, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 187, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:09,440", + "created": 1609969749.440911, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 440.91105461120605, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12605.726957321167, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,441", + "created": 1609969749.441349, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 441.3490295410156, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12606.164932250977, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,441", + "created": 1609969749.441626, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 441.62607192993164, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12606.441974639893, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:09,441", + "created": 1609969749.441901, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 441.90096855163574, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12606.716871261597, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback1__" + ], + "asctime": "2021-01-06 22:49:09,442", + "created": 1609969749.442075, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback1__ to process received data", + "module": "__init__", + "msecs": 442.0750141143799, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12606.89091682434, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: operation not permitted", + "34" + ], + "asctime": "2021-01-06 22:49:09,442", + "created": 1609969749.442241, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: read data response, data_id: 0, status: operation not permitted, data: \"34\"", + "module": "__init__", + "msecs": 442.24095344543457, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12607.056856155396, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,442", + "created": 1609969749.442686, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 34 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 46 3f 83 36", + "module": "test_helpers", + "msecs": 442.6860809326172, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 34 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 46 3f 83 36", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12607.501983642578, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,442", + "created": 1609969749.442979, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 34 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 46 3f 83 36", + "module": "test_helpers", + "msecs": 442.979097366333, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 34 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 46 3f 83 36", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12607.795000076294, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: operation not permitted", + "34" + ], + "asctime": "2021-01-06 22:49:09,443", + "created": 1609969749.443209, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: read data response, data_id: 0, status: operation not permitted, data: \"34\"", + "module": "__init__", + "msecs": 443.2089328765869, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12608.024835586548, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: operation not permitted" + ], + "asctime": "2021-01-06 22:49:09,443", + "created": 1609969749.443357, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: operation not permitted", + "module": "__init__", + "msecs": 443.356990814209, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12608.17289352417, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,443", + "created": 1609969749.443526, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 443.526029586792, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12608.341932296753, + "thread": 140012350113600, + "threadName": "MainThread" + } ], - "asctime": "2020-12-26 10:11:41,951", - "created": 1608973901.951932, + "msecs": 544.0549850463867, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12708.870887756348, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.10052895545959473 + }, + { + "args": [ + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,545", + "created": 1609969749.545742, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Channel name for client is correct (Content 'ut_server_set_channel_name' and Type is ).", + "lineno": 144, + "message": "Message stored inside callback is correct (Content {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Channel name for client", - "'ut_server_set_channel_name'", - "" + "Message stored inside callback", + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" ], - "asctime": "2020-12-26 10:11:41,951", - "created": 1608973901.951597, + "asctime": "2021-01-06 22:49:09,544", + "created": 1609969749.544985, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -18527,26 +45257,26 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Channel name for client): 'ut_server_set_channel_name' ()", + "message": "Result (Message stored inside callback): {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} ()", "module": "test", - "msecs": 951.5969753265381, + "msecs": 544.9850559234619, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11721.199035644531, - "thread": 139911147616064, + "relativeCreated": 12709.800958633423, + "thread": 140012350113600, "threadName": "MainThread" }, { "args": [ - "Channel name for client", - "'ut_server_set_channel_name'", - "" + "Message stored inside callback", + "{'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0}", + "" ], - "asctime": "2020-12-26 10:11:41,951", - "created": 1608973901.951763, + "asctime": "2021-01-06 22:49:09,545", + "created": 1609969749.545443, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -18554,69 +45284,1212 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Channel name for client): result = 'ut_server_set_channel_name' ()", + "message": "Expectation (Message stored inside callback): result = {'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0} ()", "module": "test", - "msecs": 951.7629146575928, + "msecs": 545.443058013916, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11721.364974975586, - "thread": 139911147616064, + "relativeCreated": 12710.258960723877, + "thread": 140012350113600, "threadName": "MainThread" } ], - "msecs": 951.9319534301758, - "msg": "Channel name for client is correct (Content %s and Type is %s).", + "msecs": 545.7420349121094, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260862, + "process": 125831, "processName": "MainProcess", - "relativeCreated": 11721.534013748169, - "thread": 139911147616064, + "relativeCreated": 12710.55793762207, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.0001690387725830078 + "time_consumption": 0.0002989768981933594 + }, + { + "args": [ + "{u'status': 6, u'service_id': 11, u'data': 34, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,546", + "created": 1609969749.546763, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {u'status': 6, u'service_id': 11, u'data': 34, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{u'status': 6, u'service_id': 11, u'data': 34, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,546", + "created": 1609969749.54626, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {u'status': 6, u'service_id': 11, u'data': 34, u'data_id': 0} ()", + "module": "test", + "msecs": 546.2601184844971, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12711.076021194458, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'status': 6, 'service_id': 11, 'data': 34, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,546", + "created": 1609969749.546541, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'status': 6, 'service_id': 11, 'data': 34, 'data_id': 0} ()", + "module": "test", + "msecs": 546.5409755706787, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12711.35687828064, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 546.7629432678223, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12711.578845977783, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0002219676971435547 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,547", + "created": 1609969749.547432, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 193, + "message": "Removing Callback for a specific Service-ID and all Data-IDs", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback1__'", + "10", + "None" + ], + "asctime": "2021-01-06 22:49:09,547", + "created": 1609969749.547199, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "WARNING", + "levelno": 30, + "lineno": 154, + "message": "SP server: Deleting existing callback '__callback1__' for service_id (10) and data_id (None)!", + "module": "__init__", + "msecs": 547.199010848999, + "msg": "%s Deleting existing callback %s for service_id (%s) and data_id (%s)!", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12712.01491355896, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 547.4319458007812, + "msg": "Removing Callback for a specific Service-ID and all Data-IDs", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12712.247848510742, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.00023293495178222656 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,651", + "created": 1609969749.651893, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 196, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:09,547", + "created": 1609969749.547826, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 547.8260517120361, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12712.641954421997, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,548", + "created": 1609969749.548428, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 548.4280586242676, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12713.243961334229, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,548", + "created": 1609969749.548805, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 548.8049983978271, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12713.620901107788, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:09,549", + "created": 1609969749.549256, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 549.2560863494873, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12714.071989059448, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback2__" + ], + "asctime": "2021-01-06 22:49:09,549", + "created": 1609969749.549527, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback2__ to process received data", + "module": "__init__", + "msecs": 549.5269298553467, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12714.342832565308, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: operation not permitted", + "35" + ], + "asctime": "2021-01-06 22:49:09,549", + "created": 1609969749.549839, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: read data response, data_id: 0, status: operation not permitted, data: \"35\"", + "module": "__init__", + "msecs": 549.8390197753906, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12714.654922485352, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,550", + "created": 1609969749.550239, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 35 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e8 57 12 a7", + "module": "test_helpers", + "msecs": 550.239086151123, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 35 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e8 57 12 a7", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12715.054988861084, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,550", + "created": 1609969749.550529, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 35 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e8 57 12 a7", + "module": "test_helpers", + "msecs": 550.5290031433105, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 35 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e8 57 12 a7", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12715.344905853271, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: operation not permitted", + "35" + ], + "asctime": "2021-01-06 22:49:09,550", + "created": 1609969749.550947, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: read data response, data_id: 0, status: operation not permitted, data: \"35\"", + "module": "__init__", + "msecs": 550.9469509124756, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12715.762853622437, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: operation not permitted" + ], + "asctime": "2021-01-06 22:49:09,551", + "created": 1609969749.551178, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: operation not permitted", + "module": "__init__", + "msecs": 551.177978515625, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12715.993881225586, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,551", + "created": 1609969749.5514, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 551.3999462127686, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12716.21584892273, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 651.892900466919, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12816.70880317688, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.10049295425415039 + }, + { + "args": [ + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,653", + "created": 1609969749.653324, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,652", + "created": 1609969749.652644, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message stored inside callback): {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} ()", + "module": "test", + "msecs": 652.6439189910889, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12817.45982170105, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message stored inside callback", + "{'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,652", + "created": 1609969749.652989, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message stored inside callback): result = {'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0} ()", + "module": "test", + "msecs": 652.9889106750488, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12817.80481338501, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 653.3238887786865, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12818.139791488647, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0003349781036376953 + }, + { + "args": [ + "{u'status': 6, u'service_id': 11, u'data': 35, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,654", + "created": 1609969749.654553, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {u'status': 6, u'service_id': 11, u'data': 35, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{u'status': 6, u'service_id': 11, u'data': 35, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,653", + "created": 1609969749.653858, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {u'status': 6, u'service_id': 11, u'data': 35, u'data_id': 0} ()", + "module": "test", + "msecs": 653.857946395874, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12818.673849105835, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'status': 6, 'service_id': 11, 'data': 35, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,654", + "created": 1609969749.654213, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'status': 6, 'service_id': 11, 'data': 35, 'data_id': 0} ()", + "module": "test", + "msecs": 654.2129516601562, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12819.028854370117, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 654.5529365539551, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12819.368839263916, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0003399848937988281 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,655", + "created": 1609969749.655438, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 202, + "message": "Removing Callback for a specific Data-ID and all Serice-IDs", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback2__'", + "None", + "0" + ], + "asctime": "2021-01-06 22:49:09,655", + "created": 1609969749.655111, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "WARNING", + "levelno": 30, + "lineno": 154, + "message": "SP server: Deleting existing callback '__callback2__' for service_id (None) and data_id (0)!", + "module": "__init__", + "msecs": 655.1110744476318, + "msg": "%s Deleting existing callback %s for service_id (%s) and data_id (%s)!", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12819.926977157593, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 655.4379463195801, + "msg": "Removing Callback for a specific Data-ID and all Serice-IDs", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12820.253849029541, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0003268718719482422 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,760", + "created": 1609969749.760868, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 205, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:09,655", + "created": 1609969749.655987, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 655.987024307251, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12820.802927017212, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,656", + "created": 1609969749.656756, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 656.7559242248535, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12821.571826934814, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,657", + "created": 1609969749.657286, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "module": "test_helpers", + "msecs": 657.2859287261963, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 64 61 74 61 22 3a 20 33 31 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d e6 17 fc 16", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12822.101831436157, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:09,657", + "created": 1609969749.657708, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 657.707929611206, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12822.523832321167, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback3__" + ], + "asctime": "2021-01-06 22:49:09,658", + "created": 1609969749.658056, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback3__ to process received data", + "module": "__init__", + "msecs": 658.0560207366943, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12822.871923446655, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: okay", + "36" + ], + "asctime": "2021-01-06 22:49:09,658", + "created": 1609969749.658299, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 719, + "message": "SP server: TX <- service: read data response, data_id: 0, status: okay, data: \"36\"", + "module": "__init__", + "msecs": 658.2989692687988, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12823.11487197876, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,658", + "created": 1609969749.65881, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 36 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 1a 5b f9 7e", + "module": "test_helpers", + "msecs": 658.8099002838135, + "msg": "Send data: (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 36 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 1a 5b f9 7e", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12823.625802993774, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:09,659", + "created": 1609969749.65929, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 36 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 1a 5b f9 7e", + "module": "test_helpers", + "msecs": 659.290075302124, + "msg": "Receive data (61): 7b 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 64 61 74 61 22 3a 20 33 36 2c 20 22 64 61 74 61 5f 69 64 22 3a 20 30 7d 1a 5b f9 7e", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12824.105978012085, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: okay", + "36" + ], + "asctime": "2021-01-06 22:49:09,659", + "created": 1609969749.6598, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 450, + "message": "SP client: RX <- service: read data response, data_id: 0, status: okay, data: \"36\"", + "module": "__init__", + "msecs": 659.8000526428223, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12824.615955352783, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:09,660", + "created": 1609969749.66016, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 660.1600646972656, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12824.975967407227, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 760.8680725097656, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12925.683975219727, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.1007080078125 + }, + { + "args": [ + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,762", + "created": 1609969749.762912, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,762", + "created": 1609969749.76208, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message stored inside callback): {u'status': 0, u'service_id': 10, u'data': 31, u'data_id': 0} ()", + "module": "test", + "msecs": 762.0799541473389, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12926.8958568573, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message stored inside callback", + "{'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,762", + "created": 1609969749.762592, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message stored inside callback): result = {'status': 0, 'service_id': 10, 'data': 31, 'data_id': 0} ()", + "module": "test", + "msecs": 762.592077255249, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12927.40797996521, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 762.9120349884033, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12927.727937698364, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.0003199577331542969 + }, + { + "args": [ + "{u'status': 0, u'service_id': 11, u'data': 36, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,763", + "created": 1609969749.763963, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {u'status': 0, u'service_id': 11, u'data': 36, u'data_id': 0} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{u'status': 0, u'service_id': 11, u'data': 36, u'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,763", + "created": 1609969749.763354, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {u'status': 0, u'service_id': 11, u'data': 36, u'data_id': 0} ()", + "module": "test", + "msecs": 763.3540630340576, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12928.169965744019, + "thread": 140012350113600, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'status': 0, 'service_id': 11, 'data': 36, 'data_id': 0}", + "" + ], + "asctime": "2021-01-06 22:49:09,763", + "created": 1609969749.763654, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'status': 0, 'service_id': 11, 'data': 36, 'data_id': 0} ()", + "module": "test", + "msecs": 763.6539936065674, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12928.469896316528, + "thread": 140012350113600, + "threadName": "MainThread" + } + ], + "msecs": 763.962984085083, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125831, + "processName": "MainProcess", + "relativeCreated": 12928.778886795044, + "thread": 140012350113600, + "threadName": "MainThread", + "time_consumption": 0.000308990478515625 } ], - "thread": 139911147616064, + "thread": 140012350113600, "threadName": "MainThread", - "time_consumption": 0.31142687797546387, - "time_finished": "2020-12-26 10:11:41,951", - "time_start": "2020-12-26 10:11:41,640" + "time_consumption": 0.42955899238586426, + "time_finished": "2021-01-06 22:49:09,763", + "time_start": "2021-01-06 22:49:09,334" } }, "testrun_id": "p2", - "time_consumption": 12.6174156665802, + "time_consumption": 13.640483617782593, "uid_list_sorted": [ - "socket_protocol.struct_json_protocol: Send and receive check.", - "socket_protocol.pure_json_protocol: Send and receive check.", - "socket_protocol.pure_json_protocol: Send and receive check including authentification.", - "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id and data_id.", - "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id.", - "socket_protocol.pure_json_protocol: Wildcard Callback registration for data_id.", - "socket_protocol.pure_json_protocol: Register a second Callback with the same service_id.", - "socket_protocol.struct_json_protocol: Send and receive check (Twice for coverage of buffer initialisation).", - "socket_protocol.pure_json_protocol: Checksum corumpation while sending.", - "socket_protocol.pure_json_protocol: Timeout measurement for authentification and send method.", - "socket_protocol.pure_json_protocol: No Callback at response instance for the request.", - "socket_protocol.pure_json_protocol: Authentification required, but not processed/ correctly processed.", - "socket_protocol.pure_json_protocol: Authentification processed without secret.", - "socket_protocol.pure_json_protocol: Incompatible Callback return value(s).", - "socket_protocol: Server setting the channel name.", - "socket_protocol: Client setting the channel name.", - "socket_protocol: Server and Client setting different channel names.", - "socket_protocol: Server and Client setting the same channel name." + "_XzMFcHYZEem_kd-7nxt1sg", + "_7izDUEzYEeuiHtQbLi1mZg", + "_-UtxUEzYEeuiHtQbLi1mZg", + "_AlIUwEzZEeuiHtQbLi1mZg", + "_2pi_8EzZEeuiHtQbLi1mZg", + "_ZJMD8EzaEeuiHtQbLi1mZg", + "_j-npsE0MEeuiHtQbLi1mZg", + "_4w4SsE1DEeuiHtQbLi1mZg", + "_Pn3WgE0NEeuiHtQbLi1mZg", + "_CZeooE0YEeuiHtQbLi1mZg", + "_Lmn-kE0hEeuiHtQbLi1mZg", + "_k-Q4EE0oEeuiHtQbLi1mZg", + "_ZOW3ME0vEeuiHtQbLi1mZg", + "_r9srME0vEeuiHtQbLi1mZg", + "_Tb-78E4LEeupHeIYRnC0qw", + "_YfrfUE4LEeupHeIYRnC0qw", + "_k7opsE4LEeupHeIYRnC0qw", + "_tb5akE4LEeupHeIYRnC0qw", + "_aA508E4gEeupHeIYRnC0qw", + "_elO7wE4gEeupHeIYRnC0qw", + "_gvJ1oE4gEeupHeIYRnC0qw", + "_YhmzIE4lEeupHeIYRnC0qw" ] }, { - "heading_dict": {}, + "heading_dict": { + "_-UtxUEzYEeuiHtQbLi1mZg": "Data-ID", + "_2pi_8EzZEeuiHtQbLi1mZg": "A full Message Object including the defined properties and data shall be transfered.", + "_4w4SsE1DEeuiHtQbLi1mZg": "An automatic authentification shall available", + "_7izDUEzYEeuiHtQbLi1mZg": "Service-ID", + "_AlIUwEzZEeuiHtQbLi1mZg": "Data", + "_CZeooE0YEeuiHtQbLi1mZg": "A whitelist for communication (rx and tx) shall be available to enable communication for unauthorised counterparts", + "_GhVN8E4MEeupHeIYRnC0qw": "Some additional Information and Passthrough Methods", + "_Lmn-kE0hEeuiHtQbLi1mZg": "Define a channel name for the server and client after connection is established", + "_MR7eOHYYEem_kd-7nxt1sg": "Message Object", + "_Pn3WgE0NEeuiHtQbLi1mZg": "Communication (rx and tx) shall be disabled, if a secret is given but no authentification had been successfully performed.", + "_Tb-78E4LEeupHeIYRnC0qw": "It shall be possible to register a callback for a specific Service-ID and all Data-IDs", + "_XzMFcHYZEem_kd-7nxt1sg": "Status", + "_YfrfUE4LEeupHeIYRnC0qw": "It shall be possible to register a callback for a specific Data-IDs and all Service-IDs", + "_YhmzIE4lEeupHeIYRnC0qw": "A full Message Object including the defined properties and data shall be transfered.", + "_ZJMD8EzaEeuiHtQbLi1mZg": "A checksumm shall ensure the correct transmition", + "_ZOW3ME0vEeuiHtQbLi1mZg": "Registration of already registered request Service-ID or response Service-ID shall not be possible", + "_aA508E4gEeupHeIYRnC0qw": "Connection established information", + "_elO7wE4gEeupHeIYRnC0qw": "Is connected information", + "_gvJ1oE4gEeupHeIYRnC0qw": "Reconnect Method", + "_j-npsE0MEeuiHtQbLi1mZg": "An authentification between server and client shall be possible including status feedback methods ", + "_jZU84E4gEeupHeIYRnC0qw": "Depreceated struct protocol", + "_k-Q4EE0oEeuiHtQbLi1mZg": "The User shall be able to define a new service", + "_k7opsE4LEeupHeIYRnC0qw": "It shall be possible to register a callback for all incomming messages", + "_qUrK8E4LEeupHeIYRnC0qw": "Callbacks", + "_r9srME0vEeuiHtQbLi1mZg": "It shall be possible to register a callback for a specific Service- and Data-ID", + "_tb5akE4LEeupHeIYRnC0qw": "Callback choice, if several callbacks are available (caused by wildcard callbacks)", + "_zdGSEEzZEeuiHtQbLi1mZg": "Communication" + }, "interpreter": "python 3.8.5 (final)", "name": "Default Testsession name", "number_of_failed_tests": 0, "number_of_possibly_failed_tests": 0, - "number_of_successfull_tests": 18, - "number_of_tests": 18, + "number_of_successfull_tests": 22, + "number_of_tests": 22, "testcase_execution_level": 90, "testcase_names": { "0": "Single Test", @@ -18625,185 +46498,81 @@ "90": "Full Test (all defined tests)" }, "testcases": { - "socket_protocol.pure_json_protocol: Authentification processed without secret.": { + "_-UtxUEzYEeuiHtQbLi1mZg": { "args": null, - "asctime": "2020-12-26 10:11:54,310", - "created": 1608973914.3105853, + "asctime": "2021-01-06 22:49:11,392", + "created": 1609969751.392793, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "testrun", "levelname": "INFO", "levelno": 20, - "lineno": 44, - "message": "socket_protocol.pure_json_protocol: Authentification processed without secret.", + "lineno": 28, + "message": "_-UtxUEzYEeuiHtQbLi1mZg", "module": "__init__", "moduleLogger": [], - "msecs": 310.58526039123535, - "msg": "socket_protocol.pure_json_protocol: Authentification processed without secret.", + "msecs": 392.7929401397705, + "msg": "_-UtxUEzYEeuiHtQbLi1mZg", "name": "__tLogger__", "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11000.380992889404, + "relativeCreated": 93.13511848449707, "stack_info": null, "testcaseLogger": [ { - "args": [], - "asctime": "2020-12-26 10:11:54,312", - "created": 1608973914.312084, + "args": [ + "{'data': None, 'data_id': None, 'service_id': None, 'status': None}" + ], + "asctime": "2021-01-06 22:49:11,392", + "created": 1609969751.3929298, "exc_info": null, "exc_text": null, - "filename": "test_handling_errors.py", - "funcName": "authentification_no_secret", + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", "levelname": "DEBUG", "levelno": 10, - "lineno": 90, - "message": "Authentification with no secret definition (pure_json_protocol).", - "module": "test_handling_errors", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:54,310", - "created": 1608973914.310956, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 310.9560012817383, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11000.751733779907, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:54,311", - "created": 1608973914.3113139, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 311.3138675689697, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11001.109600067139, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:54,311", - "created": 1608973914.311598, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 311.5980625152588, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11001.393795013428, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:54,311", - "created": 1608973914.3119173, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 311.9173049926758, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11001.713037490845, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 312.0839595794678, - "msg": "Authentification with no secret definition (pure_json_protocol).", + "lineno": 10, + "message": "Creating empty message object: {'data': None, 'data_id': None, 'service_id': None, 'status': None}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 392.9297924041748, + "msg": "Creating empty message object: %s", "name": "__tLogger__", - "pathname": "src/tests/test_handling_errors.py", - "process": 260919, + "pathname": "src/tests/test_message_object.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11001.879692077637, + "relativeCreated": 93.27197074890137, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.0001666545867919922 + "time_consumption": 0.0 }, { "args": [ - "False", - "" + "'data_id'" ], - "asctime": "2020-12-26 10:11:54,312", - "created": 1608973914.3126004, + "asctime": "2021-01-06 22:49:11,393", + "created": 1609969751.3932602, "exc_info": null, "exc_text": null, "filename": "test.py", - "funcName": "equivalency_chk", + "funcName": "in_list_dict_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of authentification is correct (Content False and Type is ).", + "lineno": 242, + "message": "data_id is part of the message object is correct ('data_id' is in the list or dict).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of authentification", - "False", - "" + "data_id is part of the message object", + "{'data': None, 'data_id': None, 'service_id': None, 'status': None}", + "" ], - "asctime": "2020-12-26 10:11:54,312", - "created": 1608973914.312315, + "asctime": "2021-01-06 22:49:11,393", + "created": 1609969751.3930469, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -18811,27 +46580,224 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of authentification): False ()", + "message": "Result (data_id is part of the message object): {'data': None, 'data_id': None, 'service_id': None, 'status': None} ()", "module": "test", - "msecs": 312.3149871826172, + "msecs": 393.0468559265137, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11002.110719680786, + "relativeCreated": 93.38903427124023, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return value of authentification", - "False", - "" + "data_id is part of the message object", + "'data_id'" ], - "asctime": "2020-12-26 10:11:54,312", - "created": 1608973914.3124595, + "asctime": "2021-01-06 22:49:11,393", + "created": 1609969751.3931406, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (data_id is part of the message object): 'data_id' in result", + "module": "test", + "msecs": 393.1405544281006, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 93.48273277282715, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 393.26024055480957, + "msg": "data_id is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 93.60241889953613, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00011968612670898438 + }, + { + "args": [ + "{'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'}" + ], + "asctime": "2021-01-06 22:49:11,393", + "created": 1609969751.3934636, + "exc_info": null, + "exc_text": null, + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Creating a maximum message object: {'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 393.4636116027832, + "msg": "Creating a maximum message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 93.80578994750977, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'data_id'" + ], + "asctime": "2021-01-06 22:49:11,393", + "created": 1609969751.3937156, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "data_id is part of the message object is correct ('data_id' is in the list or dict).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "data_id is part of the message object", + "{'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'}", + "" + ], + "asctime": "2021-01-06 22:49:11,393", + "created": 1609969751.3935833, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (data_id is part of the message object): {'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'} ()", + "module": "test", + "msecs": 393.5832977294922, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 93.92547607421875, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "data_id is part of the message object", + "'data_id'" + ], + "asctime": "2021-01-06 22:49:11,393", + "created": 1609969751.3936498, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (data_id is part of the message object): 'data_id' in result", + "module": "test", + "msecs": 393.6498165130615, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 93.99199485778809, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 393.71562004089355, + "msg": "data_id is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 94.05779838562012, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 6.580352783203125e-05 + }, + { + "args": [ + "'DID'", + "" + ], + "asctime": "2021-01-06 22:49:11,394", + "created": 1609969751.3940609, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Content in message object for data_id is correct (Content 'DID' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Content in message object for data_id", + "'DID'", + "" + ], + "asctime": "2021-01-06 22:49:11,393", + "created": 1609969751.3939006, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Content in message object for data_id): 'DID' ()", + "module": "test", + "msecs": 393.90063285827637, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 94.24281120300293, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Content in message object for data_id", + "'DID'", + "" + ], + "asctime": "2021-01-06 22:49:11,393", + "created": 1609969751.3939822, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -18839,1270 +46805,1381 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of authentification): result = False ()", + "message": "Expectation (Content in message object for data_id): result = 'DID' ()", "module": "test", - "msecs": 312.45946884155273, + "msecs": 393.9821720123291, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11002.255201339722, + "relativeCreated": 94.32435035705566, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 312.60037422180176, - "msg": "Return value of authentification is correct (Content %s and Type is %s).", + "msecs": 394.0608501434326, + "msg": "Content in message object for data_id is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11002.39610671997, + "relativeCreated": 94.40302848815918, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.00014090538024902344 + "time_consumption": 7.867813110351562e-05 } ], - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.0020151138305664062, - "time_finished": "2020-12-26 10:11:54,312", - "time_start": "2020-12-26 10:11:54,310" + "time_consumption": 0.0012679100036621094, + "time_finished": "2021-01-06 22:49:11,394", + "time_start": "2021-01-06 22:49:11,392" }, - "socket_protocol.pure_json_protocol: Authentification required, but not processed/ correctly processed.": { + "_2pi_8EzZEeuiHtQbLi1mZg": { "args": null, - "asctime": "2020-12-26 10:11:52,897", - "created": 1608973912.897943, + "asctime": "2021-01-06 22:49:11,395", + "created": 1609969751.3957272, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "testrun", "levelname": "INFO", "levelno": 20, - "lineno": 43, - "message": "socket_protocol.pure_json_protocol: Authentification required, but not processed/ correctly processed.", + "lineno": 33, + "message": "_2pi_8EzZEeuiHtQbLi1mZg", "module": "__init__", "moduleLogger": [], - "msecs": 897.9430198669434, - "msg": "socket_protocol.pure_json_protocol: Authentification required, but not processed/ correctly processed.", + "msecs": 395.72715759277344, + "msg": "_2pi_8EzZEeuiHtQbLi1mZg", "name": "__tLogger__", "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9587.738752365112, + "relativeCreated": 96.0693359375, "stack_info": null, "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:54,105", - "created": 1608973914.1052094, + "asctime": "2021-01-06 22:49:11,402", + "created": 1609969751.4029267, "exc_info": null, "exc_text": null, - "filename": "test_handling_errors.py", - "funcName": "authentification_error", + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", "levelname": "DEBUG", "levelno": 10, - "lineno": 67, - "message": "Authentification with different secrets for request and response instance (pure_json_protocol).", - "module": "test_handling_errors", + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", "moduleLogger": [ { "args": [ - " SP server:" + "SP server:" ], - "asctime": "2020-12-26 10:11:52,898", - "created": 1608973912.898367, + "asctime": "2021-01-06 22:49:11,396", + "created": 1609969751.3960679, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 898.3669281005859, + "msecs": 396.06785774230957, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9588.162660598755, + "relativeCreated": 96.41003608703613, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:52,898", - "created": 1608973912.8987405, + "asctime": "2021-01-06 22:49:11,396", + "created": 1609969751.3963127, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 898.7405300140381, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9588.536262512207, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:52,899", - "created": 1608973912.899013, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", + "funcName": "add_service", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", "module": "__init__", - "msecs": 899.0130424499512, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", + "msecs": 396.3127136230469, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9588.80877494812, + "relativeCreated": 96.65489196777344, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: authentification request, data_id: seed" ], - "asctime": "2020-12-26 10:11:52,899", - "created": 1608973912.8993306, + "asctime": "2021-01-06 22:49:11,397", + "created": 1609969751.397577, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 899.3306159973145, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9589.126348495483, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:52,899", - "created": 1608973912.899535, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "authentificate", - "levelname": "INFO", - "levelno": 20, - "lineno": 456, - "message": " SP server: Requesting seed for authentification", - "module": "__init__", - "msecs": 899.5349407196045, - "msg": "%s Requesting seed for authentification", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9589.330673217773, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 1, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:52,899", - "created": 1608973912.8996866, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 1, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 899.6865749359131, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9589.482307434082, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:52,900", - "created": 1608973912.9000463, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", + "funcName": "add_msg_to_auth_whitelist_", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 9e 85 7b 8d", - "module": "test_helpers", - "msecs": 900.0463485717773, - "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 9e 85 7b 8d", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 397.57704734802246, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9589.842081069946, + "relativeCreated": 97.91922569274902, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { - "args": [], - "asctime": "2020-12-26 10:11:53,051", - "created": 1608973913.051011, + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:11,397", + "created": 1609969751.397715, "exc_info": null, "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 9e 85 7b 8d", - "module": "test_helpers", - "msecs": 51.011085510253906, - "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 9e 85 7b 8d", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 397.71509170532227, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9740.806818008423, + "relativeCreated": 98.05727005004883, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-26" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:11,397", + "created": 1609969751.3978298, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 397.8297710418701, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 98.17194938659668, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:11,397", + "created": 1609969751.3979652, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 397.9651927947998, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 98.30737113952637, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", "0", + "0" + ], + "asctime": "2021-01-06 22:49:11,398", + "created": 1609969751.3980615, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 398.06151390075684, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 98.4036922454834, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", "1", - "0", - "None" + "0" ], - "asctime": "2020-12-26 10:11:53,051", - "created": 1608973913.051458, + "asctime": "2021-01-06 22:49:11,398", + "created": 1609969751.3981829, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 1, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 51.457881927490234, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9741.25361442566, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-26" - }, - { - "args": [ - " SP server:", - "__authentificate_create_seed__" - ], - "asctime": "2020-12-26 10:11:53,051", - "created": 1608973913.0516784, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", + "funcName": "add", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback __authentificate_create_seed__ to process received data", + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", "module": "__init__", - "msecs": 51.67841911315918, - "msg": "%s Executing callback %s to process received data", + "msecs": 398.18286895751953, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9741.474151611328, + "relativeCreated": 98.5250473022461, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-26" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" ], - "asctime": "2020-12-26 10:11:53,051", - "created": 1608973913.0518332, + "asctime": "2021-01-06 22:49:11,398", + "created": 1609969751.398392, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentificate_create_seed__", - "levelname": "INFO", - "levelno": 20, - "lineno": 482, - "message": " SP server: Got seed request, sending seed for authentification", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", "module": "__init__", - "msecs": 51.833152770996094, - "msg": "%s Got seed request, sending seed for authentification", + "msecs": 398.3919620513916, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9741.628885269165, + "relativeCreated": 98.73414039611816, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-26" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - 0, - 2, - 0, - "'3435b2d76e662ed74d4c53b5f9fc840b079a402602fd1813c078d5f8a3f22992'" + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" ], - "asctime": "2020-12-26 10:11:53,052", - "created": 1608973913.0520978, + "asctime": "2021-01-06 22:49:11,398", + "created": 1609969751.3985484, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 398.5483646392822, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 98.89054298400879, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:11,398", + "created": 1609969751.3987327, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 398.73266220092773, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 99.0748405456543, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:11,398", + "created": 1609969751.3989034, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 398.90336990356445, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 99.24554824829102, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:11,399", + "created": 1609969751.3990636, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 399.0635871887207, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 99.40576553344727, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:11,399", + "created": 1609969751.3992622, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 399.2621898651123, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 99.60436820983887, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:11,399", + "created": 1609969751.3994906, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 399.4905948638916, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 99.83277320861816, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:11,399", + "created": 1609969751.399904, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 399.9040126800537, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 100.24619102478027, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:11,400", + "created": 1609969751.4001896, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 400.1896381378174, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 100.53181648254395, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:11,400", + "created": 1609969751.4003887, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 400.3887176513672, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 100.73089599609375, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:11,400", + "created": 1609969751.4004807, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 400.4807472229004, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 100.82292556762695, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:11,400", + "created": 1609969751.4005995, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 400.59947967529297, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 100.94165802001953, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:11,400", + "created": 1609969751.4008179, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 400.81787109375, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 101.16004943847656, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:11,400", + "created": 1609969751.4008768, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 400.8767604827881, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 101.21893882751465, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:11,401", + "created": 1609969751.401014, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 401.0140895843506, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 101.35626792907715, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:11,401", + "created": 1609969751.401109, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 401.108980178833, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 101.45115852355957, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:11,401", + "created": 1609969751.4011724, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 401.172399520874, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 101.51457786560059, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:11,401", + "created": 1609969751.401228, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 401.2279510498047, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 101.57012939453125, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:11,401", + "created": 1609969751.401315, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 401.31497383117676, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 101.65715217590332, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:11,401", + "created": 1609969751.4013586, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 401.35860443115234, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 101.7007827758789, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:11,401", + "created": 1609969751.4014213, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 401.42130851745605, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 101.76348686218262, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:11,401", + "created": 1609969751.4014654, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 401.46541595458984, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 101.8075942993164, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:11,401", + "created": 1609969751.4015205, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 401.5204906463623, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 101.86266899108887, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:11,401", + "created": 1609969751.4016323, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 401.63230895996094, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 101.9744873046875, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:11,401", + "created": 1609969751.4017167, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 401.7167091369629, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 102.05888748168945, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:11,401", + "created": 1609969751.4017649, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 401.7648696899414, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 102.10704803466797, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:11,401", + "created": 1609969751.40192, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 401.9200801849365, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 102.26225852966309, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:11,402", + "created": 1609969751.402109, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 402.10890769958496, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 102.45108604431152, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:11,402", + "created": 1609969751.4024303, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 402.43029594421387, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 102.77247428894043, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:11,402", + "created": 1609969751.4026895, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 402.68945693969727, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 103.03163528442383, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:11,402", + "created": 1609969751.4028344, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 402.834415435791, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 103.17659378051758, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:11,402", + "created": 1609969751.4028804, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 402.8804302215576, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 103.22260856628418, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 402.9266834259033, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 103.26886177062988, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.6253204345703125e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:11,503", + "created": 1609969751.5039113, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "send_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 53, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:11,403", + "created": 1609969751.4030576, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 2, data_id: 0, data: \"'3435b2d76e662ed74d4c53b5f9fc840b079a402602fd1813c078d5f8a3f22992'\"", + "lineno": 714, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", "module": "__init__", - "msecs": 52.09779739379883, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 403.0575752258301, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9741.893529891968, + "relativeCreated": 103.39975357055664, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-26" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:53,052", - "created": 1608973913.0525556, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 33 34 33 35 62 32 64 37 36 65 36 36 32 65 64 37 34 64 34 63 35 33 62 35 66 39 66 63 38 34 30 62 30 37 39 61 34 30 32 36 30 32 66 64 31 38 31 33 63 30 37 38 64 35 66 38 61 33 66 32 32 39 39 32 22 7d 05 ef eb 79", - "module": "test_helpers", - "msecs": 52.55556106567383, - "msg": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 33 34 33 35 62 32 64 37 36 65 36 36 32 65 64 37 34 64 34 63 35 33 62 35 66 39 66 63 38 34 30 62 30 37 39 61 34 30 32 36 30 32 66 64 31 38 31 33 63 30 37 38 64 35 66 38 61 33 66 32 32 39 39 32 22 7d 05 ef eb 79", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9742.351293563843, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-26" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:53,203", - "created": 1608973913.2036593, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 33 34 33 35 62 32 64 37 36 65 36 36 32 65 64 37 34 64 34 63 35 33 62 35 66 39 66 63 38 34 30 62 30 37 39 61 34 30 32 36 30 32 66 64 31 38 31 33 63 30 37 38 64 35 66 38 61 33 66 32 32 39 39 32 22 7d 05 ef eb 79", - "module": "test_helpers", - "msecs": 203.6592960357666, - "msg": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 33 34 33 35 62 32 64 37 36 65 36 36 32 65 64 37 34 64 34 63 35 33 62 35 66 39 66 63 38 34 30 62 30 37 39 61 34 30 32 36 30 32 66 64 31 38 31 33 63 30 37 38 64 35 66 38 61 33 66 32 32 39 39 32 22 7d 05 ef eb 79", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9893.455028533936, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-27" - }, - { - "args": [ - " SP server:", - "0", - "2", - "0", - "'3435b2d76e662ed74d4c53b5f9fc840b079a402602fd1813c078d5f8a3f22992'" - ], - "asctime": "2020-12-26 10:11:53,204", - "created": 1608973913.204058, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 2, data_id: 0, data: \"'3435b2d76e662ed74d4c53b5f9fc840b079a402602fd1813c078d5f8a3f22992'\"", - "module": "__init__", - "msecs": 204.0579319000244, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9893.853664398193, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-27" - }, - { - "args": [ - " SP server:", - "__authentificate_create_key__" - ], - "asctime": "2020-12-26 10:11:53,204", - "created": 1608973913.204274, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback __authentificate_create_key__ to process received data", - "module": "__init__", - "msecs": 204.27393913269043, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9894.06967163086, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-27" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:53,204", - "created": 1608973913.2044497, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentificate_create_key__", - "levelname": "INFO", - "levelno": 20, - "lineno": 491, - "message": " SP server: Got seed, sending key for authentification", - "module": "__init__", - "msecs": 204.44965362548828, - "msg": "%s Got seed, sending key for authentification", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9894.245386123657, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-27" - }, - { - "args": [ - " SP server:", - 0, - 3, - 0, - "'989e9f888834c797745607d3f35a2355b3dbca31e05ec51e5147f54b32959ee93a06276b54b7fc8cff09f372fc4eb356a960ecbc43298a83c46eeab1d2e939d5'" - ], - "asctime": "2020-12-26 10:11:53,204", - "created": 1608973913.2046673, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 3, data_id: 0, data: \"'989e9f888834c797745607d3f35a2355b3dbca31e05ec51e5147f54b32959ee93a06276b54b7fc8cff09f372fc4eb356a960ecbc43298a83c46eeab1d2e939d5'\"", - "module": "__init__", - "msecs": 204.667329788208, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9894.463062286377, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-27" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:53,205", - "created": 1608973913.2052586, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 39 38 39 65 39 66 38 38 38 38 33 34 63 37 39 37 37 34 35 36 30 37 64 33 66 33 35 61 32 33 35 35 62 33 64 62 63 61 33 31 65 30 35 65 63 35 31 65 35 31 34 37 66 35 34 62 33 32 39 35 39 65 65 39 33 61 30 36 32 37 36 62 35 34 62 37 66 63 38 63 66 66 30 39 66 33 37 32 66 63 34 65 62 33 35 36 61 39 36 30 65 63 62 63 34 33 32 39 38 61 38 33 63 34 36 65 65 61 62 31 64 32 65 39 33 39 64 35 22 7d 4c 92 b1 60", - "module": "test_helpers", - "msecs": 205.25860786437988, - "msg": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 39 38 39 65 39 66 38 38 38 38 33 34 63 37 39 37 37 34 35 36 30 37 64 33 66 33 35 61 32 33 35 35 62 33 64 62 63 61 33 31 65 30 35 65 63 35 31 65 35 31 34 37 66 35 34 62 33 32 39 35 39 65 65 39 33 61 30 36 32 37 36 62 35 34 62 37 66 63 38 63 66 66 30 39 66 33 37 32 66 63 34 65 62 33 35 36 61 39 36 30 65 63 62 63 34 33 32 39 38 61 38 33 63 34 36 65 65 61 62 31 64 32 65 39 33 39 64 35 22 7d 4c 92 b1 60", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9895.054340362549, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-27" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:53,356", - "created": 1608973913.3564603, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 39 38 39 65 39 66 38 38 38 38 33 34 63 37 39 37 37 34 35 36 30 37 64 33 66 33 35 61 32 33 35 35 62 33 64 62 63 61 33 31 65 30 35 65 63 35 31 65 35 31 34 37 66 35 34 62 33 32 39 35 39 65 65 39 33 61 30 36 32 37 36 62 35 34 62 37 66 63 38 63 66 66 30 39 66 33 37 32 66 63 34 65 62 33 35 36 61 39 36 30 65 63 62 63 34 33 32 39 38 61 38 33 63 34 36 65 65 61 62 31 64 32 65 39 33 39 64 35 22 7d 4c 92 b1 60", - "module": "test_helpers", - "msecs": 356.4603328704834, - "msg": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 39 38 39 65 39 66 38 38 38 38 33 34 63 37 39 37 37 34 35 36 30 37 64 33 66 33 35 61 32 33 35 35 62 33 64 62 63 61 33 31 65 30 35 65 63 35 31 65 35 31 34 37 66 35 34 62 33 32 39 35 39 65 65 39 33 61 30 36 32 37 36 62 35 34 62 37 66 63 38 63 66 66 30 39 66 33 37 32 66 63 34 65 62 33 35 36 61 39 36 30 65 63 62 63 34 33 32 39 38 61 38 33 63 34 36 65 65 61 62 31 64 32 65 39 33 39 64 35 22 7d 4c 92 b1 60", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10046.256065368652, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-28" - }, - { - "args": [ - " SP server:", - "0", - "3", - "0", - "'989e9f888834c797745607d3f35a2355b3dbca31e05ec51e5147f54b32959ee93a06276b54b7fc8cff09f372fc4eb356a960ecbc43298a83c46eeab1d2e939d5'" - ], - "asctime": "2020-12-26 10:11:53,356", - "created": 1608973913.35691, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 3, data_id: 0, data: \"'989e9f888834c797745607d3f35a2355b3dbca31e05ec51e5147f54b32959ee93a06276b54b7fc8cff09f372fc4eb356a960ecbc43298a83c46eeab1d2e939d5'\"", - "module": "__init__", - "msecs": 356.90999031066895, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10046.705722808838, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-28" - }, - { - "args": [ - " SP server:", - "__authentificate_check_key__" - ], - "asctime": "2020-12-26 10:11:53,357", - "created": 1608973913.357154, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback __authentificate_check_key__ to process received data", - "module": "__init__", - "msecs": 357.15389251708984, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10046.949625015259, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-28" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:53,357", - "created": 1608973913.3573587, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentificate_check_key__", - "levelname": "INFO", - "levelno": 20, - "lineno": 505, - "message": " SP server: Got incorrect key, sending negative authentification feedback", - "module": "__init__", - "msecs": 357.3586940765381, - "msg": "%s Got incorrect key, sending negative authentification feedback", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10047.154426574707, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-28" - }, - { - "args": [ - " SP server:", - 0, - 4, - 0, - "False" - ], - "asctime": "2020-12-26 10:11:53,357", - "created": 1608973913.3575382, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 4, data_id: 0, data: \"False\"", - "module": "__init__", - "msecs": 357.53822326660156, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10047.33395576477, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-28" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:53,357", - "created": 1608973913.3578928, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 7d 4e 90 38 f9", - "module": "test_helpers", - "msecs": 357.8927516937256, - "msg": "Send data: (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 7d 4e 90 38 f9", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10047.688484191895, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-28" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:53,508", - "created": 1608973913.5089314, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 7d 4e 90 38 f9", - "module": "test_helpers", - "msecs": 508.93139839172363, - "msg": "Receive data (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 7d 4e 90 38 f9", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10198.727130889893, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-29" - }, - { - "args": [ - " SP server:", - "0", - "4", - "0", - "False" - ], - "asctime": "2020-12-26 10:11:53,509", - "created": 1608973913.5093606, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 4, data_id: 0, data: \"False\"", - "module": "__init__", - "msecs": 509.36055183410645, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10199.156284332275, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-29" - }, - { - "args": [ - " SP server:", - "__authentificate_process_feedback__" - ], - "asctime": "2020-12-26 10:11:53,509", - "created": 1608973913.509576, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback __authentificate_process_feedback__ to process received data", - "module": "__init__", - "msecs": 509.57608222961426, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10199.371814727783, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-29" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:53,509", - "created": 1608973913.5097406, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentificate_process_feedback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 515, - "message": " SP server: Got negative authentification feedback", - "module": "__init__", - "msecs": 509.74059104919434, - "msg": "%s Got negative authentification feedback", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10199.536323547363, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-29" - }, - { - "args": [ - " SP server:", - 0, - 10, - 45054, - "{'test': 'test'}" - ], - "asctime": "2020-12-26 10:11:53,602", - "created": 1608973913.6025016, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", - "module": "__init__", - "msecs": 602.501630783081, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10292.29736328125, - "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:53,603", - "created": 1608973913.6030674, + "asctime": "2021-01-06 22:49:11,403", + "created": 1609969751.4032357, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", "module": "test_helpers", - "msecs": 603.0673980712891, - "msg": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "msecs": 403.23567390441895, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10292.863130569458, + "relativeCreated": 103.57785224914551, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:53,754", - "created": 1608973913.7540894, + "asctime": "2021-01-06 22:49:11,403", + "created": 1609969751.4033332, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", "module": "test_helpers", - "msecs": 754.08935546875, - "msg": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "msecs": 403.3331871032715, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10443.885087966919, + "relativeCreated": 103.67536544799805, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-30" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "10", - "45054", - "{'test': 'test'}" + "SP server:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:53,754", - "created": 1608973913.7545245, + "asctime": "2021-01-06 22:49:11,403", + "created": 1609969751.4034355, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", + "lineno": 445, + "message": "SP server: RX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", "module": "__init__", - "msecs": 754.5244693756104, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 403.43546867370605, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10444.32020187378, + "relativeCreated": 103.77764701843262, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-30" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "Unknown Client" + "SP server:" ], - "asctime": "2020-12-26 10:11:53,754", - "created": 1608973913.754742, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 335, - "message": " SP server: Received message needs authentification: Unknown Client. Sending negative response.", - "module": "__init__", - "msecs": 754.741907119751, - "msg": "%s Received message needs authentification: %s. Sending negative response.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10444.53763961792, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-30" - }, - { - "args": [ - " SP server:", - 2, - 11, - 45054, - "None" - ], - "asctime": "2020-12-26 10:11:53,754", - "created": 1608973913.7549033, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 2, service_id: 11, data_id: 45054, data: \"None\"", - "module": "__init__", - "msecs": 754.9033164978027, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10444.699048995972, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-30" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:53,755", - "created": 1608973913.7552593, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 0d 4e 8b 87", - "module": "test_helpers", - "msecs": 755.2592754364014, - "msg": "Send data: (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 0d 4e 8b 87", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10445.05500793457, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-30" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:53,906", - "created": 1608973913.906239, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 0d 4e 8b 87", - "module": "test_helpers", - "msecs": 906.2390327453613, - "msg": "Receive data (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 0d 4e 8b 87", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10596.03476524353, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-31" - }, - { - "args": [ - " SP server:", - "2", - "11", - "45054", - "None" - ], - "asctime": "2020-12-26 10:11:53,906", - "created": 1608973913.9066412, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 2, service_id: 11, data_id: 45054, data: \"None\"", - "module": "__init__", - "msecs": 906.6412448883057, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10596.436977386475, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-31" - }, - { - "args": [ - " SP server:", - "Authentification required" - ], - "asctime": "2020-12-26 10:11:53,906", - "created": 1608973913.9069057, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Authentification required", - "module": "__init__", - "msecs": 906.9056510925293, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10596.701383590698, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-31" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:53,907", - "created": 1608973913.9071188, + "asctime": "2021-01-06 22:49:11,403", + "created": 1609969751.4035053, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__buffer_received_data__", "levelname": "DEBUG", "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "lineno": 375, + "message": "SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", "module": "__init__", - "msecs": 907.1187973022461, + "msecs": 403.5053253173828, "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10596.914529800415, + "relativeCreated": 103.84750366210938, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-31" - } - ], - "msecs": 105.2093505859375, - "msg": "Authentification with different secrets for request and response instance (pure_json_protocol).", - "name": "__tLogger__", - "pathname": "src/tests/test_handling_errors.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10795.005083084106, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.1980905532836914 - }, - { - "args": [ - "False", - "" - ], - "asctime": "2020-12-26 10:11:54,106", - "created": 1608973914.1060321, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return value of authentification is correct (Content False and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Return value of authentification", - "False", - "" - ], - "asctime": "2020-12-26 10:11:54,105", - "created": 1608973914.1056948, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return value of authentification): False ()", - "module": "test", - "msecs": 105.69477081298828, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10795.490503311157, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return value of authentification", - "False", - "" - ], - "asctime": "2020-12-26 10:11:54,105", - "created": 1608973914.1058762, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return value of authentification): result = False ()", - "module": "test", - "msecs": 105.87620735168457, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10795.671939849854, - "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 106.03213310241699, - "msg": "Return value of authentification is correct (Content %s and Type is %s).", + "msecs": 503.91125679016113, + "msg": "Transfering a message client -> server", "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, + "pathname": "src/tests/test_communication.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10795.827865600586, + "relativeCreated": 204.2534351348877, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.00015592575073242188 + "time_consumption": 0.10040593147277832 }, { "args": [ "True", "" ], - "asctime": "2020-12-26 10:11:54,106", - "created": 1608973914.1065564, + "asctime": "2021-01-06 22:49:11,504", + "created": 1609969751.5043533, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:54,106", - "created": 1608973914.106276, + "asctime": "2021-01-06 22:49:11,504", + "created": 1609969751.504169, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -20110,27 +48187,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of send method): True ()", + "message": "Result (Returnvalue of Client send Method): True ()", "module": "test", - "msecs": 106.27603530883789, + "msecs": 504.1689872741699, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10796.071767807007, + "relativeCreated": 204.51116561889648, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:54,106", - "created": 1608973914.10642, + "asctime": "2021-01-06 22:49:11,504", + "created": 1609969751.504267, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -20138,373 +48215,8923 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", + "message": "Expectation (Returnvalue of Client send Method): result = True ()", "module": "test", - "msecs": 106.42004013061523, + "msecs": 504.26697731018066, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10796.215772628784, + "relativeCreated": 204.60915565490723, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 106.55641555786133, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "msecs": 504.35328483581543, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10796.35214805603, + "relativeCreated": 204.695463180542, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.630752563476562e-05 + }, + { + "args": [ + "{'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:11,504", + "created": 1609969751.5046616, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content {'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "{'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:11,504", + "created": 1609969751.5044875, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): {'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'} ()", + "module": "test", + "msecs": 504.4875144958496, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 204.82969284057617, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "{'service_id': 17, 'data_id': 34, 'status': 0, 'data': 'msg1_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:11,504", + "created": 1609969751.5045786, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = {'service_id': 17, 'data_id': 34, 'status': 0, 'data': 'msg1_data_to_be_transfered'} ()", + "module": "test", + "msecs": 504.5785903930664, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 204.92076873779297, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 504.66156005859375, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 205.0037384033203, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.296966552734375e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:11,605", + "created": 1609969751.6059847, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "send_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 59, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:11,504", + "created": 1609969751.5048249, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 504.8248767852783, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 205.16705513000488, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:11,505", + "created": 1609969751.5050714, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "module": "test_helpers", + "msecs": 505.07140159606934, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 205.4135799407959, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:11,505", + "created": 1609969751.5052316, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "module": "test_helpers", + "msecs": 505.2316188812256, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 205.57379722595215, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:11,505", + "created": 1609969751.5053875, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 505.387544631958, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 205.72972297668457, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: service or data unknown" + ], + "asctime": "2021-01-06 22:49:11,505", + "created": 1609969751.505489, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: service or data unknown", + "module": "__init__", + "msecs": 505.4891109466553, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 205.83128929138184, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:11,505", + "created": 1609969751.5055985, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 505.5985450744629, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 205.94072341918945, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 605.9846878051758, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 306.32686614990234, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10038614273071289 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:11,606", + "created": 1609969751.6065326, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:11,606", + "created": 1609969751.6062946, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Server send Method): True ()", + "module": "test", + "msecs": 606.2946319580078, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 306.6368103027344, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Server send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:11,606", + "created": 1609969751.606417, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Server send Method): result = True ()", + "module": "test", + "msecs": 606.4169406890869, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 306.7591190338135, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 606.5325736999512, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 306.87475204467773, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00011563301086425781 + }, + { + "args": [ + "{'data_id': 35, 'service_id': 17, 'status': 4, 'data': 'msg2_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:11,606", + "created": 1609969751.6069152, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on client side is correct (Content {'data_id': 35, 'service_id': 17, 'status': 4, 'data': 'msg2_data_to_be_transfered'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on client side", + "{'data_id': 35, 'service_id': 17, 'status': 4, 'data': 'msg2_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:11,606", + "created": 1609969751.6066983, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on client side): {'data_id': 35, 'service_id': 17, 'status': 4, 'data': 'msg2_data_to_be_transfered'} ()", + "module": "test", + "msecs": 606.6982746124268, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 307.0404529571533, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on client side", + "{'service_id': 17, 'data_id': 35, 'status': 4, 'data': 'msg2_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:11,606", + "created": 1609969751.6068108, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on client side): result = {'service_id': 17, 'data_id': 35, 'status': 4, 'data': 'msg2_data_to_be_transfered'} ()", + "module": "test", + "msecs": 606.8108081817627, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 307.15298652648926, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 606.9152355194092, + "msg": "Received message on client side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 307.25741386413574, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00010442733764648438 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.21118807792663574, + "time_finished": "2021-01-06 22:49:11,606", + "time_start": "2021-01-06 22:49:11,395" + }, + "_4w4SsE1DEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:15,649", + "created": 1609969755.649329, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 36, + "message": "_4w4SsE1DEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 649.3289470672607, + "msg": "_4w4SsE1DEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4349.671125411987, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:15,656", + "created": 1609969755.6562366, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:15,649", + "created": 1609969755.6497364, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 649.7364044189453, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4350.078582763672, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:15,649", + "created": 1609969755.6499703, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 649.970293045044, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4350.3124713897705, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:15,650", + "created": 1609969755.6502025, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 650.2025127410889, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4350.544691085815, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:15,650", + "created": 1609969755.6503623, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 650.3622531890869, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4350.7044315338135, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:15,650", + "created": 1609969755.6505132, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 650.5131721496582, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4350.855350494385, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:15,650", + "created": 1609969755.6506603, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 650.6602764129639, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4351.00245475769, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:15,650", + "created": 1609969755.6508365, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 650.8364677429199, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4351.1786460876465, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:15,651", + "created": 1609969755.6510015, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 651.0014533996582, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4351.343631744385, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:15,651", + "created": 1609969755.6511602, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 651.1602401733398, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4351.502418518066, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:15,651", + "created": 1609969755.651318, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 651.3180732727051, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4351.660251617432, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:15,651", + "created": 1609969755.6514585, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 651.4585018157959, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4351.8006801605225, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:15,651", + "created": 1609969755.6516159, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 651.6158580780029, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4351.9580364227295, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:15,651", + "created": 1609969755.6517835, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 651.7834663391113, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4352.125644683838, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:15,651", + "created": 1609969755.651945, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 651.9451141357422, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4352.287292480469, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:15,652", + "created": 1609969755.6520984, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 652.0984172821045, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4352.440595626831, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:15,652", + "created": 1609969755.652253, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 652.2529125213623, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4352.595090866089, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:15,652", + "created": 1609969755.6524172, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 652.4171829223633, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4352.75936126709, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:15,652", + "created": 1609969755.6525643, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 652.564287185669, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4352.9064655303955, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:15,652", + "created": 1609969755.652707, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 652.7070999145508, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4353.049278259277, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:15,652", + "created": 1609969755.6528485, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 652.848482131958, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4353.190660476685, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:15,653", + "created": 1609969755.6531177, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 653.1176567077637, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4353.45983505249, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:15,653", + "created": 1609969755.6532764, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 653.2764434814453, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4353.618621826172, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:15,653", + "created": 1609969755.6534774, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 653.4774303436279, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4353.8196086883545, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:15,653", + "created": 1609969755.6536367, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 653.6366939544678, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4353.978872299194, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:15,653", + "created": 1609969755.6537817, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 653.7816524505615, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4354.123830795288, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:15,653", + "created": 1609969755.6539474, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 653.9473533630371, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4354.289531707764, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:15,654", + "created": 1609969755.6541123, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 654.1123390197754, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4354.454517364502, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:15,654", + "created": 1609969755.6542842, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 654.2842388153076, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4354.626417160034, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:15,654", + "created": 1609969755.6544409, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 654.4408798217773, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4354.783058166504, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:15,654", + "created": 1609969755.6545947, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 654.5946598052979, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4354.936838150024, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:15,654", + "created": 1609969755.6547318, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 654.7317504882812, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4355.073928833008, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:15,654", + "created": 1609969755.6548865, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 654.8864841461182, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4355.228662490845, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:15,655", + "created": 1609969755.6550496, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 655.0495624542236, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4355.39174079895, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:15,655", + "created": 1609969755.6551943, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 655.1942825317383, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4355.536460876465, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:15,655", + "created": 1609969755.655355, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 655.3549766540527, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4355.697154998779, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:15,655", + "created": 1609969755.6555188, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 655.5187702178955, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4355.860948562622, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:15,655", + "created": 1609969755.6556802, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 655.6801795959473, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4356.022357940674, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:15,655", + "created": 1609969755.655825, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 655.8248996734619, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4356.1670780181885, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:15,655", + "created": 1609969755.6559644, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 655.9643745422363, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4356.306552886963, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:15,656", + "created": 1609969755.6561031, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 656.1031341552734, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4356.4453125, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 656.2366485595703, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4356.578826904297, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.000133514404296875 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,656", + "created": 1609969755.6565113, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "automatic_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 132, + "message": "Identical secrets set and automatic authentification", + "module": "test_communication", + "moduleLogger": [], + "msecs": 656.5113067626953, + "msg": "Identical secrets set and automatic authentification", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4356.853485107422, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,657", + "created": 1609969755.6570191, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of server is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,656", + "created": 1609969755.6567323, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of server): False ()", + "module": "test", + "msecs": 656.7323207855225, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4357.074499130249, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,656", + "created": 1609969755.6568778, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of server): result = False ()", + "module": "test", + "msecs": 656.8777561187744, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4357.219934463501, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 657.0191383361816, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4357.361316680908, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014138221740722656 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,657", + "created": 1609969755.6575334, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of client is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,657", + "created": 1609969755.657247, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of client): False ()", + "module": "test", + "msecs": 657.2470664978027, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4357.589244842529, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,657", + "created": 1609969755.6573865, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of client): result = False ()", + "module": "test", + "msecs": 657.3865413665771, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4357.728719711304, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 657.5334072113037, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4357.87558555603, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001468658447265625 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:16,361", + "created": 1609969756.3614037, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "automatic_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 139, + "message": "Server and Client connect callback triggered", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:15,657", + "created": 1609969755.657919, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 657.9189300537109, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4358.2611083984375, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:15,657", + "created": 1609969755.6579764, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 657.9763889312744, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4358.318567276001, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:15,658", + "created": 1609969755.658048, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 658.0479145050049, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4358.390092849731, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,658", + "created": 1609969755.6581764, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "module": "test_helpers", + "msecs": 658.1764221191406, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4358.518600463867, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,658", + "created": 1609969755.6582563, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "module": "test_helpers", + "msecs": 658.2562923431396, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4358.598470687866, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:15,658", + "created": 1609969755.6583521, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 658.3521366119385, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4358.694314956665, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__channel_name_request__" + ], + "asctime": "2021-01-06 22:49:15,658", + "created": 1609969755.6584084, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 658.4084033966064, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4358.750581741333, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:15,658", + "created": 1609969755.6584716, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 658.4715843200684, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4358.813762664795, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,658", + "created": 1609969755.6585813, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 658.5812568664551, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4358.923435211182, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,658", + "created": 1609969755.6586597, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 658.6596965789795, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.001874923706, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:15,658", + "created": 1609969755.6587427, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 658.7426662445068, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.084844589233, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:15,658", + "created": 1609969755.6588001, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 658.8001251220703, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.142303466797, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:15,658", + "created": 1609969755.6588728, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 658.8728427886963, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.215021133423, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,658", + "created": 1609969755.6589584, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "module": "test_helpers", + "msecs": 658.9584350585938, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.30061340332, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.6590202, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "module": "test_helpers", + "msecs": 659.020185470581, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.362363815308, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.6590874, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 659.0874195098877, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.429597854614, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__authentificate_create_seed__" + ], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.6591356, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_create_seed__ to process received data", + "module": "__init__", + "msecs": 659.1355800628662, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.477758407593, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed", + "status: okay", + "'4b113d63f8abce877c47ce12b08f6853f69d661539f981177eeedbd742eebad6'" + ], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.6591916, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: authentification response, data_id: seed, status: okay, data: \"'4b113d63f8abce877c47ce12b08f6853f69d661539f981177eeedbd742eebad6'\"", + "module": "__init__", + "msecs": 659.1916084289551, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.533786773682, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.659304, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 62 31 31 33 64 36 33 66 38 61 62 63 65 38 37 37 63 34 37 63 65 31 32 62 30 38 66 36 38 35 33 66 36 39 64 36 36 31 35 33 39 66 39 38 31 31 37 37 65 65 65 64 62 64 37 34 32 65 65 62 61 64 36 22 7d df f9 3b be", + "module": "test_helpers", + "msecs": 659.3039035797119, + "msg": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 62 31 31 33 64 36 33 66 38 61 62 63 65 38 37 37 63 34 37 63 65 31 32 62 30 38 66 36 38 35 33 66 36 39 64 36 36 31 35 33 39 66 39 38 31 31 37 37 65 65 65 64 62 64 37 34 32 65 65 62 61 64 36 22 7d df f9 3b be", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.6460819244385, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.6593902, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 62 31 31 33 64 36 33 66 38 61 62 63 65 38 37 37 63 34 37 63 65 31 32 62 30 38 66 36 38 35 33 66 36 39 64 36 36 31 35 33 39 66 39 38 31 31 37 37 65 65 65 64 62 64 37 34 32 65 65 62 61 64 36 22 7d df f9 3b be", + "module": "test_helpers", + "msecs": 659.3902111053467, + "msg": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 62 31 31 33 64 36 33 66 38 61 62 63 65 38 37 37 63 34 37 63 65 31 32 62 30 38 66 36 38 35 33 66 36 39 64 36 36 31 35 33 39 66 39 38 31 31 37 37 65 65 65 64 62 64 37 34 32 65 65 62 61 64 36 22 7d df f9 3b be", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.732389450073, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed", + "status: okay", + "'4b113d63f8abce877c47ce12b08f6853f69d661539f981177eeedbd742eebad6'" + ], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.6594594, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: authentification response, data_id: seed, status: okay, data: \"'4b113d63f8abce877c47ce12b08f6853f69d661539f981177eeedbd742eebad6'\"", + "module": "__init__", + "msecs": 659.4593524932861, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.801530838013, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__authentificate_create_key__" + ], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.6595051, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_create_key__ to process received data", + "module": "__init__", + "msecs": 659.5051288604736, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.8473072052, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key", + "status: okay", + "'42fe894ec6b6928e3998e3019538576f3abea09f26af28523ef41bd8dff89522e05cc05cd777a69a0b74f67d3ed4fb5e6af25bb054e2744afc20f7451b1d3886'" + ], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.6595635, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: authentification request, data_id: key, status: okay, data: \"'42fe894ec6b6928e3998e3019538576f3abea09f26af28523ef41bd8dff89522e05cc05cd777a69a0b74f67d3ed4fb5e6af25bb054e2744afc20f7451b1d3886'\"", + "module": "__init__", + "msecs": 659.5635414123535, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4359.90571975708, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.659703, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 32 66 65 38 39 34 65 63 36 62 36 39 32 38 65 33 39 39 38 65 33 30 31 39 35 33 38 35 37 36 66 33 61 62 65 61 30 39 66 32 36 61 66 32 38 35 32 33 65 66 34 31 62 64 38 64 66 66 38 39 35 32 32 65 30 35 63 63 30 35 63 64 37 37 37 61 36 39 61 30 62 37 34 66 36 37 64 33 65 64 34 66 62 35 65 36 61 66 32 35 62 62 30 35 34 65 32 37 34 34 61 66 63 32 30 66 37 34 35 31 62 31 64 33 38 38 36 22 7d c2 eb 87 db", + "module": "test_helpers", + "msecs": 659.7030162811279, + "msg": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 32 66 65 38 39 34 65 63 36 62 36 39 32 38 65 33 39 39 38 65 33 30 31 39 35 33 38 35 37 36 66 33 61 62 65 61 30 39 66 32 36 61 66 32 38 35 32 33 65 66 34 31 62 64 38 64 66 66 38 39 35 32 32 65 30 35 63 63 30 35 63 64 37 37 37 61 36 39 61 30 62 37 34 66 36 37 64 33 65 64 34 66 62 35 65 36 61 66 32 35 62 62 30 35 34 65 32 37 34 34 61 66 63 32 30 66 37 34 35 31 62 31 64 33 38 38 36 22 7d c2 eb 87 db", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4360.0451946258545, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.6598184, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 32 66 65 38 39 34 65 63 36 62 36 39 32 38 65 33 39 39 38 65 33 30 31 39 35 33 38 35 37 36 66 33 61 62 65 61 30 39 66 32 36 61 66 32 38 35 32 33 65 66 34 31 62 64 38 64 66 66 38 39 35 32 32 65 30 35 63 63 30 35 63 64 37 37 37 61 36 39 61 30 62 37 34 66 36 37 64 33 65 64 34 66 62 35 65 36 61 66 32 35 62 62 30 35 34 65 32 37 34 34 61 66 63 32 30 66 37 34 35 31 62 31 64 33 38 38 36 22 7d c2 eb 87 db", + "module": "test_helpers", + "msecs": 659.8184108734131, + "msg": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 32 66 65 38 39 34 65 63 36 62 36 39 32 38 65 33 39 39 38 65 33 30 31 39 35 33 38 35 37 36 66 33 61 62 65 61 30 39 66 32 36 61 66 32 38 35 32 33 65 66 34 31 62 64 38 64 66 66 38 39 35 32 32 65 30 35 63 63 30 35 63 64 37 37 37 61 36 39 61 30 62 37 34 66 36 37 64 33 65 64 34 66 62 35 65 36 61 66 32 35 62 62 30 35 34 65 32 37 34 34 61 66 63 32 30 66 37 34 35 31 62 31 64 33 38 38 36 22 7d c2 eb 87 db", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4360.16058921814, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key", + "status: okay", + "'42fe894ec6b6928e3998e3019538576f3abea09f26af28523ef41bd8dff89522e05cc05cd777a69a0b74f67d3ed4fb5e6af25bb054e2744afc20f7451b1d3886'" + ], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.6598911, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: authentification request, data_id: key, status: okay, data: \"'42fe894ec6b6928e3998e3019538576f3abea09f26af28523ef41bd8dff89522e05cc05cd777a69a0b74f67d3ed4fb5e6af25bb054e2744afc20f7451b1d3886'\"", + "module": "__init__", + "msecs": 659.8911285400391, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4360.233306884766, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__authentificate_check_key__" + ], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.6599374, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_check_key__ to process received data", + "module": "__init__", + "msecs": 659.9373817443848, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4360.279560089111, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key", + "status: okay", + "True" + ], + "asctime": "2021-01-06 22:49:15,659", + "created": 1609969755.6599905, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: authentification response, data_id: key, status: okay, data: \"True\"", + "module": "__init__", + "msecs": 659.9905490875244, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4360.332727432251, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,660", + "created": 1609969755.6600878, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", + "module": "test_helpers", + "msecs": 660.0878238677979, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4360.430002212524, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,660", + "created": 1609969755.6601543, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", + "module": "test_helpers", + "msecs": 660.1543426513672, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4360.496520996094, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key", + "status: okay", + "True" + ], + "asctime": "2021-01-06 22:49:15,660", + "created": 1609969755.6602309, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: authentification response, data_id: key, status: okay, data: \"True\"", + "module": "__init__", + "msecs": 660.2308750152588, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4360.573053359985, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__authentificate_process_feedback__" + ], + "asctime": "2021-01-06 22:49:15,660", + "created": 1609969755.6602745, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_process_feedback__ to process received data", + "module": "__init__", + "msecs": 660.2745056152344, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4360.616683959961, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:15,660", + "created": 1609969755.6603117, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentificate_process_feedback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 350, + "message": "SP client: Got positive authentification feedback", + "module": "__init__", + "msecs": 660.3116989135742, + "msg": "%s Got positive authentification feedback", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4360.653877258301, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 361.4037036895752, + "msg": "Server and Client connect callback triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5061.745882034302, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.701092004776001 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:16,362", + "created": 1609969756.3622675, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of server is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of server", + "True", + "" + ], + "asctime": "2021-01-06 22:49:16,361", + "created": 1609969756.3619003, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of server): True ()", + "module": "test", + "msecs": 361.90032958984375, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5062.24250793457, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of server", + "True", + "" + ], + "asctime": "2021-01-06 22:49:16,362", + "created": 1609969756.3621068, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of server): result = True ()", + "module": "test", + "msecs": 362.1068000793457, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5062.448978424072, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 362.26749420166016, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5062.609672546387, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00016069412231445312 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:16,362", + "created": 1609969756.3627923, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of client is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of client", + "True", + "" + ], + "asctime": "2021-01-06 22:49:16,362", + "created": 1609969756.3625054, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of client): True ()", + "module": "test", + "msecs": 362.5054359436035, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5062.84761428833, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of client", + "True", + "" + ], + "asctime": "2021-01-06 22:49:16,362", + "created": 1609969756.3626516, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of client): result = True ()", + "module": "test", + "msecs": 362.6515865325928, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5062.993764877319, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 362.7922534942627, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5063.134431838989, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014066696166992188 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.713463306427002, + "time_finished": "2021-01-06 22:49:16,362", + "time_start": "2021-01-06 22:49:15,649" + }, + "_7izDUEzYEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:11,390", + "created": 1609969751.3906856, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 27, + "message": "_7izDUEzYEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 390.6855583190918, + "msg": "_7izDUEzYEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 91.02773666381836, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "{'data': None, 'data_id': None, 'service_id': None, 'status': None}" + ], + "asctime": "2021-01-06 22:49:11,390", + "created": 1609969751.3909419, + "exc_info": null, + "exc_text": null, + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 10, + "message": "Creating empty message object: {'data': None, 'data_id': None, 'service_id': None, 'status': None}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 390.941858291626, + "msg": "Creating empty message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 91.28403663635254, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'service_id'" + ], + "asctime": "2021-01-06 22:49:11,391", + "created": 1609969751.3914442, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "service_id is part of the message object is correct ('service_id' is in the list or dict).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "service_id is part of the message object", + "{'data': None, 'data_id': None, 'service_id': None, 'status': None}", + "" + ], + "asctime": "2021-01-06 22:49:11,391", + "created": 1609969751.3911738, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (service_id is part of the message object): {'data': None, 'data_id': None, 'service_id': None, 'status': None} ()", + "module": "test", + "msecs": 391.1738395690918, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 91.51601791381836, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "service_id is part of the message object", + "'service_id'" + ], + "asctime": "2021-01-06 22:49:11,391", + "created": 1609969751.3913212, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (service_id is part of the message object): 'service_id' in result", + "module": "test", + "msecs": 391.32118225097656, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 91.66336059570312, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 391.44420623779297, + "msg": "service_id is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 91.78638458251953, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00012302398681640625 + }, + { + "args": [ + "{'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'}" + ], + "asctime": "2021-01-06 22:49:11,391", + "created": 1609969751.3916738, + "exc_info": null, + "exc_text": null, + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Creating a maximum message object: {'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 391.6738033294678, + "msg": "Creating a maximum message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 92.01598167419434, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'service_id'" + ], + "asctime": "2021-01-06 22:49:11,392", + "created": 1609969751.3922055, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "service_id is part of the message object is correct ('service_id' is in the list or dict).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "service_id is part of the message object", + "{'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'}", + "" + ], + "asctime": "2021-01-06 22:49:11,391", + "created": 1609969751.391912, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (service_id is part of the message object): {'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'} ()", + "module": "test", + "msecs": 391.91198348999023, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 92.2541618347168, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "service_id is part of the message object", + "'service_id'" + ], + "asctime": "2021-01-06 22:49:11,392", + "created": 1609969751.3920913, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (service_id is part of the message object): 'service_id' in result", + "module": "test", + "msecs": 392.0912742614746, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 92.43345260620117, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 392.20547676086426, + "msg": "service_id is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 92.54765510559082, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00011420249938964844 + }, + { + "args": [ + "'SID'", + "" + ], + "asctime": "2021-01-06 22:49:11,392", + "created": 1609969751.3925679, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Content in message object for service_id is correct (Content 'SID' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Content in message object for service_id", + "'SID'", + "" + ], + "asctime": "2021-01-06 22:49:11,392", + "created": 1609969751.3923998, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Content in message object for service_id): 'SID' ()", + "module": "test", + "msecs": 392.39978790283203, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 92.7419662475586, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Content in message object for service_id", + "'SID'", + "" + ], + "asctime": "2021-01-06 22:49:11,392", + "created": 1609969751.3924847, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Content in message object for service_id): result = 'SID' ()", + "module": "test", + "msecs": 392.4846649169922, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 92.82684326171875, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 392.56787300109863, + "msg": "Content in message object for service_id is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 92.9100513458252, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.320808410644531e-05 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.001882314682006836, + "time_finished": "2021-01-06 22:49:11,392", + "time_start": "2021-01-06 22:49:11,390" + }, + "_AlIUwEzZEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:11,394", + "created": 1609969751.394323, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 29, + "message": "_AlIUwEzZEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 394.32311058044434, + "msg": "_AlIUwEzZEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 94.6652889251709, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "{'data': None, 'data_id': None, 'service_id': None, 'status': None}" + ], + "asctime": "2021-01-06 22:49:11,394", + "created": 1609969751.3944955, + "exc_info": null, + "exc_text": null, + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 10, + "message": "Creating empty message object: {'data': None, 'data_id': None, 'service_id': None, 'status': None}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 394.49548721313477, + "msg": "Creating empty message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 94.83766555786133, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'data'" + ], + "asctime": "2021-01-06 22:49:11,394", + "created": 1609969751.3947809, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "data is part of the message object is correct ('data' is in the list or dict).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "data is part of the message object", + "{'data': None, 'data_id': None, 'service_id': None, 'status': None}", + "" + ], + "asctime": "2021-01-06 22:49:11,394", + "created": 1609969751.394629, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (data is part of the message object): {'data': None, 'data_id': None, 'service_id': None, 'status': None} ()", + "module": "test", + "msecs": 394.62900161743164, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 94.9711799621582, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "data is part of the message object", + "'data'" + ], + "asctime": "2021-01-06 22:49:11,394", + "created": 1609969751.3947084, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (data is part of the message object): 'data' in result", + "module": "test", + "msecs": 394.70839500427246, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 95.05057334899902, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 394.78087425231934, + "msg": "data is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 95.1230525970459, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 7.2479248046875e-05 + }, + { + "args": [ + "{'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'}" + ], + "asctime": "2021-01-06 22:49:11,394", + "created": 1609969751.3949237, + "exc_info": null, + "exc_text": null, + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Creating a maximum message object: {'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 394.9236869812012, + "msg": "Creating a maximum message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 95.26586532592773, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'data'" + ], + "asctime": "2021-01-06 22:49:11,395", + "created": 1609969751.3951828, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "data is part of the message object is correct ('data' is in the list or dict).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "data is part of the message object", + "{'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'}", + "" + ], + "asctime": "2021-01-06 22:49:11,395", + "created": 1609969751.3950467, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (data is part of the message object): {'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'} ()", + "module": "test", + "msecs": 395.0467109680176, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 95.38888931274414, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "data is part of the message object", + "'data'" + ], + "asctime": "2021-01-06 22:49:11,395", + "created": 1609969751.39512, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (data is part of the message object): 'data' in result", + "module": "test", + "msecs": 395.11990547180176, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 95.46208381652832, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 395.18284797668457, + "msg": "data is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 95.52502632141113, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 6.29425048828125e-05 + }, + { + "args": [ + "'D'", + "" + ], + "asctime": "2021-01-06 22:49:11,395", + "created": 1609969751.3954804, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Content in message object for data is correct (Content 'D' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Content in message object for data", + "'D'", + "" + ], + "asctime": "2021-01-06 22:49:11,395", + "created": 1609969751.3953173, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Content in message object for data): 'D' ()", + "module": "test", + "msecs": 395.31731605529785, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 95.65949440002441, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Content in message object for data", + "'D'", + "" + ], + "asctime": "2021-01-06 22:49:11,395", + "created": 1609969751.395392, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Content in message object for data): result = 'D' ()", + "module": "test", + "msecs": 395.39194107055664, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 95.7341194152832, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 395.4803943634033, + "msg": "Content in message object for data is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 95.82257270812988, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.845329284667969e-05 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0011572837829589844, + "time_finished": "2021-01-06 22:49:11,395", + "time_start": "2021-01-06 22:49:11,394" + }, + "_CZeooE0YEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:17,698", + "created": 1609969757.6981235, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 38, + "message": "_CZeooE0YEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 698.1234550476074, + "msg": "_CZeooE0YEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6398.465633392334, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:17,704", + "created": 1609969757.7049952, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:17,698", + "created": 1609969757.6985416, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 698.5416412353516, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6398.883819580078, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:17,698", + "created": 1609969757.6987364, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 698.7364292144775, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6399.078607559204, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:17,698", + "created": 1609969757.698967, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 698.9669799804688, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6399.309158325195, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:17,699", + "created": 1609969757.6991282, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 699.1281509399414, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6399.470329284668, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:17,699", + "created": 1609969757.6992786, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 699.2785930633545, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6399.620771408081, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:17,699", + "created": 1609969757.699427, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 699.4268894195557, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6399.769067764282, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:17,699", + "created": 1609969757.6995864, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 699.5863914489746, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6399.928569793701, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:17,699", + "created": 1609969757.6997497, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 699.7497081756592, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6400.091886520386, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:17,699", + "created": 1609969757.6999059, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 699.9058723449707, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6400.248050689697, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:17,700", + "created": 1609969757.7000723, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 700.0722885131836, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6400.41446685791, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:17,700", + "created": 1609969757.7002137, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 700.2136707305908, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6400.555849075317, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:17,700", + "created": 1609969757.7003806, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 700.3805637359619, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6400.7227420806885, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:17,700", + "created": 1609969757.7005491, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 700.5491256713867, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6400.891304016113, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:17,700", + "created": 1609969757.7006953, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 700.695276260376, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6401.0374546051025, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:17,700", + "created": 1609969757.7008471, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 700.8471488952637, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6401.18932723999, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:17,701", + "created": 1609969757.7010026, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 701.0025978088379, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6401.344776153564, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:17,701", + "created": 1609969757.701156, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 701.1559009552002, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6401.498079299927, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:17,701", + "created": 1609969757.7013016, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 701.3015747070312, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6401.643753051758, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:17,701", + "created": 1609969757.7014544, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 701.4544010162354, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6401.796579360962, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:17,701", + "created": 1609969757.701597, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 701.5969753265381, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6401.939153671265, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:17,701", + "created": 1609969757.701889, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 701.8890380859375, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6402.231216430664, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:17,702", + "created": 1609969757.7020602, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 702.0602226257324, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6402.402400970459, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:17,702", + "created": 1609969757.7022603, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 702.2602558135986, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6402.602434158325, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:17,702", + "created": 1609969757.7024097, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 702.4097442626953, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6402.751922607422, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:17,702", + "created": 1609969757.702552, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 702.552080154419, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6402.8942584991455, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:17,702", + "created": 1609969757.7026935, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 702.6934623718262, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6403.035640716553, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:17,702", + "created": 1609969757.7028453, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 702.8453350067139, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6403.18751335144, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:17,703", + "created": 1609969757.7030022, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 703.0022144317627, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6403.344392776489, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:17,703", + "created": 1609969757.703159, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 703.1590938568115, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6403.501272201538, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:17,703", + "created": 1609969757.70333, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 703.3300399780273, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6403.672218322754, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:17,703", + "created": 1609969757.7034726, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 703.4726142883301, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6403.814792633057, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:17,703", + "created": 1609969757.7036402, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 703.6402225494385, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6403.982400894165, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:17,703", + "created": 1609969757.7038083, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 703.8083076477051, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6404.150485992432, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:17,703", + "created": 1609969757.7039645, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 703.9644718170166, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6404.306650161743, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:17,704", + "created": 1609969757.704114, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 704.1139602661133, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6404.45613861084, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:17,704", + "created": 1609969757.70427, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 704.2698860168457, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6404.612064361572, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:17,704", + "created": 1609969757.704422, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 704.4219970703125, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6404.764175415039, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:17,704", + "created": 1609969757.7045662, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 704.566240310669, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6404.9084186553955, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:17,704", + "created": 1609969757.7047071, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 704.707145690918, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6405.0493240356445, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:17,704", + "created": 1609969757.7048602, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 704.8602104187012, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6405.202388763428, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 704.9951553344727, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6405.337333679199, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00013494491577148438 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:17,705", + "created": 1609969757.7052703, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 201, + "message": "Identical secrets set", + "module": "test_communication", + "moduleLogger": [], + "msecs": 705.2702903747559, + "msg": "Identical secrets set", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6405.612468719482, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:18,006", + "created": 1609969758.006867, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 204, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:17,705", + "created": 1609969757.705538, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "WARNING", + "levelno": 30, + "lineno": 724, + "message": "SP client: TX -> Authentification is required. Message service: 17, data_id: 34, status: okay, data: 'msg1_data_to_be_transfered' will be ignored.", + "module": "__init__", + "msecs": 705.5380344390869, + "msg": "%s TX -> Authentification is required. Message %s, %s, data: %s will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6405.8802127838135, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "34" + ], + "asctime": "2021-01-06 22:49:18,006", + "created": 1609969758.0065958, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 34) not in buffer.", + "module": "__init__", + "msecs": 6.595849990844727, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6706.938028335571, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 6.866931915283203, + "msg": "Transfering a message client -> server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6707.20911026001, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00027108192443847656 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:18,007", + "created": 1609969758.0075154, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Client send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:18,007", + "created": 1609969758.0071862, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Client send Method): False ()", + "module": "test", + "msecs": 7.186174392700195, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6707.528352737427, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Client send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:18,007", + "created": 1609969758.007352, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Client send Method): result = False ()", + "module": "test", + "msecs": 7.352113723754883, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6707.694292068481, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 7.515430450439453, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6707.857608795166, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001633167266845703 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:18,008", + "created": 1609969758.0080416, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:18,007", + "created": 1609969758.0077562, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): None ()", + "module": "test", + "msecs": 7.756233215332031, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6708.098411560059, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:18,007", + "created": 1609969758.0079007, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = None ()", + "module": "test", + "msecs": 7.900714874267578, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6708.242893218994, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 8.041620254516602, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6708.383798599243, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014090538024902344 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:18,309", + "created": 1609969758.3097255, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 210, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:18,008", + "created": 1609969758.0083263, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "WARNING", + "levelno": 30, + "lineno": 724, + "message": "SP server: TX -> Authentification is required. Message service: 17, data_id: 35, status: service or data unknown, data: 'msg2_data_to_be_transfered' will be ignored.", + "module": "__init__", + "msecs": 8.326292037963867, + "msg": "%s TX -> Authentification is required. Message %s, %s, data: %s will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6708.66847038269, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "0.25", + "17", + "35" + ], + "asctime": "2021-01-06 22:49:18,309", + "created": 1609969758.3094482, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP client: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", + "module": "__init__", + "msecs": 309.4482421875, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7009.790420532227, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 309.7255229949951, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7010.067701339722, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0002772808074951172 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:18,310", + "created": 1609969758.3103714, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:18,310", + "created": 1609969758.3100514, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Server send Method): False ()", + "module": "test", + "msecs": 310.05144119262695, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7010.3936195373535, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:18,310", + "created": 1609969758.310217, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Server send Method): result = False ()", + "module": "test", + "msecs": 310.21690368652344, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7010.55908203125, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 310.37139892578125, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7010.713577270508, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001544952392578125 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:18,310", + "created": 1609969758.3109212, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on client side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on client side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:18,310", + "created": 1609969758.3106382, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on client side): None ()", + "module": "test", + "msecs": 310.6381893157959, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7010.9803676605225, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on client side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:18,310", + "created": 1609969758.3107815, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on client side): result = None ()", + "module": "test", + "msecs": 310.78147888183594, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7011.1236572265625, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 310.92119216918945, + "msg": "Received message on client side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7011.263370513916, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00013971328735351562 + }, + { + "args": [ + 17, + 34 + ], + "asctime": "2021-01-06 22:49:18,311", + "created": 1609969758.3113244, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 215, + "message": "Added msg1 to client whitelist (sid=17, did=34)", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34" + ], + "asctime": "2021-01-06 22:49:18,311", + "created": 1609969758.3111684, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: 17, data_id: 34) to the authentification whitelist", + "module": "__init__", + "msecs": 311.1684322357178, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7011.510610580444, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 311.3243579864502, + "msg": "Added msg1 to client whitelist (sid=%d, did=%d)", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7011.666536331177, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00015592575073242188 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:18,614", + "created": 1609969758.6140554, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 218, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:18,311", + "created": 1609969758.311606, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 311.60593032836914, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7011.948108673096, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:18,312", + "created": 1609969758.3120413, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "module": "test_helpers", + "msecs": 312.0412826538086, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7012.383460998535, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:18,312", + "created": 1609969758.3123436, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "module": "test_helpers", + "msecs": 312.3435974121094, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7012.685775756836, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:18,312", + "created": 1609969758.3126109, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 441, + "message": "SP server: RX <- Authentification is required. Message will be ignored.", + "module": "__init__", + "msecs": 312.6108646392822, + "msg": "%s RX <- Authentification is required. Message will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7012.953042984009, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "34" + ], + "asctime": "2021-01-06 22:49:18,613", + "created": 1609969758.6137252, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 34) not in buffer.", + "module": "__init__", + "msecs": 613.7251853942871, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7314.067363739014, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 614.0553951263428, + "msg": "Transfering a message client -> server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7314.397573471069, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00033020973205566406 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:18,614", + "created": 1609969758.6147068, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:18,614", + "created": 1609969758.6143682, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Client send Method): True ()", + "module": "test", + "msecs": 614.368200302124, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7314.710378646851, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:18,614", + "created": 1609969758.614548, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Client send Method): result = True ()", + "module": "test", + "msecs": 614.5479679107666, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7314.890146255493, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 614.7067546844482, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7315.048933029175, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00015878677368164062 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:18,615", + "created": 1609969758.6152225, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:18,614", + "created": 1609969758.614936, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): None ()", + "module": "test", + "msecs": 614.936113357544, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7315.2782917022705, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:18,615", + "created": 1609969758.6150806, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = None ()", + "module": "test", + "msecs": 615.0805950164795, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7315.422773361206, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 615.2224540710449, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7315.5646324157715, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001418590545654297 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:18,916", + "created": 1609969758.9168777, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 224, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:18,615", + "created": 1609969758.6155064, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "WARNING", + "levelno": 30, + "lineno": 724, + "message": "SP server: TX -> Authentification is required. Message service: 17, data_id: 35, status: service or data unknown, data: 'msg2_data_to_be_transfered' will be ignored.", + "module": "__init__", + "msecs": 615.5064105987549, + "msg": "%s TX -> Authentification is required. Message %s, %s, data: %s will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7315.848588943481, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "0.25", + "17", + "35" + ], + "asctime": "2021-01-06 22:49:18,916", + "created": 1609969758.9166036, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP client: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", + "module": "__init__", + "msecs": 916.6035652160645, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7616.945743560791, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 916.8777465820312, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7617.219924926758, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0002741813659667969 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:18,917", + "created": 1609969758.9175198, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:18,917", + "created": 1609969758.917172, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Server send Method): False ()", + "module": "test", + "msecs": 917.1719551086426, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7617.514133453369, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:18,917", + "created": 1609969758.9173377, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Server send Method): result = False ()", + "module": "test", + "msecs": 917.3376560211182, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7617.679834365845, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 917.5198078155518, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7617.861986160278, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00018215179443359375 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:18,918", + "created": 1609969758.91808, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on client side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on client side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:18,917", + "created": 1609969758.9177537, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on client side): None ()", + "module": "test", + "msecs": 917.7536964416504, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7618.095874786377, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on client side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:18,917", + "created": 1609969758.9179356, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on client side): result = None ()", + "module": "test", + "msecs": 917.9356098175049, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7618.277788162231, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 918.0800914764404, + "msg": "Received message on client side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7618.422269821167, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014448165893554688 + }, + { + "args": [ + 17, + 34 + ], + "asctime": "2021-01-06 22:49:18,918", + "created": 1609969758.9185092, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 229, + "message": "Added msg1 to server whitelist (sid=17, did=34)", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 34" + ], + "asctime": "2021-01-06 22:49:18,918", + "created": 1609969758.9183593, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: 17, data_id: 34) to the authentification whitelist", + "module": "__init__", + "msecs": 918.3592796325684, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7618.701457977295, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 918.5092449188232, + "msg": "Added msg1 to server whitelist (sid=%d, did=%d)", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7618.85142326355, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001499652862548828 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:19,020", + "created": 1609969759.0206451, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 232, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:18,918", + "created": 1609969758.9188557, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 918.8556671142578, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7619.197845458984, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:18,919", + "created": 1609969758.9193037, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "module": "test_helpers", + "msecs": 919.3036556243896, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7619.645833969116, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:18,919", + "created": 1609969758.9196026, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "module": "test_helpers", + "msecs": 919.602632522583, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7619.94481086731, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:18,919", + "created": 1609969758.9198983, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 919.898271560669, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7620.2404499053955, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:18,920", + "created": 1609969758.9201255, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 920.1254844665527, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7620.467662811279, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 20.6451416015625, + "msg": "Transfering a message client -> server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7720.987319946289, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10051965713500977 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:19,021", + "created": 1609969759.0214796, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:19,021", + "created": 1609969759.0211103, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Client send Method): True ()", + "module": "test", + "msecs": 21.11029624938965, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7721.452474594116, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:19,021", + "created": 1609969759.0212934, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Client send Method): result = True ()", + "module": "test", + "msecs": 21.29340171813965, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7721.635580062866, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 21.47960662841797, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7721.8217849731445, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001862049102783203 + }, + { + "args": [ + "{'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:19,022", + "created": 1609969759.0221078, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content {'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "{'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:19,021", + "created": 1609969759.0217328, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): {'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'} ()", + "module": "test", + "msecs": 21.732807159423828, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7722.07498550415, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "{'service_id': 17, 'data_id': 34, 'status': 0, 'data': 'msg1_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:19,021", + "created": 1609969759.0219233, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = {'service_id': 17, 'data_id': 34, 'status': 0, 'data': 'msg1_data_to_be_transfered'} ()", + "module": "test", + "msecs": 21.923303604125977, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7722.2654819488525, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 22.107839584350586, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7722.450017929077, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00018453598022460938 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:19,323", + "created": 1609969759.323803, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 238, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:19,022", + "created": 1609969759.022403, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "WARNING", + "levelno": 30, + "lineno": 724, + "message": "SP server: TX -> Authentification is required. Message service: 17, data_id: 35, status: service or data unknown, data: 'msg2_data_to_be_transfered' will be ignored.", + "module": "__init__", + "msecs": 22.40300178527832, + "msg": "%s TX -> Authentification is required. Message %s, %s, data: %s will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 7722.745180130005, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "0.25", + "17", + "35" + ], + "asctime": "2021-01-06 22:49:19,323", + "created": 1609969759.323532, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP client: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", + "module": "__init__", + "msecs": 323.5321044921875, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8023.874282836914, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 323.8029479980469, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8024.145126342773, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.000270843505859375 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:19,324", + "created": 1609969759.324862, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:19,324", + "created": 1609969759.324492, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Server send Method): False ()", + "module": "test", + "msecs": 324.4919776916504, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8024.834156036377, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:19,324", + "created": 1609969759.3246965, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Server send Method): result = False ()", + "module": "test", + "msecs": 324.69654083251953, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8025.038719177246, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 324.862003326416, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8025.204181671143, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00016546249389648438 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:19,325", + "created": 1609969759.3253894, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on client side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on client side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:19,325", + "created": 1609969759.3250988, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on client side): None ()", + "module": "test", + "msecs": 325.09875297546387, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8025.44093132019, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on client side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:19,325", + "created": 1609969759.3252468, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on client side): result = None ()", + "module": "test", + "msecs": 325.24681091308594, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8025.5889892578125, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 325.3893852233887, + "msg": "Received message on client side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8025.731563568115, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014257431030273438 + }, + { + "args": [ + 17, + 35 + ], + "asctime": "2021-01-06 22:49:19,326", + "created": 1609969759.326004, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 244, + "message": "Added msg2 to client and server whitelist (sid=17, did=35)", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 35" + ], + "asctime": "2021-01-06 22:49:19,325", + "created": 1609969759.325636, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: 17, data_id: 35) to the authentification whitelist", + "module": "__init__", + "msecs": 325.6359100341797, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8025.978088378906, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: 17, data_id: 35" + ], + "asctime": "2021-01-06 22:49:19,325", + "created": 1609969759.3258476, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: 17, data_id: 35) to the authentification whitelist", + "module": "__init__", + "msecs": 325.8476257324219, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8026.189804077148, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 326.0040283203125, + "msg": "Added msg2 to client and server whitelist (sid=%d, did=%d)", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8026.346206665039, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.000156402587890625 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:19,428", + "created": 1609969759.4280608, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 247, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:19,326", + "created": 1609969759.3262875, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 326.28750801086426, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8026.629686355591, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:19,326", + "created": 1609969759.3267205, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "module": "test_helpers", + "msecs": 326.7204761505127, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8027.062654495239, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:19,327", + "created": 1609969759.327053, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "module": "test_helpers", + "msecs": 327.0530700683594, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8027.395248413086, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:19,327", + "created": 1609969759.3273482, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 327.3482322692871, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8027.690410614014, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:19,327", + "created": 1609969759.3275545, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 327.55446434020996, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8027.8966426849365, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 428.06077003479004, + "msg": "Transfering a message client -> server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8128.402948379517, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10050630569458008 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:19,428", + "created": 1609969759.4288328, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:19,428", + "created": 1609969759.428468, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Client send Method): True ()", + "module": "test", + "msecs": 428.4679889678955, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8128.810167312622, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:19,428", + "created": 1609969759.4286456, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Client send Method): result = True ()", + "module": "test", + "msecs": 428.6456108093262, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8128.987789154053, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 428.8327693939209, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8129.1749477386475, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00018715858459472656 + }, + { + "args": [ + "{'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:19,429", + "created": 1609969759.4293854, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content {'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "{'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:19,429", + "created": 1609969759.429082, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): {'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'} ()", + "module": "test", + "msecs": 429.08191680908203, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8129.424095153809, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "{'service_id': 17, 'data_id': 34, 'status': 0, 'data': 'msg1_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:19,429", + "created": 1609969759.4292345, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = {'service_id': 17, 'data_id': 34, 'status': 0, 'data': 'msg1_data_to_be_transfered'} ()", + "module": "test", + "msecs": 429.23450469970703, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8129.576683044434, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 429.3854236602783, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8129.727602005005, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00015091896057128906 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:19,531", + "created": 1609969759.5316155, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "auth_whitelist_communication", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 253, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:19,429", + "created": 1609969759.4296749, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 429.6748638153076, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8130.017042160034, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:19,430", + "created": 1609969759.4301596, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "module": "test_helpers", + "msecs": 430.1595687866211, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8130.501747131348, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:19,430", + "created": 1609969759.4304597, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "module": "test_helpers", + "msecs": 430.45973777770996, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8130.8019161224365, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:19,430", + "created": 1609969759.4307544, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 430.7544231414795, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8131.096601486206, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: service or data unknown" + ], + "asctime": "2021-01-06 22:49:19,430", + "created": 1609969759.4309213, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: service or data unknown", + "module": "__init__", + "msecs": 430.9213161468506, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8131.263494491577, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:19,431", + "created": 1609969759.4311225, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 431.1225414276123, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8131.464719772339, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 531.6154956817627, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8231.95767402649, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10049295425415039 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:19,532", + "created": 1609969759.532369, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:19,532", + "created": 1609969759.5320249, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Server send Method): True ()", + "module": "test", + "msecs": 532.0248603820801, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8232.367038726807, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Server send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:19,532", + "created": 1609969759.5322077, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Server send Method): result = True ()", + "module": "test", + "msecs": 532.207727432251, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8232.549905776978, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 532.3688983917236, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8232.71107673645, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00016117095947265625 + }, + { + "args": [ + "{'data_id': 35, 'service_id': 17, 'status': 4, 'data': 'msg2_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:19,532", + "created": 1609969759.5329769, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on client side is correct (Content {'data_id': 35, 'service_id': 17, 'status': 4, 'data': 'msg2_data_to_be_transfered'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on client side", + "{'data_id': 35, 'service_id': 17, 'status': 4, 'data': 'msg2_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:19,532", + "created": 1609969759.5326471, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on client side): {'data_id': 35, 'service_id': 17, 'status': 4, 'data': 'msg2_data_to_be_transfered'} ()", + "module": "test", + "msecs": 532.6471328735352, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8232.989311218262, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on client side", + "{'service_id': 17, 'data_id': 35, 'status': 4, 'data': 'msg2_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:19,532", + "created": 1609969759.5328093, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on client side): result = {'service_id': 17, 'data_id': 35, 'status': 4, 'data': 'msg2_data_to_be_transfered'} ()", + "module": "test", + "msecs": 532.8092575073242, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8233.15143585205, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 532.9768657684326, + "msg": "Received message on client side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8233.31904411316, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00016760826110839844 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 1.8348534107208252, + "time_finished": "2021-01-06 22:49:19,532", + "time_start": "2021-01-06 22:49:17,698" + }, + "_Lmn-kE0hEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:19,533", + "created": 1609969759.5336149, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 39, + "message": "_Lmn-kE0hEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 533.6148738861084, + "msg": "_Lmn-kE0hEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8233.957052230835, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:19,540", + "created": 1609969759.5406404, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:19,534", + "created": 1609969759.5340724, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 534.0723991394043, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8234.41457748413, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:19,534", + "created": 1609969759.5342734, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 534.2733860015869, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8234.615564346313, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:19,534", + "created": 1609969759.5344973, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 534.4972610473633, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8234.83943939209, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:19,534", + "created": 1609969759.534661, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 534.661054611206, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8235.003232955933, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:19,534", + "created": 1609969759.5348327, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 534.8327159881592, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8235.174894332886, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:19,534", + "created": 1609969759.534986, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 534.9860191345215, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8235.328197479248, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:19,535", + "created": 1609969759.5351605, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 535.1605415344238, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8235.50271987915, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:19,535", + "created": 1609969759.535335, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 535.3350639343262, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8235.677242279053, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:19,535", + "created": 1609969759.535496, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 535.4959964752197, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8235.838174819946, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:19,535", + "created": 1609969759.5356565, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 535.6564521789551, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8235.998630523682, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:19,535", + "created": 1609969759.5357985, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 535.7985496520996, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8236.140727996826, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:19,535", + "created": 1609969759.5359597, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 535.9597206115723, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8236.301898956299, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:19,536", + "created": 1609969759.5361295, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 536.1294746398926, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8236.47165298462, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:19,536", + "created": 1609969759.5362885, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 536.2884998321533, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8236.63067817688, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:19,536", + "created": 1609969759.5364437, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 536.4437103271484, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8236.785888671875, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:19,536", + "created": 1609969759.5366013, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 536.6013050079346, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8236.943483352661, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:19,536", + "created": 1609969759.5367544, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 536.7543697357178, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8237.096548080444, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:19,536", + "created": 1609969759.5369105, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 536.9105339050293, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8237.252712249756, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:19,537", + "created": 1609969759.5370555, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 537.055492401123, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8237.39767074585, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:19,537", + "created": 1609969759.5371988, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 537.1987819671631, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8237.54096031189, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:19,537", + "created": 1609969759.5374813, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 537.4813079833984, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8237.823486328125, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:19,537", + "created": 1609969759.537642, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 537.6420021057129, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8237.98418045044, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:19,537", + "created": 1609969759.5378668, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 537.8668308258057, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8238.209009170532, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:19,538", + "created": 1609969759.5380228, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 538.0227565765381, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8238.364934921265, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:19,538", + "created": 1609969759.5381703, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 538.170337677002, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8238.512516021729, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:19,538", + "created": 1609969759.538317, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 538.3169651031494, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8238.659143447876, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:19,538", + "created": 1609969759.5384748, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 538.4747982025146, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8238.816976547241, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:19,538", + "created": 1609969759.5386357, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 538.6357307434082, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8238.977909088135, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:19,538", + "created": 1609969759.5388045, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 538.8045310974121, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8239.146709442139, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:19,538", + "created": 1609969759.5389602, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 538.9602184295654, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8239.302396774292, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:19,539", + "created": 1609969759.5391002, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 539.100170135498, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8239.442348480225, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:19,539", + "created": 1609969759.539259, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 539.2589569091797, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8239.601135253906, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:19,539", + "created": 1609969759.5394275, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 539.4275188446045, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8239.769697189331, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:19,539", + "created": 1609969759.5395746, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 539.5746231079102, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8239.916801452637, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:19,539", + "created": 1609969759.539736, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 539.7360324859619, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8240.078210830688, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:19,539", + "created": 1609969759.5399034, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 539.9034023284912, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8240.245580673218, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:19,540", + "created": 1609969759.540058, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 540.057897567749, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8240.400075912476, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:19,540", + "created": 1609969759.5402036, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 540.2035713195801, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8240.545749664307, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:19,540", + "created": 1609969759.5403476, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 540.3475761413574, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8240.689754486084, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:19,540", + "created": 1609969759.540504, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 540.503978729248, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8240.846157073975, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 540.6403541564941, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8240.98253250122, + "stack_info": null, + "thread": 140247539738432, "threadName": "MainThread", "time_consumption": 0.00013637542724609375 }, { - "args": [ - "2", - "" - ], - "asctime": "2020-12-26 10:11:54,107", - "created": 1608973914.1070602, + "args": [], + "asctime": "2021-01-06 22:49:19,540", + "created": 1609969759.5409148, "exc_info": null, "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Authentification required) transfered via pure_json_protocol is correct (Content 2 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Authentification required) transfered via pure_json_protocol", - "2", - "" - ], - "asctime": "2020-12-26 10:11:54,106", - "created": 1608973914.106774, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Authentification required) transfered via pure_json_protocol): 2 ()", - "module": "test", - "msecs": 106.77409172058105, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10796.56982421875, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Authentification required) transfered via pure_json_protocol", - "2", - "" - ], - "asctime": "2020-12-26 10:11:54,106", - "created": 1608973914.1069229, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Authentification required) transfered via pure_json_protocol): result = 2 ()", - "module": "test", - "msecs": 106.92286491394043, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10796.71859741211, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 107.06019401550293, - "msg": "Response Status (Authentification required) transfered via pure_json_protocol is correct (Content %s and Type is %s).", + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 261, + "message": "Setting no Channel name for server and client", + "module": "test_communication", + "moduleLogger": [], + "msecs": 540.91477394104, + "msg": "Setting no Channel name for server and client", "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, + "pathname": "src/tests/test_communication.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10796.855926513672, + "relativeCreated": 8241.256952285767, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.0001373291015625 + "time_consumption": 0.0 }, { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:54,107", - "created": 1608973914.1075408, + "args": [], + "asctime": "2021-01-06 22:49:20,142", + "created": 1609969760.142994, "exc_info": null, "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data (no data) transfered via pure_json_protocol is correct (Content None and Type is ).", - "module": "test", + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 265, + "message": "Server and Client connect callback triggered", + "module": "test_communication", "moduleLogger": [ { "args": [ - "Response Data (no data) transfered via pure_json_protocol", - "None", - "" + "SP server:" ], - "asctime": "2020-12-26 10:11:54,107", - "created": 1608973914.1072693, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data (no data) transfered via pure_json_protocol): None ()", - "module": "test", - "msecs": 107.269287109375, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10797.065019607544, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data (no data) transfered via pure_json_protocol", - "None", - "" - ], - "asctime": "2020-12-26 10:11:54,107", - "created": 1608973914.1074064, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data (no data) transfered via pure_json_protocol): result = None ()", - "module": "test", - "msecs": 107.4063777923584, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10797.202110290527, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 107.54084587097168, - "msg": "Response Data (no data) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10797.33657836914, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00013446807861328125 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:54,208", - "created": 1608973914.208797, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:54,208", - "created": 1608973914.208116, + "asctime": "2021-01-06 22:49:19,541", + "created": 1609969759.5411282, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 208.1160545349121, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "msecs": 541.1281585693359, + "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10897.911787033081, + "relativeCreated": 8241.470336914062, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "SP client:" ], - "asctime": "2020-12-26 10:11:54,208", - "created": 1608973914.20842, + "asctime": "2021-01-06 22:49:19,541", + "created": 1609969759.5412867, "exc_info": null, "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 208.4200382232666, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 541.2867069244385, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10898.215770721436, + "relativeCreated": 8241.628885269165, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "None" ], - "asctime": "2020-12-26 10:11:54,208", - "created": 1608973914.208587, + "asctime": "2021-01-06 22:49:19,541", + "created": 1609969759.5414762, "exc_info": null, "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 541.4762496948242, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8241.81842803955, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:19,541", + "created": 1609969759.5418363, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 208.5869312286377, - "msg": "Expectation (%s): result = %s (%s)", + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "module": "test_helpers", + "msecs": 541.8362617492676, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, + "pathname": "src/tests/test_helpers.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10898.382663726807, + "relativeCreated": 8242.178440093994, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:19,541", + "created": 1609969759.541916, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "module": "test_helpers", + "msecs": 541.9158935546875, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8242.258071899414, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:19,542", + "created": 1609969759.542008, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 542.0079231262207, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8242.350101470947, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__channel_name_request__" + ], + "asctime": "2021-01-06 22:49:19,542", + "created": 1609969759.542064, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 542.0639514923096, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8242.406129837036, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:19,542", + "created": 1609969759.5421252, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 542.1252250671387, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8242.467403411865, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:19,542", + "created": 1609969759.542235, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 542.2348976135254, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8242.577075958252, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:19,542", + "created": 1609969759.542316, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 542.3159599304199, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8242.658138275146, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:19,542", + "created": 1609969759.5423994, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 542.3994064331055, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8242.741584777832, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:19,542", + "created": 1609969759.542453, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 542.4530506134033, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8242.79522895813, + "stack_info": null, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 208.79697799682617, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", + "msecs": 142.99392700195312, + "msg": "Server and Client connect callback triggered", "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, + "pathname": "src/tests/test_communication.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10898.592710494995, + "relativeCreated": 8843.33610534668, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.00021004676818847656 + "time_consumption": 0.6005408763885498 }, { "args": [ "None", "" ], - "asctime": "2020-12-26 10:11:54,310", - "created": 1608973914.310045, + "asctime": "2021-01-06 22:49:20,143", + "created": 1609969760.1436076, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", + "lineno": 144, + "message": "Channel name of server is correct (Content None and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:54,309", - "created": 1608973914.3094268, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 309.42678451538086, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 10999.22251701355, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", + "Channel name of server", "None", "" ], - "asctime": "2020-12-26 10:11:54,309", - "created": 1608973914.3097236, + "asctime": "2021-01-06 22:49:20,143", + "created": 1609969760.1433346, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -20512,27 +57139,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", + "message": "Result (Channel name of server): None ()", "module": "test", - "msecs": 309.7236156463623, + "msecs": 143.33462715148926, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10999.519348144531, + "relativeCreated": 8843.676805496216, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", + "Channel name of server", "None", "" ], - "asctime": "2020-12-26 10:11:54,309", - "created": 1608973914.3098912, + "asctime": "2021-01-06 22:49:20,143", + "created": 1609969760.1434875, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -20540,43 +57167,2383 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", + "message": "Expectation (Channel name of server): result = None ()", "module": "test", - "msecs": 309.8912239074707, + "msecs": 143.48745346069336, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10999.68695640564, + "relativeCreated": 8843.82963180542, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 310.0450038909912, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", + "msecs": 143.60761642456055, + "msg": "Channel name of server is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 10999.84073638916, + "relativeCreated": 8843.949794769287, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.0001537799835205078 + "time_consumption": 0.0001201629638671875 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:20,143", + "created": 1609969760.1439989, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of client is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of client", + "None", + "" + ], + "asctime": "2021-01-06 22:49:20,143", + "created": 1609969760.1437876, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of client): None ()", + "module": "test", + "msecs": 143.78762245178223, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8844.129800796509, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of client", + "None", + "" + ], + "asctime": "2021-01-06 22:49:20,143", + "created": 1609969760.143896, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of client): result = None ()", + "module": "test", + "msecs": 143.89610290527344, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8844.23828125, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 143.9988613128662, + "msg": "Channel name of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8844.341039657593, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00010275840759277344 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:20,144", + "created": 1609969760.144268, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 271, + "message": "Setting different Channel names for client and Server", + "module": "test_communication", + "moduleLogger": [], + "msecs": 144.26803588867188, + "msg": "Setting different Channel names for client and Server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8844.610214233398, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:20,747", + "created": 1609969760.7477922, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 275, + "message": "Server and Client connect callback triggered", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:20,144", + "created": 1609969760.1444526, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 144.45257186889648, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8844.794750213623, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:20,144", + "created": 1609969760.1445973, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 144.59729194641113, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8844.939470291138, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "'client'" + ], + "asctime": "2021-01-06 22:49:20,144", + "created": 1609969760.1447535, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"'client'\"", + "module": "__init__", + "msecs": 144.75345611572266, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8845.09563446045, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:20,145", + "created": 1609969760.1450603, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (66): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 7d ee af 7b 7e", + "module": "test_helpers", + "msecs": 145.06030082702637, + "msg": "Send data: (66): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 7d ee af 7b 7e", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8845.402479171753, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:20,145", + "created": 1609969760.1452546, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (66): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 7d ee af 7b 7e", + "module": "test_helpers", + "msecs": 145.25461196899414, + "msg": "Receive data (66): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 7d ee af 7b 7e", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8845.59679031372, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "'client'" + ], + "asctime": "2021-01-06 22:49:20,145", + "created": 1609969760.1454778, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"'client'\"", + "module": "__init__", + "msecs": 145.4777717590332, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8845.81995010376, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__channel_name_request__" + ], + "asctime": "2021-01-06 22:49:20,145", + "created": 1609969760.1456127, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 145.6127166748047, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8845.954895019531, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'server'", + "'client'" + ], + "asctime": "2021-01-06 22:49:20,145", + "created": 1609969760.1457858, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__channel_name_request__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 408, + "message": "SP server: overwriting user defined channel name from 'server' to 'client'", + "module": "__init__", + "msecs": 145.78580856323242, + "msg": "%s overwriting user defined channel name from %s to %s", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8846.127986907959, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:20,145", + "created": 1609969760.145988, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 145.98798751831055, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8846.330165863037, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:20,146", + "created": 1609969760.1462672, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 146.26717567443848, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8846.609354019165, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:20,146", + "created": 1609969760.1464765, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 146.47650718688965, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8846.818685531616, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:20,146", + "created": 1609969760.146684, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 146.683931350708, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8847.026109695435, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:20,146", + "created": 1609969760.1468246, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 146.82459831237793, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 8847.166776657104, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 747.7922439575195, + "msg": "Server and Client connect callback triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9448.134422302246, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.6009676456451416 + }, + { + "args": [ + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:20,748", + "created": 1609969760.748584, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of server is correct (Content 'client' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of server", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:20,748", + "created": 1609969760.7482393, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of server): 'client' ()", + "module": "test", + "msecs": 748.239278793335, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9448.581457138062, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of server", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:20,748", + "created": 1609969760.748424, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of server): result = 'client' ()", + "module": "test", + "msecs": 748.4240531921387, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9448.766231536865, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 748.5840320587158, + "msg": "Channel name of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9448.926210403442, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00015997886657714844 + }, + { + "args": [ + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:20,749", + "created": 1609969760.749148, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of client is correct (Content 'client' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of client", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:20,748", + "created": 1609969760.748857, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of client): 'client' ()", + "module": "test", + "msecs": 748.8570213317871, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9449.199199676514, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of client", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:20,749", + "created": 1609969760.7490063, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of client): result = 'client' ()", + "module": "test", + "msecs": 749.0062713623047, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9449.348449707031, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 749.147891998291, + "msg": "Channel name of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9449.490070343018, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014162063598632812 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:20,749", + "created": 1609969760.7494981, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 281, + "message": "Setting identical Channel names for client and server", + "module": "test_communication", + "moduleLogger": [], + "msecs": 749.4981288909912, + "msg": "Setting identical Channel names for client and server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9449.840307235718, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:21,353", + "created": 1609969761.3535893, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 285, + "message": "Server and Client connect callback triggered", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:20,749", + "created": 1609969760.7497363, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 749.7363090515137, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9450.07848739624, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:20,749", + "created": 1609969760.7499502, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 749.9501705169678, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9450.292348861694, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "'unittest'" + ], + "asctime": "2021-01-06 22:49:20,750", + "created": 1609969760.7501664, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"'unittest'\"", + "module": "__init__", + "msecs": 750.1664161682129, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9450.50859451294, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:20,750", + "created": 1609969760.7505622, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (68): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 6e 69 74 74 65 73 74 22 7d f8 f6 c9 e9", + "module": "test_helpers", + "msecs": 750.5621910095215, + "msg": "Send data: (68): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 6e 69 74 74 65 73 74 22 7d f8 f6 c9 e9", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9450.904369354248, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:20,750", + "created": 1609969760.7508361, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (68): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 6e 69 74 74 65 73 74 22 7d f8 f6 c9 e9", + "module": "test_helpers", + "msecs": 750.8361339569092, + "msg": "Receive data (68): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 6e 69 74 74 65 73 74 22 7d f8 f6 c9 e9", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9451.178312301636, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "'unittest'" + ], + "asctime": "2021-01-06 22:49:20,751", + "created": 1609969760.75112, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"'unittest'\"", + "module": "__init__", + "msecs": 751.1200904846191, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9451.462268829346, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__channel_name_request__" + ], + "asctime": "2021-01-06 22:49:20,751", + "created": 1609969760.7513034, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 751.3034343719482, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9451.645612716675, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:20,751", + "created": 1609969760.7515702, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 751.5702247619629, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9451.91240310669, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:20,751", + "created": 1609969760.7519255, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 751.9254684448242, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9452.26764678955, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:20,752", + "created": 1609969760.7521765, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 752.1765232086182, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9452.518701553345, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:20,752", + "created": 1609969760.7524376, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 752.4375915527344, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9452.779769897461, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:20,752", + "created": 1609969760.7526114, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 752.6113986968994, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.unittest", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 9452.953577041626, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 353.5892963409424, + "msg": "Server and Client connect callback triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10053.931474685669, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.600977897644043 + }, + { + "args": [ + "'unittest'", + "" + ], + "asctime": "2021-01-06 22:49:21,354", + "created": 1609969761.3544455, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of server is correct (Content 'unittest' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of server", + "'unittest'", + "" + ], + "asctime": "2021-01-06 22:49:21,354", + "created": 1609969761.3540854, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of server): 'unittest' ()", + "module": "test", + "msecs": 354.08544540405273, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10054.42762374878, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of server", + "'unittest'", + "" + ], + "asctime": "2021-01-06 22:49:21,354", + "created": 1609969761.3542814, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of server): result = 'unittest' ()", + "module": "test", + "msecs": 354.2814254760742, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10054.6236038208, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 354.4454574584961, + "msg": "Channel name of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10054.787635803223, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.000164031982421875 + }, + { + "args": [ + "'unittest'", + "" + ], + "asctime": "2021-01-06 22:49:21,354", + "created": 1609969761.3549926, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of client is correct (Content 'unittest' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of client", + "'unittest'", + "" + ], + "asctime": "2021-01-06 22:49:21,354", + "created": 1609969761.3547058, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of client): 'unittest' ()", + "module": "test", + "msecs": 354.705810546875, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10055.047988891602, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of client", + "'unittest'", + "" + ], + "asctime": "2021-01-06 22:49:21,354", + "created": 1609969761.3548532, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of client): result = 'unittest' ()", + "module": "test", + "msecs": 354.85315322875977, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10055.195331573486, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 354.9926280975342, + "msg": "Channel name of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10055.33480644226, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00013947486877441406 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:21,355", + "created": 1609969761.3553154, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "Setting Channel name for client only", + "module": "test_communication", + "moduleLogger": [], + "msecs": 355.3154468536377, + "msg": "Setting Channel name for client only", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10055.657625198364, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:21,959", + "created": 1609969761.9595382, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 295, + "message": "Server and Client connect callback triggered", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:21,355", + "created": 1609969761.355536, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 355.53598403930664, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10055.878162384033, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:21,355", + "created": 1609969761.3557076, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 355.70764541625977, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10056.049823760986, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "'client'" + ], + "asctime": "2021-01-06 22:49:21,355", + "created": 1609969761.355902, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"'client'\"", + "module": "__init__", + "msecs": 355.90195655822754, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10056.244134902954, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:21,356", + "created": 1609969761.356334, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (66): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 7d ee af 7b 7e", + "module": "test_helpers", + "msecs": 356.33397102355957, + "msg": "Send data: (66): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 7d ee af 7b 7e", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10056.676149368286, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:21,356", + "created": 1609969761.3565967, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (66): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 7d ee af 7b 7e", + "module": "test_helpers", + "msecs": 356.5967082977295, + "msg": "Receive data (66): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 63 6c 69 65 6e 74 22 7d ee af 7b 7e", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10056.938886642456, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "'client'" + ], + "asctime": "2021-01-06 22:49:21,356", + "created": 1609969761.3568814, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"'client'\"", + "module": "__init__", + "msecs": 356.88138008117676, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10057.223558425903, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__channel_name_request__" + ], + "asctime": "2021-01-06 22:49:21,357", + "created": 1609969761.357064, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 357.06400871276855, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10057.406187057495, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'client'" + ], + "asctime": "2021-01-06 22:49:21,357", + "created": 1609969761.3572946, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__channel_name_request__", + "levelname": "INFO", + "levelno": 20, + "lineno": 410, + "message": "SP server: channel name is now 'client'", + "module": "__init__", + "msecs": 357.29455947875977, + "msg": "%s channel name is now %s", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10057.636737823486, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:21,357", + "created": 1609969761.35749, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 357.49006271362305, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10057.83224105835, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:21,357", + "created": 1609969761.3578658, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 357.8658103942871, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10058.207988739014, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:21,358", + "created": 1609969761.3581192, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 358.11924934387207, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10058.461427688599, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:21,358", + "created": 1609969761.3583813, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 358.3812713623047, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10058.723449707031, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:21,358", + "created": 1609969761.3585565, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 358.55650901794434, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.client", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10058.89868736267, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 959.5382213592529, + "msg": "Server and Client connect callback triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10659.88039970398, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.6009817123413086 + }, + { + "args": [ + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:21,960", + "created": 1609969761.9603531, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of server is correct (Content 'client' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of server", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:21,959", + "created": 1609969761.9599824, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of server): 'client' ()", + "module": "test", + "msecs": 959.9823951721191, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10660.324573516846, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of server", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:21,960", + "created": 1609969761.960167, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of server): result = 'client' ()", + "module": "test", + "msecs": 960.1669311523438, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10660.50910949707, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 960.3531360626221, + "msg": "Channel name of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10660.695314407349, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001862049102783203 + }, + { + "args": [ + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:21,960", + "created": 1609969761.960926, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of client is correct (Content 'client' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of client", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:21,960", + "created": 1609969761.9606216, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of client): 'client' ()", + "module": "test", + "msecs": 960.6215953826904, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10660.963773727417, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of client", + "'client'", + "" + ], + "asctime": "2021-01-06 22:49:21,960", + "created": 1609969761.9607823, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of client): result = 'client' ()", + "module": "test", + "msecs": 960.7822895050049, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10661.124467849731, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 960.9260559082031, + "msg": "Channel name of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10661.26823425293, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001437664031982422 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:21,961", + "created": 1609969761.9612663, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 301, + "message": "Setting Channel name for server only", + "module": "test_communication", + "moduleLogger": [], + "msecs": 961.266279220581, + "msg": "Setting Channel name for server only", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10661.608457565308, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:22,565", + "created": 1609969762.5654993, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "channel_name_exchange", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 305, + "message": "Server and Client connect callback triggered", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:21,961", + "created": 1609969761.9614851, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 961.4851474761963, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10661.827325820923, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:21,961", + "created": 1609969761.9616585, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 961.6584777832031, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10662.00065612793, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:21,961", + "created": 1609969761.9618974, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 961.8973731994629, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10662.23955154419, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:21,962", + "created": 1609969761.9622889, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "module": "test_helpers", + "msecs": 962.2888565063477, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10662.631034851074, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:21,962", + "created": 1609969761.962546, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "module": "test_helpers", + "msecs": 962.5461101531982, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10662.888288497925, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:21,962", + "created": 1609969761.9628344, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 962.834358215332, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10663.176536560059, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__channel_name_request__" + ], + "asctime": "2021-01-06 22:49:21,963", + "created": 1609969761.9630153, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 963.0153179168701, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10663.357496261597, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "'server'" + ], + "asctime": "2021-01-06 22:49:21,963", + "created": 1609969761.9632137, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"'server'\"", + "module": "__init__", + "msecs": 963.2136821746826, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10663.55586051941, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:21,963", + "created": 1609969761.9635763, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (66): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 73 65 72 76 65 72 22 7d ac a3 7b cc", + "module": "test_helpers", + "msecs": 963.5763168334961, + "msg": "Send data: (66): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 73 65 72 76 65 72 22 7d ac a3 7b cc", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10663.918495178223, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:21,963", + "created": 1609969761.9638584, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (66): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 73 65 72 76 65 72 22 7d ac a3 7b cc", + "module": "test_helpers", + "msecs": 963.8583660125732, + "msg": "Receive data (66): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 73 65 72 76 65 72 22 7d ac a3 7b cc", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10664.2005443573, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "'server'" + ], + "asctime": "2021-01-06 22:49:21,964", + "created": 1609969761.9641232, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"'server'\"", + "module": "__init__", + "msecs": 964.1232490539551, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10664.465427398682, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:21,964", + "created": 1609969761.9643114, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 964.3113613128662, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10664.653539657593, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'server'" + ], + "asctime": "2021-01-06 22:49:21,964", + "created": 1609969761.9645405, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__channel_name_response__", + "levelname": "INFO", + "levelno": 20, + "lineno": 397, + "message": "SP client: channel name is now 'server'", + "module": "__init__", + "msecs": 964.5404815673828, + "msg": "%s channel name is now %s", + "name": "root.socket_protocol.server", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 10664.88265991211, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 565.4993057250977, + "msg": "Server and Client connect callback triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11265.841484069824, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.6009588241577148 + }, + { + "args": [ + "'server'", + "" + ], + "asctime": "2021-01-06 22:49:22,566", + "created": 1609969762.5663636, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of server is correct (Content 'server' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of server", + "'server'", + "" + ], + "asctime": "2021-01-06 22:49:22,565", + "created": 1609969762.565983, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of server): 'server' ()", + "module": "test", + "msecs": 565.9830570220947, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11266.325235366821, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of server", + "'server'", + "" + ], + "asctime": "2021-01-06 22:49:22,566", + "created": 1609969762.5661893, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of server): result = 'server' ()", + "module": "test", + "msecs": 566.1892890930176, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11266.531467437744, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 566.3635730743408, + "msg": "Channel name of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11266.705751419067, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001742839813232422 + }, + { + "args": [ + "'server'", + "" + ], + "asctime": "2021-01-06 22:49:22,566", + "created": 1609969762.5669034, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Channel name of client is correct (Content 'server' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Channel name of client", + "'server'", + "" + ], + "asctime": "2021-01-06 22:49:22,566", + "created": 1609969762.5666118, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Channel name of client): 'server' ()", + "module": "test", + "msecs": 566.6117668151855, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11266.953945159912, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Channel name of client", + "'server'", + "" + ], + "asctime": "2021-01-06 22:49:22,566", + "created": 1609969762.5667605, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Channel name of client): result = 'server' ()", + "module": "test", + "msecs": 566.7605400085449, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11267.102718353271, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 566.9033527374268, + "msg": "Channel name of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11267.245531082153, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014281272888183594 } ], - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 1.4121019840240479, - "time_finished": "2020-12-26 10:11:54,310", - "time_start": "2020-12-26 10:11:52,897" + "time_consumption": 3.0332884788513184, + "time_finished": "2021-01-06 22:49:22,566", + "time_start": "2021-01-06 22:49:19,533" }, - "socket_protocol.pure_json_protocol: Checksum corumpation while sending.": { + "_Pn3WgE0NEeuiHtQbLi1mZg": { "args": null, - "asctime": "2020-12-26 10:11:50,269", - "created": 1608973910.269505, + "asctime": "2021-01-06 22:49:16,363", + "created": 1609969756.363234, "exc_info": null, "exc_text": null, "filename": "__init__.py", @@ -20584,2361 +59551,1493 @@ "levelname": "INFO", "levelno": 20, "lineno": 37, - "message": "socket_protocol.pure_json_protocol: Checksum corumpation while sending.", + "message": "_Pn3WgE0NEeuiHtQbLi1mZg", "module": "__init__", "moduleLogger": [], - "msecs": 269.5050239562988, - "msg": "socket_protocol.pure_json_protocol: Checksum corumpation while sending.", + "msecs": 363.2340431213379, + "msg": "_Pn3WgE0NEeuiHtQbLi1mZg", "name": "__tLogger__", "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 6959.300756454468, + "relativeCreated": 5063.576221466064, "stack_info": null, "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:50,572", - "created": 1608973910.572697, + "asctime": "2021-01-06 22:49:16,370", + "created": 1609969756.3702793, "exc_info": null, "exc_text": null, - "filename": "test_communication_errors.py", - "funcName": "send_checksum_error", + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", "levelname": "DEBUG", "levelno": 10, - "lineno": 40, - "message": "Send data with wrong checksum by pure_json_protocol.", - "module": "test_communication_errors", + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", "moduleLogger": [ { "args": [ - " SP server:" + "SP server:" ], - "asctime": "2020-12-26 10:11:50,269", - "created": 1608973910.2698925, + "asctime": "2021-01-06 22:49:16,363", + "created": 1609969756.3636532, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 269.89245414733887, + "msecs": 363.65318298339844, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 6959.688186645508, + "relativeCreated": 5063.995361328125, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:50,270", - "created": 1608973910.2702549, + "asctime": "2021-01-06 22:49:16,363", + "created": 1609969756.3638444, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", "module": "__init__", - "msecs": 270.25485038757324, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", + "msecs": 363.8443946838379, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 6960.050582885742, + "relativeCreated": 5064.186573028564, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: authentification request, data_id: seed" ], - "asctime": "2020-12-26 10:11:50,270", - "created": 1608973910.270527, + "asctime": "2021-01-06 22:49:16,364", + "created": 1609969756.3640637, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", + "funcName": "add_msg_to_auth_whitelist_", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", "module": "__init__", - "msecs": 270.5268859863281, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", + "msecs": 364.0637397766113, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 6960.322618484497, + "relativeCreated": 5064.405918121338, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: authentification response, data_id: seed" ], - "asctime": "2020-12-26 10:11:50,270", - "created": 1608973910.2708461, + "asctime": "2021-01-06 22:49:16,364", + "created": 1609969756.36422, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", "module": "__init__", - "msecs": 270.8461284637451, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", + "msecs": 364.21990394592285, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 6960.641860961914, + "relativeCreated": 5064.562082290649, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:", - 0, - 10, - 45054, - "{'test': 'test'}" + "SP server:", + "service: authentification request, data_id: key" ], - "asctime": "2020-12-26 10:11:50,271", - "created": 1608973910.2710736, + "asctime": "2021-01-06 22:49:16,364", + "created": 1609969756.364369, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", "module": "__init__", - "msecs": 271.073579788208, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", + "msecs": 364.3689155578613, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 6960.869312286377, + "relativeCreated": 5064.711093902588, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, - { - "args": [], - "asctime": "2020-12-26 10:11:50,271", - "created": 1608973910.271502, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", - "module": "test_helpers", - "msecs": 271.5020179748535, - "msg": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6961.2977504730225, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:50,422", - "created": 1608973910.422503, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 8a", - "module": "test_helpers", - "msecs": 422.5029945373535, - "msg": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 8a", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7112.2987270355225, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-23" - }, { "args": [ - " SP server:", - "(79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 8a" + "SP server:", + "service: authentification response, data_id: key" ], - "asctime": "2020-12-26 10:11:50,422", - "created": 1608973910.4229977, + "asctime": "2021-01-06 22:49:16,364", + "created": 1609969756.3645265, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 316, - "message": " SP server: Received message has a wrong checksum and will be ignored: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 8a.", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", "module": "__init__", - "msecs": 422.99771308898926, - "msg": "%s Received message has a wrong checksum and will be ignored: %s.", - "name": "root.socket_protocol.all_others", + "msecs": 364.52651023864746, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 7112.793445587158, + "relativeCreated": 5064.868688583374, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-23" - } - ], - "msecs": 572.6969242095947, - "msg": "Send data with wrong checksum by pure_json_protocol.", - "name": "__tLogger__", - "pathname": "src/tests/test_communication_errors.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7262.492656707764, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.14969921112060547 - }, - { - "args": [ - "True", - "" - ], - "asctime": "2020-12-26 10:11:50,573", - "created": 1608973910.5735312, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:50,573", - "created": 1608973910.5731618, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return value of send method): True ()", - "module": "test", - "msecs": 573.1618404388428, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7262.957572937012, - "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:50,573", - "created": 1608973910.5733697, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", - "module": "test", - "msecs": 573.3697414398193, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7263.165473937988, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 573.5311508178711, - "msg": "Return value of send method is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7263.32688331604, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001614093780517578 - }, - { - "args": [ - "False", - "" - ], - "asctime": "2020-12-26 10:11:50,574", - "created": 1608973910.5740902, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Callback executed variable is correct (Content False and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Callback executed variable", - "False", - "" - ], - "asctime": "2020-12-26 10:11:50,573", - "created": 1608973910.573765, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Callback executed variable): False ()", - "module": "test", - "msecs": 573.7650394439697, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7263.560771942139, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Callback executed variable", - "False", - "" - ], - "asctime": "2020-12-26 10:11:50,573", - "created": 1608973910.5739117, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Callback executed variable): result = False ()", - "module": "test", - "msecs": 573.9116668701172, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7263.707399368286, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 574.0902423858643, - "msg": "Callback executed variable is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7263.885974884033, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001785755157470703 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:50,675", - "created": 1608973910.6753385, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:50,674", - "created": 1608973910.6746745, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 674.6745109558105, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7364.4702434539795, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:50,675", - "created": 1608973910.6750023, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 675.0023365020752, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7364.798069000244, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:50,675", - "created": 1608973910.6751719, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 675.1718521118164, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7364.967584609985, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 675.3385066986084, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7365.134239196777, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001666545867919922 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:50,776", - "created": 1608973910.776583, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:50,775", - "created": 1608973910.77596, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 775.9599685668945, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7465.7557010650635, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:50,776", - "created": 1608973910.776261, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 776.2610912322998, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7466.056823730469, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:50,776", - "created": 1608973910.776429, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 776.4289379119873, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7466.224670410156, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 776.5829563140869, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7466.378688812256, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00015401840209960938 - } - ], - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.5070779323577881, - "time_finished": "2020-12-26 10:11:50,776", - "time_start": "2020-12-26 10:11:50,269" - }, - "socket_protocol.pure_json_protocol: Incompatible Callback return value(s).": { - "args": null, - "asctime": "2020-12-26 10:11:54,313", - "created": 1608973914.3130188, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 45, - "message": "socket_protocol.pure_json_protocol: Incompatible Callback return value(s).", - "module": "__init__", - "moduleLogger": [], - "msecs": 313.018798828125, - "msg": "socket_protocol.pure_json_protocol: Incompatible Callback return value(s).", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11002.814531326294, - "stack_info": null, - "testcaseLogger": [ - { - "args": [], - "asctime": "2020-12-26 10:11:54,318", - "created": 1608973914.3183715, - "exc_info": null, - "exc_text": null, - "filename": "test_handling_errors.py", - "funcName": "callback_rv_error", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 125, - "message": "Send and received data with incompatible callback (pure_json_protocol).", - "module": "test_handling_errors", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:54,313", - "created": 1608973914.3133879, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 313.3878707885742, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11003.183603286743, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:54,313", - "created": 1608973914.313741, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 313.74096870422363, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11003.536701202393, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:54,314", - "created": 1608973914.3140025, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 314.00251388549805, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11003.798246383667, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:54,314", - "created": 1608973914.3143115, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 314.3115043640137, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11004.107236862183, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 10, - 45054, - "None" - ], - "asctime": "2020-12-26 10:11:54,314", - "created": 1608973914.3145401, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"None\"", - "module": "__init__", - "msecs": 314.54014778137207, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11004.335880279541, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:54,314", - "created": 1608973914.3149111, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d e9 e9 77 c0", - "module": "test_helpers", - "msecs": 314.9111270904541, - "msg": "Send data: (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d e9 e9 77 c0", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11004.706859588623, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:54,315", - "created": 1608973914.3151848, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d e9 e9 77 c0", - "module": "test_helpers", - "msecs": 315.1848316192627, - "msg": "Receive data (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d e9 e9 77 c0", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11004.980564117432, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", + "SP server:", + "'__authentificate_create_seed__'", "0", - "10", - "45054", - "None" + "0" ], - "asctime": "2020-12-26 10:11:54,315", - "created": 1608973914.315434, + "asctime": "2021-01-06 22:49:16,364", + "created": 1609969756.3646896, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"None\"", - "module": "__init__", - "msecs": 315.4339790344238, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11005.229711532593, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - "response_data_method_fail" - ], - "asctime": "2020-12-26 10:11:54,315", - "created": 1608973914.3156219, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", + "funcName": "add", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method_fail to process received data", + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", "module": "__init__", - "msecs": 315.62185287475586, - "msg": "%s Executing callback %s to process received data", + "msecs": 364.68958854675293, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11005.417585372925, + "relativeCreated": 5065.0317668914795, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:", - 0, - 10, - 48879, - "None" - ], - "asctime": "2020-12-26 10:11:54,315", - "created": 1608973914.3158276, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 48879, data: \"None\"", - "module": "__init__", - "msecs": 315.8276081085205, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11005.62334060669, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:54,316", - "created": 1608973914.316162, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d da 63 1a 84", - "module": "test_helpers", - "msecs": 316.162109375, - "msg": "Send data: (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d da 63 1a 84", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11005.957841873169, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:54,316", - "created": 1608973914.3164139, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d da 63 1a 84", - "module": "test_helpers", - "msecs": 316.41387939453125, - "msg": "Receive data (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d da 63 1a 84", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11006.2096118927, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - "0", - "10", - "48879", - "None" - ], - "asctime": "2020-12-26 10:11:54,316", - "created": 1608973914.3166392, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 48879, data: \"None\"", - "module": "__init__", - "msecs": 316.6391849517822, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11006.434917449951, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:54,316", - "created": 1608973914.3168895, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 337, - "message": " SP server: Received message with no registered callback. Sending negative response.", - "module": "__init__", - "msecs": 316.88952445983887, - "msg": "%s Received message with no registered callback. Sending negative response.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11006.685256958008, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 1, - 11, - 48879, - "None" - ], - "asctime": "2020-12-26 10:11:54,317", - "created": 1608973914.3170547, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 1, service_id: 11, data_id: 48879, data: \"None\"", - "module": "__init__", - "msecs": 317.05474853515625, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11006.850481033325, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:54,317", - "created": 1608973914.317382, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 17 0c 52 31", - "module": "test_helpers", - "msecs": 317.3820972442627, - "msg": "Send data: (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 17 0c 52 31", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11007.177829742432, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:54,317", - "created": 1608973914.3176339, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 17 0c 52 31", - "module": "test_helpers", - "msecs": 317.63386726379395, - "msg": "Receive data (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 17 0c 52 31", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11007.429599761963, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", + "SP server:", + "'__authentificate_create_key__'", "1", - "11", - "48879", - "None" + "0" ], - "asctime": "2020-12-26 10:11:54,317", - "created": 1608973914.317859, + "asctime": "2021-01-06 22:49:16,364", + "created": 1609969756.3648622, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__data_available_callback__", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 364.86220359802246, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5065.204381942749, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:16,365", + "created": 1609969756.3651464, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 365.1463985443115, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5065.488576889038, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:16,365", + "created": 1609969756.36533, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 365.3299808502197, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5065.672159194946, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:16,365", + "created": 1609969756.3654733, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", "levelname": "INFO", "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 1, service_id: 11, data_id: 48879, data: \"None\"", + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "module": "__init__", - "msecs": 317.8589344024658, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 365.47327041625977, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11007.654666900635, + "relativeCreated": 5065.815448760986, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:", - "Request has no callback. Data buffered." + "SP server:", + "channel name request", + "channel name response" ], - "asctime": "2020-12-26 10:11:54,318", - "created": 1608973914.3180447, + "asctime": "2021-01-06 22:49:16,365", + "created": 1609969756.3656325, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Request has no callback. Data buffered.", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", "module": "__init__", - "msecs": 318.04466247558594, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", + "msecs": 365.6325340270996, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11007.840394973755, + "relativeCreated": 5065.974712371826, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:", - "response_data_method_fail" + "SP server:", + "service: channel name request, data_id: name" ], - "asctime": "2020-12-26 10:11:54,318", - "created": 1608973914.31818, + "asctime": "2021-01-06 22:49:16,365", + "created": 1609969756.3658216, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__data_available_callback__", + "funcName": "add_msg_to_auth_whitelist_", "levelname": "DEBUG", "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback response_data_method_fail to process received data", + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", "module": "__init__", - "msecs": 318.1800842285156, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", + "msecs": 365.82159996032715, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11007.975816726685, + "relativeCreated": 5066.163778305054, "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 318.3715343475342, - "msg": "Send and received data with incompatible callback (pure_json_protocol).", - "name": "__tLogger__", - "pathname": "src/tests/test_handling_errors.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11008.167266845703, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001914501190185547 - }, - { - "args": [ - "True", - "" - ], - "asctime": "2020-12-26 10:11:54,318", - "created": 1608973914.3189192, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Exception (TypeError) detection variable is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Exception (TypeError) detection variable", - "True", - "" - ], - "asctime": "2020-12-26 10:11:54,318", - "created": 1608973914.3186378, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Exception (TypeError) detection variable): True ()", - "module": "test", - "msecs": 318.6378479003906, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11008.43358039856, - "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Exception (TypeError) detection variable", - "True", - "" + "SP server:", + "service: channel name response, data_id: name" ], - "asctime": "2020-12-26 10:11:54,318", - "created": 1608973914.3187819, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Exception (TypeError) detection variable): result = True ()", - "module": "test", - "msecs": 318.78185272216797, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11008.577585220337, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 318.91918182373047, - "msg": "Exception (TypeError) detection variable is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11008.7149143219, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001373291015625 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:54,420", - "created": 1608973914.42013, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:54,419", - "created": 1608973914.4194705, + "asctime": "2021-01-06 22:49:16,365", + "created": 1609969756.365982, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", "module": "__init__", - "msecs": 419.47054862976074, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", + "msecs": 365.9820556640625, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11109.26628112793, + "relativeCreated": 5066.324234008789, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "SP server:", + "'__channel_name_request__'", + "8", + "0" ], - "asctime": "2020-12-26 10:11:54,419", - "created": 1608973914.4197922, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 419.79217529296875, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11109.587907791138, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:54,419", - "created": 1608973914.4199705, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 419.9705123901367, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11109.766244888306, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 420.13001441955566, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11109.925746917725, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001595020294189453 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:54,521", - "created": 1608973914.5214465, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:54,520", - "created": 1608973914.520776, + "asctime": "2021-01-06 22:49:16,366", + "created": 1609969756.366134, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", "module": "__init__", - "msecs": 520.7760334014893, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "msecs": 366.1339282989502, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11210.571765899658, + "relativeCreated": 5066.476106643677, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "SP server:", + "'__channel_name_response__'", + "9", + "0" ], - "asctime": "2020-12-26 10:11:54,521", - "created": 1608973914.5210986, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 521.0986137390137, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11210.894346237183, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:54,521", - "created": 1608973914.521278, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 521.277904510498, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11211.073637008667, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 521.4464664459229, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11211.242198944092, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001685619354248047 - }, - { - "args": [ - "True", - "" - ], - "asctime": "2020-12-26 10:11:54,521", - "created": 1608973914.5219986, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Exception (TypeError) detection variable is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Exception (TypeError) detection variable", - "True", - "" - ], - "asctime": "2020-12-26 10:11:54,521", - "created": 1608973914.5217147, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Exception (TypeError) detection variable): True ()", - "module": "test", - "msecs": 521.7146873474121, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11211.510419845581, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Exception (TypeError) detection variable", - "True", - "" - ], - "asctime": "2020-12-26 10:11:54,521", - "created": 1608973914.5218604, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Exception (TypeError) detection variable): result = True ()", - "module": "test", - "msecs": 521.8603610992432, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11211.656093597412, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 521.9986438751221, - "msg": "Exception (TypeError) detection variable is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11211.794376373291, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00013828277587890625 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:54,623", - "created": 1608973914.6232026, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "48879" - ], - "asctime": "2020-12-26 10:11:54,622", - "created": 1608973914.6225808, + "asctime": "2021-01-06 22:49:16,366", + "created": 1609969756.366288, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 48879) not in buffer.", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", "module": "__init__", - "msecs": 622.5807666778564, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "msecs": 366.2879467010498, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11312.376499176025, + "relativeCreated": 5066.630125045776, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" + "SP server:", + "read data request", + "read data response" ], - "asctime": "2020-12-26 10:11:54,622", - "created": 1608973914.62288, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 622.8799819946289, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11312.675714492798, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:54,623", - "created": 1608973914.6230488, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 623.0487823486328, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11312.844514846802, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 623.2025623321533, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11312.998294830322, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001537799835205078 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:54,724", - "created": 1608973914.7244606, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "48879" - ], - "asctime": "2020-12-26 10:11:54,723", - "created": 1608973914.7238128, + "asctime": "2021-01-06 22:49:16,366", + "created": 1609969756.3664393, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 48879) not in buffer.", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", "module": "__init__", - "msecs": 723.8128185272217, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "msecs": 366.4393424987793, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5066.781520843506, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:16,366", + "created": 1609969756.3665957, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 366.5957450866699, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5066.9379234313965, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:16,366", + "created": 1609969756.3667507, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 366.75071716308594, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5067.0928955078125, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:16,366", + "created": 1609969756.3668933, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 366.8932914733887, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5067.235469818115, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:16,367", + "created": 1609969756.3671653, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 367.16532707214355, + "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11413.60855102539, + "relativeCreated": 5067.50750541687, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" + "SP client:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:54,724", - "created": 1608973914.724113, + "asctime": "2021-01-06 22:49:16,367", + "created": 1609969756.3673232, "exc_info": null, "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", + "filename": "__init__.py", + "funcName": "add_service", "levelname": "DEBUG", "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 724.1129875183105, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 367.3231601715088, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11413.90872001648, + "relativeCreated": 5067.665338516235, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" + "SP client:", + "service: authentification request, data_id: seed" ], - "asctime": "2020-12-26 10:11:54,724", - "created": 1608973914.724282, + "asctime": "2021-01-06 22:49:16,367", + "created": 1609969756.3675344, "exc_info": null, "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", "levelname": "DEBUG", "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 724.2820262908936, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 367.5343990325928, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11414.077758789062, + "relativeCreated": 5067.876577377319, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:16,367", + "created": 1609969756.3676848, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 367.68484115600586, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5068.027019500732, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:16,367", + "created": 1609969756.3678293, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 367.8293228149414, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5068.171501159668, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:16,367", + "created": 1609969756.3679807, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 367.9807186126709, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5068.3228969573975, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:16,368", + "created": 1609969756.3681338, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 368.1337833404541, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5068.475961685181, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:16,368", + "created": 1609969756.3682907, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 368.29066276550293, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5068.6328411102295, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:16,368", + "created": 1609969756.3684583, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 368.4582710266113, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5068.800449371338, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:16,368", + "created": 1609969756.3686144, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 368.61443519592285, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5068.956613540649, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:16,368", + "created": 1609969756.3687637, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 368.76368522644043, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5069.105863571167, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:16,368", + "created": 1609969756.3689172, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 368.91722679138184, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5069.259405136108, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:16,369", + "created": 1609969756.3690846, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 369.08459663391113, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5069.426774978638, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:16,369", + "created": 1609969756.3692305, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 369.2305088043213, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5069.572687149048, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:16,369", + "created": 1609969756.3693798, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 369.37975883483887, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5069.721937179565, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:16,369", + "created": 1609969756.3695333, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 369.5333003997803, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5069.875478744507, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:16,369", + "created": 1609969756.3696854, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 369.68541145324707, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5070.027589797974, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:16,369", + "created": 1609969756.3698623, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 369.86231803894043, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5070.204496383667, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:16,370", + "created": 1609969756.3700066, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 370.0065612792969, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5070.348739624023, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:16,370", + "created": 1609969756.3701465, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 370.1465129852295, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5070.488691329956, + "stack_info": null, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 724.4606018066406, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", + "msecs": 370.27931213378906, + "msg": "Setting up communication", "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, + "pathname": "src/tests/test_helpers.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11414.25633430481, + "relativeCreated": 5070.621490478516, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.0001785755157470703 - } - ], - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.4114418029785156, - "time_finished": "2020-12-26 10:11:54,724", - "time_start": "2020-12-26 10:11:54,313" - }, - "socket_protocol.pure_json_protocol: No Callback at response instance for the request.": { - "args": null, - "asctime": "2020-12-26 10:11:52,188", - "created": 1608973912.1884153, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 42, - "message": "socket_protocol.pure_json_protocol: No Callback at response instance for the request.", - "module": "__init__", - "moduleLogger": [], - "msecs": 188.4152889251709, - "msg": "socket_protocol.pure_json_protocol: No Callback at response instance for the request.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 8878.21102142334, - "stack_info": null, - "testcaseLogger": [ + "time_consumption": 0.0001327991485595703 + }, { "args": [], - "asctime": "2020-12-26 10:11:52,693", - "created": 1608973912.693067, + "asctime": "2021-01-06 22:49:16,370", + "created": 1609969756.3705657, "exc_info": null, "exc_text": null, - "filename": "test_handling_errors.py", - "funcName": "no_callback", + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", "levelname": "DEBUG", "levelno": 10, - "lineno": 32, - "message": "Send data, but no callback registered (pure_json_protocol).", - "module": "test_handling_errors", + "lineno": 150, + "message": "Setting a Server secret and no Client secret", + "module": "test_communication", + "moduleLogger": [], + "msecs": 370.56565284729004, + "msg": "Setting a Server secret and no Client secret", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5070.907831192017, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:16,473", + "created": 1609969756.47373, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 153, + "message": "Transfering a message client -> server", + "module": "test_communication", "moduleLogger": [ { "args": [ - " SP server:" + "SP client:", + "service: execute request, data_id: 36", + "status: okay", + "'msg3_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:52,188", - "created": 1608973912.1888402, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 188.84015083312988, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 8878.635883331299, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:52,189", - "created": 1608973912.1892025, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 189.20254707336426, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 8878.998279571533, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:52,189", - "created": 1608973912.1894863, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 189.48626518249512, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 8879.281997680664, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:52,189", - "created": 1608973912.1898263, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 189.82625007629395, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 8879.621982574463, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 10, - 45054, - "{'test': 'test'}" - ], - "asctime": "2020-12-26 10:11:52,190", - "created": 1608973912.1900046, + "asctime": "2021-01-06 22:49:16,370", + "created": 1609969756.3708239, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", + "lineno": 714, + "message": "SP client: TX <- service: execute request, data_id: 36, status: okay, data: \"'msg3_data_to_be_transfered'\"", "module": "__init__", - "msecs": 190.0045871734619, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 370.82386016845703, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 8879.80031967163, + "relativeCreated": 5071.166038513184, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:52,190", - "created": 1608973912.190405, + "asctime": "2021-01-06 22:49:16,371", + "created": 1609969756.3712626, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 33 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 13 e9 64 3d", "module": "test_helpers", - "msecs": 190.40489196777344, - "msg": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "msecs": 371.2625503540039, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 33 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 13 e9 64 3d", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 8880.200624465942, + "relativeCreated": 5071.6047286987305, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:52,341", - "created": 1608973912.3413181, + "asctime": "2021-01-06 22:49:16,371", + "created": 1609969756.3715584, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 33 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 13 e9 64 3d", "module": "test_helpers", - "msecs": 341.31813049316406, - "msg": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "msecs": 371.55842781066895, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 33 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 13 e9 64 3d", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9031.113862991333, + "relativeCreated": 5071.9006061553955, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-24" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "10", - "45054", - "{'test': 'test'}" + "SP server:" ], - "asctime": "2020-12-26 10:11:52,341", - "created": 1608973912.3417592, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", - "module": "__init__", - "msecs": 341.75920486450195, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9031.55493736267, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-24" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:52,341", - "created": 1608973912.3419945, + "asctime": "2021-01-06 22:49:16,371", + "created": 1609969756.3718185, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "WARNING", "levelno": 30, - "lineno": 337, - "message": " SP server: Received message with no registered callback. Sending negative response.", + "lineno": 437, + "message": "SP server: RX <- Authentification is required. Just sending negative response.", "module": "__init__", - "msecs": 341.9945240020752, - "msg": "%s Received message with no registered callback. Sending negative response.", + "msecs": 371.81854248046875, + "msg": "%s RX <- Authentification is required. Just sending negative response.", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9031.790256500244, + "relativeCreated": 5072.160720825195, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-24" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - 1, - 11, - 45054, + "SP server:", + "service: execute response, data_id: 36", + "status: authentification required", "None" ], - "asctime": "2020-12-26 10:11:52,342", - "created": 1608973912.3421834, + "asctime": "2021-01-06 22:49:16,372", + "created": 1609969756.3720262, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 1, service_id: 11, data_id: 45054, data: \"None\"", + "lineno": 714, + "message": "SP server: TX <- service: execute response, data_id: 36, status: authentification required, data: \"None\"", "module": "__init__", - "msecs": 342.18335151672363, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 372.0262050628662, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9031.979084014893, + "relativeCreated": 5072.368383407593, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-24" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:52,342", - "created": 1608973912.342543, + "asctime": "2021-01-06 22:49:16,372", + "created": 1609969756.3723743, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 24 86 3f 75", + "lineno": 73, + "message": "Send data: (64): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 31 2c 20 22 73 74 61 74 75 73 22 3a 20 33 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 5d 78 af a4", "module": "test_helpers", - "msecs": 342.5428867340088, - "msg": "Send data: (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 24 86 3f 75", + "msecs": 372.3742961883545, + "msg": "Send data: (64): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 31 2c 20 22 73 74 61 74 75 73 22 3a 20 33 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 5d 78 af a4", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9032.338619232178, + "relativeCreated": 5072.716474533081, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-24" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:52,493", - "created": 1608973912.4934816, + "asctime": "2021-01-06 22:49:16,372", + "created": 1609969756.3726275, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 24 86 3f 75", + "lineno": 84, + "message": "Receive data (64): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 31 2c 20 22 73 74 61 74 75 73 22 3a 20 33 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 5d 78 af a4", "module": "test_helpers", - "msecs": 493.4816360473633, - "msg": "Receive data (67): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 24 86 3f 75", + "msecs": 372.62749671936035, + "msg": "Receive data (64): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 36 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 31 2c 20 22 73 74 61 74 75 73 22 3a 20 33 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 5d 78 af a4", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9183.277368545532, + "relativeCreated": 5072.969675064087, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-25" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "1", - "11", - "45054", + "SP client:", + "service: execute response, data_id: 36", + "status: authentification required", "None" ], - "asctime": "2020-12-26 10:11:52,493", - "created": 1608973912.4939115, + "asctime": "2021-01-06 22:49:16,372", + "created": 1609969756.372916, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 1, service_id: 11, data_id: 45054, data: \"None\"", + "lineno": 445, + "message": "SP client: RX <- service: execute response, data_id: 36, status: authentification required, data: \"None\"", "module": "__init__", - "msecs": 493.9115047454834, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 372.91598320007324, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9183.707237243652, + "relativeCreated": 5073.2581615448, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-25" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "Request has no callback. Data buffered." + "SP client:", + "status: authentification required" ], - "asctime": "2020-12-26 10:11:52,494", - "created": 1608973912.4941516, + "asctime": "2021-01-06 22:49:16,373", + "created": 1609969756.3730948, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "WARNING", "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Request has no callback. Data buffered.", + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: authentification required", "module": "__init__", - "msecs": 494.1515922546387, - "msg": "%s Received message has a peculiar status: %s", + "msecs": 373.0947971343994, + "msg": "%s RX <- Message has a peculiar status: %s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9183.947324752808, + "relativeCreated": 5073.436975479126, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-25" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP client:" ], - "asctime": "2020-12-26 10:11:52,494", - "created": 1608973912.4943423, + "asctime": "2021-01-06 22:49:16,373", + "created": 1609969756.3732939, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__buffer_received_data__", "levelname": "DEBUG", "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", "module": "__init__", - "msecs": 494.3423271179199, + "msecs": 373.2938766479492, "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9184.138059616089, + "relativeCreated": 5073.636054992676, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-25" + "thread": 140247539738432, + "threadName": "MainThread" } ], - "msecs": 693.0670738220215, - "msg": "Send data, but no callback registered (pure_json_protocol).", + "msecs": 473.73008728027344, + "msg": "Transfering a message client -> server", "name": "__tLogger__", - "pathname": "src/tests/test_handling_errors.py", - "process": 260919, + "pathname": "src/tests/test_communication.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9382.86280632019, + "relativeCreated": 5174.072265625, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.19872474670410156 + "time_consumption": 0.10043621063232422 }, { "args": [ "True", "" ], - "asctime": "2020-12-26 10:11:52,693", - "created": 1608973912.693833, + "asctime": "2021-01-06 22:49:16,474", + "created": 1609969756.4741805, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:52,693", - "created": 1608973912.6934988, + "asctime": "2021-01-06 22:49:16,473", + "created": 1609969756.4739966, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -22946,27 +61045,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of send method): True ()", + "message": "Result (Returnvalue of Client send Method): True ()", "module": "test", - "msecs": 693.4988498687744, + "msecs": 473.996639251709, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9383.294582366943, + "relativeCreated": 5174.338817596436, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:52,693", - "created": 1608973912.6936777, + "asctime": "2021-01-06 22:49:16,474", + "created": 1609969756.4740946, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -22974,57 +61073,57 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", + "message": "Expectation (Returnvalue of Client send Method): result = True ()", "module": "test", - "msecs": 693.6776638031006, + "msecs": 474.0946292877197, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9383.47339630127, + "relativeCreated": 5174.436807632446, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 693.8331127166748, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "msecs": 474.1804599761963, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9383.628845214844, + "relativeCreated": 5174.522638320923, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.00015544891357421875 + "time_consumption": 8.58306884765625e-05 }, { "args": [ - "1", - "" + "{'data_id': 36, 'service_id': 31, 'status': 3, 'data': None}", + "" ], - "asctime": "2020-12-26 10:11:52,694", - "created": 1608973912.694367, + "asctime": "2021-01-06 22:49:16,474", + "created": 1609969756.474479, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Response Status (Request has no callback. Data buffered.) transfered via pure_json_protocol is correct (Content 1 and Type is ).", + "lineno": 144, + "message": "Received message on server side is correct (Content {'data_id': 36, 'service_id': 31, 'status': 3, 'data': None} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Response Status (Request has no callback. Data buffered.) transfered via pure_json_protocol", - "1", - "" + "Received message on server side", + "{'data_id': 36, 'service_id': 31, 'status': 3, 'data': None}", + "" ], - "asctime": "2020-12-26 10:11:52,694", - "created": 1608973912.694075, + "asctime": "2021-01-06 22:49:16,474", + "created": 1609969756.474313, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -23032,27 +61131,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Response Status (Request has no callback. Data buffered.) transfered via pure_json_protocol): 1 ()", + "message": "Result (Received message on server side): {'data_id': 36, 'service_id': 31, 'status': 3, 'data': None} ()", "module": "test", - "msecs": 694.0751075744629, + "msecs": 474.31302070617676, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9383.870840072632, + "relativeCreated": 5174.655199050903, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Response Status (Request has no callback. Data buffered.) transfered via pure_json_protocol", - "1", - "" + "Received message on server side", + "{'service_id': 31, 'data_id': 36, 'status': 3, 'data': None}", + "" ], - "asctime": "2020-12-26 10:11:52,694", - "created": 1608973912.6942246, + "asctime": "2021-01-06 22:49:16,474", + "created": 1609969756.4743972, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -23060,830 +61159,242 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Response Status (Request has no callback. Data buffered.) transfered via pure_json_protocol): result = 1 ()", + "message": "Expectation (Received message on server side): result = {'service_id': 31, 'data_id': 36, 'status': 3, 'data': None} ()", "module": "test", - "msecs": 694.2245960235596, + "msecs": 474.3971824645996, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9384.020328521729, + "relativeCreated": 5174.739360809326, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 694.3669319152832, - "msg": "Response Status (Request has no callback. Data buffered.) transfered via pure_json_protocol is correct (Content %s and Type is %s).", + "msecs": 474.47896003723145, + "msg": "Received message on server side is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 9384.162664413452, + "relativeCreated": 5174.821138381958, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.0001423358917236328 + "time_consumption": 8.177757263183594e-05 }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:52,694", - "created": 1608973912.694879, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data (no data) transfered via pure_json_protocol is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data (no data) transfered via pure_json_protocol", - "None", - "" - ], - "asctime": "2020-12-26 10:11:52,694", - "created": 1608973912.694586, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data (no data) transfered via pure_json_protocol): None ()", - "module": "test", - "msecs": 694.5860385894775, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9384.381771087646, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data (no data) transfered via pure_json_protocol", - "None", - "" - ], - "asctime": "2020-12-26 10:11:52,694", - "created": 1608973912.6947281, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data (no data) transfered via pure_json_protocol): result = None ()", - "module": "test", - "msecs": 694.7281360626221, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9384.523868560791, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 694.8790550231934, - "msg": "Response Data (no data) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9384.674787521362, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00015091896057128906 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:52,796", - "created": 1608973912.79606, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:52,795", - "created": 1608973912.7954357, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 795.4356670379639, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9485.231399536133, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:52,795", - "created": 1608973912.795736, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 795.7360744476318, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9485.5318069458, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:52,795", - "created": 1608973912.7959049, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 795.9048748016357, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9485.700607299805, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 796.0600852966309, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9485.8558177948, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001552104949951172 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:52,897", - "created": 1608973912.8974283, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:52,896", - "created": 1608973912.8966737, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 896.6736793518066, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9586.469411849976, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:52,896", - "created": 1608973912.8969991, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 896.9991207122803, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9586.79485321045, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:52,897", - "created": 1608973912.897206, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 897.2060680389404, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9587.00180053711, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 897.4282741546631, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 9587.224006652832, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00022220611572265625 - } - ], - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.7090129852294922, - "time_finished": "2020-12-26 10:11:52,897", - "time_start": "2020-12-26 10:11:52,188" - }, - "socket_protocol.pure_json_protocol: Register a second Callback with the same service_id.": { - "args": null, - "asctime": "2020-12-26 10:11:48,346", - "created": 1608973908.3463144, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 32, - "message": "socket_protocol.pure_json_protocol: Register a second Callback with the same service_id.", - "module": "__init__", - "moduleLogger": [], - "msecs": 346.3144302368164, - "msg": "socket_protocol.pure_json_protocol: Register a second Callback with the same service_id.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5036.110162734985, - "stack_info": null, - "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:48,850", - "created": 1608973908.8505213, + "asctime": "2021-01-06 22:49:16,474", + "created": 1609969756.474605, "exc_info": null, "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "second_service_callback", + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", "levelname": "DEBUG", "levelno": 10, - "lineno": 140, - "message": "Send and received data by pure_json_protocol.", - "module": "test_normal_operation", + "lineno": 159, + "message": "Setting no Server secret but a Client secret", + "module": "test_communication", + "moduleLogger": [], + "msecs": 474.6050834655762, + "msg": "Setting no Server secret but a Client secret", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5174.947261810303, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:16,776", + "created": 1609969756.7764945, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 162, + "message": "Transfering a message server -> client", + "module": "test_communication", "moduleLogger": [ { "args": [ - " SP server:" + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:48,346", - "created": 1608973908.3467178, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 346.71783447265625, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5036.513566970825, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:48,347", - "created": 1608973908.3470855, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 347.08547592163086, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5036.8812084198, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:48,347", - "created": 1608973908.347361, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 347.36108779907227, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5037.156820297241, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:48,347", - "created": 1608973908.3476808, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 347.68080711364746, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5037.476539611816, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 10, - 45054, - "{'test': 'test'}" - ], - "asctime": "2020-12-26 10:11:48,347", - "created": 1608973908.3479316, + "asctime": "2021-01-06 22:49:16,474", + "created": 1609969756.474752, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", + "lineno": 714, + "message": "SP server: TX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", "module": "__init__", - "msecs": 347.9316234588623, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 474.75194931030273, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 5037.727355957031, + "relativeCreated": 5175.094127655029, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:48,348", - "created": 1608973908.3483512, + "asctime": "2021-01-06 22:49:16,474", + "created": 1609969756.4749985, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", "module": "test_helpers", - "msecs": 348.35124015808105, - "msg": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "msecs": 474.99847412109375, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 5038.14697265625, + "relativeCreated": 5175.34065246582, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:48,499", - "created": 1608973908.4994187, + "asctime": "2021-01-06 22:49:16,475", + "created": 1609969756.4751582, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", "module": "test_helpers", - "msecs": 499.4187355041504, - "msg": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "msecs": 475.1582145690918, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 5189.214468002319, + "relativeCreated": 5175.500392913818, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-17" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "10", - "45054", - "{'test': 'test'}" + "SP client:" ], - "asctime": "2020-12-26 10:11:48,499", - "created": 1608973908.4998384, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", - "module": "__init__", - "msecs": 499.83835220336914, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5189.634084701538, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-17" - }, - { - "args": [ - " SP server:", - "response_data_method_2" - ], - "asctime": "2020-12-26 10:11:48,500", - "created": 1608973908.5000474, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method_2 to process received data", - "module": "__init__", - "msecs": 500.0474452972412, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5189.84317779541, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-17" - }, - { - "args": [ - " SP server:", - 5, - 11, - 45054, - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:48,500", - "created": 1608973908.5002272, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 500.2272129058838, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5190.022945404053, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-17" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:48,500", - "created": 1608973908.5006506, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 60 f8 dc 89", - "module": "test_helpers", - "msecs": 500.65064430236816, - "msg": "Send data: (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 60 f8 dc 89", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5190.446376800537, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-17" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:48,651", - "created": 1608973908.6518054, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 60 f8 dc 89", - "module": "test_helpers", - "msecs": 651.8054008483887, - "msg": "Receive data (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 60 f8 dc 89", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5341.601133346558, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-18" - }, - { - "args": [ - " SP server:", - "5", - "11", - "45054", - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:48,652", - "created": 1608973908.6522408, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 652.2407531738281, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5342.036485671997, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-18" - }, - { - "args": [ - " SP server:", - "Operation not permitted" - ], - "asctime": "2020-12-26 10:11:48,652", - "created": 1608973908.6524794, + "asctime": "2021-01-06 22:49:16,475", + "created": 1609969756.4753034, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "WARNING", "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", + "lineno": 441, + "message": "SP client: RX <- Authentification is required. Message will be ignored.", "module": "__init__", - "msecs": 652.4794101715088, - "msg": "%s Received message has a peculiar status: %s", + "msecs": 475.30341148376465, + "msg": "%s RX <- Authentification is required. Message will be ignored.", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 5342.275142669678, + "relativeCreated": 5175.645589828491, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-18" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP client:", + "0.25", + "17", + "35" ], - "asctime": "2020-12-26 10:11:48,652", - "created": 1608973908.6526668, + "asctime": "2021-01-06 22:49:16,776", + "created": 1609969756.776217, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__buffer_received_data__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP client: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", "module": "__init__", - "msecs": 652.6668071746826, - "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "msecs": 776.216983795166, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 5342.462539672852, + "relativeCreated": 5476.559162139893, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-18" + "thread": 140247539738432, + "threadName": "MainThread" } ], - "msecs": 850.5213260650635, - "msg": "Send and received data by pure_json_protocol.", + "msecs": 776.4945030212402, + "msg": "Transfering a message server -> client", "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260919, + "pathname": "src/tests/test_communication.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 5540.317058563232, + "relativeCreated": 5476.836681365967, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.19785451889038086 + "time_consumption": 0.00027751922607421875 }, { "args": [ "True", "" ], - "asctime": "2020-12-26 10:11:48,851", - "created": 1608973908.8512812, + "asctime": "2021-01-06 22:49:16,777", + "created": 1609969756.7771208, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of send method", + "Returnvalue of Server send Method", "True", "" ], - "asctime": "2020-12-26 10:11:48,850", - "created": 1608973908.8509474, + "asctime": "2021-01-06 22:49:16,776", + "created": 1609969756.7767968, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -23891,27 +61402,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of send method): True ()", + "message": "Result (Returnvalue of Server send Method): True ()", "module": "test", - "msecs": 850.947380065918, + "msecs": 776.796817779541, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 5540.743112564087, + "relativeCreated": 5477.138996124268, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return value of send method", + "Returnvalue of Server send Method", "True", "" ], - "asctime": "2020-12-26 10:11:48,851", - "created": 1608973908.8511257, + "asctime": "2021-01-06 22:49:16,776", + "created": 1609969756.7769642, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -23919,488 +61430,29 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", + "message": "Expectation (Returnvalue of Server send Method): result = True ()", "module": "test", - "msecs": 851.1257171630859, + "msecs": 776.9641876220703, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 5540.921449661255, + "relativeCreated": 5477.306365966797, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 851.2811660766602, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "msecs": 777.12082862854, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 5541.076898574829, + "relativeCreated": 5477.463006973267, "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00015544891357421875 - }, - { - "args": [ - "0", - "" - ], - "asctime": "2020-12-26 10:11:48,851", - "created": 1608973908.8518255, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via pure_json_protocol is correct (Content 0 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:48,851", - "created": 1608973908.8515422, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Status (Okay) transfered via pure_json_protocol): 0 ()", - "module": "test", - "msecs": 851.5422344207764, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5541.337966918945, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:48,851", - "created": 1608973908.851689, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via pure_json_protocol): result = 0 ()", - "module": "test", - "msecs": 851.6891002655029, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5541.484832763672, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 851.825475692749, - "msg": "Request Status (Okay) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5541.621208190918, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00013637542724609375 - }, - { - "args": [ - "{'test': 'test'}", - "" - ], - "asctime": "2020-12-26 10:11:48,852", - "created": 1608973908.8523912, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via pure_json_protocol is correct (Content {'test': 'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:48,852", - "created": 1608973908.8520594, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via pure_json_protocol): { 'test': 'test' } ()", - "module": "test", - "msecs": 852.0593643188477, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5541.855096817017, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:48,852", - "created": 1608973908.8522096, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via pure_json_protocol): result = { 'test': 'test' } ()", - "module": "test", - "msecs": 852.2095680236816, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5542.005300521851, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 852.391242980957, - "msg": "Request Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5542.186975479126, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00018167495727539062 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:48,852", - "created": 1608973908.8529484, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:48,852", - "created": 1608973908.8526168, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via pure_json_protocol): 5 ()", - "module": "test", - "msecs": 852.6167869567871, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5542.412519454956, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:48,852", - "created": 1608973908.8528085, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via pure_json_protocol): result = 5 ()", - "module": "test", - "msecs": 852.8084754943848, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5542.604207992554, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 852.9484272003174, - "msg": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5542.744159698486, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001399517059326172 - }, - { - "args": [ - "[1, 3, 's']", - "" - ], - "asctime": "2020-12-26 10:11:48,853", - "created": 1608973908.8535173, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via pure_json_protocol is correct (Content [1, 3, 's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:48,853", - "created": 1608973908.853179, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via pure_json_protocol): [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 853.1789779663086, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5542.9747104644775, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:48,853", - "created": 1608973908.8533294, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via pure_json_protocol): result = [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 853.3294200897217, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5543.125152587891, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 853.5172939300537, - "msg": "Response Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5543.313026428223, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00018787384033203125 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:48,954", - "created": 1608973908.954737, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:48,954", - "created": 1608973908.954081, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 954.0810585021973, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5643.876791000366, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:48,954", - "created": 1608973908.954408, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 954.4079303741455, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5644.203662872314, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:48,954", - "created": 1608973908.9545803, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 954.5803070068359, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5644.376039505005, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 954.7369480133057, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5644.532680511475, - "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", "time_consumption": 0.00015664100646972656 }, @@ -24409,55 +61461,26 @@ "None", "" ], - "asctime": "2020-12-26 10:11:49,055", - "created": 1608973909.0559819, + "asctime": "2021-01-06 22:49:16,777", + "created": 1609969756.77766, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", + "lineno": 144, + "message": "Received message on client side is correct (Content None and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:49,055", - "created": 1608973909.0553627, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 55.362701416015625, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5745.158433914185, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", + "Received message on client side", "None", "" ], - "asctime": "2020-12-26 10:11:49,055", - "created": 1608973909.055663, + "asctime": "2021-01-06 22:49:16,777", + "created": 1609969756.7773743, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -24465,27 +61488,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", + "message": "Result (Received message on client side): None ()", "module": "test", - "msecs": 55.663108825683594, + "msecs": 777.374267578125, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 5745.4588413238525, + "relativeCreated": 5477.716445922852, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", + "Received message on client side", "None", "" ], - "asctime": "2020-12-26 10:11:49,055", - "created": 1608973909.0558295, + "asctime": "2021-01-06 22:49:16,777", + "created": 1609969756.7775187, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -24493,1184 +61516,1341 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", + "message": "Expectation (Received message on client side): result = None ()", "module": "test", - "msecs": 55.829524993896484, + "msecs": 777.5187492370605, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 5745.625257492065, + "relativeCreated": 5477.860927581787, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 55.98187446594238, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", + "msecs": 777.6598930358887, + "msg": "Received message on client side is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 5745.777606964111, + "relativeCreated": 5478.002071380615, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.00015234947204589844 - } - ], - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.709667444229126, - "time_finished": "2020-12-26 10:11:49,055", - "time_start": "2020-12-26 10:11:48,346" - }, - "socket_protocol.pure_json_protocol: Send and receive check including authentification.": { - "args": null, - "asctime": "2020-12-26 10:11:44,798", - "created": 1608973904.7981963, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 28, - "message": "socket_protocol.pure_json_protocol: Send and receive check including authentification.", - "module": "__init__", - "moduleLogger": [], - "msecs": 798.1963157653809, - "msg": "socket_protocol.pure_json_protocol: Send and receive check including authentification.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1487.9920482635498, - "stack_info": null, - "testcaseLogger": [ + "time_consumption": 0.000141143798828125 + }, { "args": [], - "asctime": "2020-12-26 10:11:46,005", - "created": 1608973906.0055242, + "asctime": "2021-01-06 22:49:16,777", + "created": 1609969756.7779126, "exc_info": null, "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "send_n_receive", + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", "levelname": "DEBUG", "levelno": 10, - "lineno": 42, - "message": "Send and received data by pure_json_protocol.", - "module": "test_normal_operation", + "lineno": 168, + "message": "Identical secrets set", + "module": "test_communication", + "moduleLogger": [], + "msecs": 777.9126167297363, + "msg": "Identical secrets set", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5478.254795074463, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:17,079", + "created": 1609969757.0795755, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 171, + "message": "Transfering a message client -> server", + "module": "test_communication", "moduleLogger": [ { "args": [ - " SP server:" + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:44,798", - "created": 1608973904.7985897, + "asctime": "2021-01-06 22:49:16,778", + "created": 1609969756.7781885, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", + "funcName": "send", + "levelname": "WARNING", + "levelno": 30, + "lineno": 724, + "message": "SP client: TX -> Authentification is required. Message service: 17, data_id: 34, status: okay, data: 'msg1_data_to_be_transfered' will be ignored.", + "module": "__init__", + "msecs": 778.1884670257568, + "msg": "%s TX -> Authentification is required. Message %s, %s, data: %s will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5478.530645370483, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "34" + ], + "asctime": "2021-01-06 22:49:17,079", + "created": 1609969757.0793025, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 34) not in buffer.", + "module": "__init__", + "msecs": 79.30254936218262, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5779.644727706909, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 79.5755386352539, + "msg": "Transfering a message client -> server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5779.9177169799805, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00027298927307128906 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:17,080", + "created": 1609969757.080212, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Client send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:17,079", + "created": 1609969757.079871, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 798.5897064208984, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "lineno": 22, + "message": "Result (Returnvalue of Client send Method): False ()", + "module": "test", + "msecs": 79.87093925476074, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1488.3854389190674, + "relativeCreated": 5780.213117599487, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:" + "Returnvalue of Client send Method", + "False", + "" ], - "asctime": "2020-12-26 10:11:44,798", - "created": 1608973904.798962, + "asctime": "2021-01-06 22:49:17,080", + "created": 1609969757.080036, "exc_info": null, "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 798.9621162414551, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1488.757848739624, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:44,799", - "created": 1608973904.7992368, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 799.2367744445801, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "lineno": 26, + "message": "Expectation (Returnvalue of Client send Method): result = False ()", + "module": "test", + "msecs": 80.03592491149902, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1489.032506942749, + "relativeCreated": 5780.378103256226, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 80.21211624145508, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5780.554294586182, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001761913299560547 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:17,080", + "created": 1609969757.0807524, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:17,080", + "created": 1609969757.0804558, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): None ()", + "module": "test", + "msecs": 80.45578002929688, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5780.797958374023, + "stack_info": null, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:" + "Received message on server side", + "None", + "" ], - "asctime": "2020-12-26 10:11:44,799", - "created": 1608973904.799554, + "asctime": "2021-01-06 22:49:17,080", + "created": 1609969757.0806003, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = None ()", + "module": "test", + "msecs": 80.60026168823242, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5780.942440032959, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 80.75237274169922, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 5781.094551086426, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00015211105346679688 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:17,382", + "created": 1609969757.3824248, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 177, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:17,081", + "created": 1609969757.0810354, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "funcName": "send", + "levelname": "WARNING", + "levelno": 30, + "lineno": 724, + "message": "SP server: TX -> Authentification is required. Message service: 17, data_id: 35, status: service or data unknown, data: 'msg2_data_to_be_transfered' will be ignored.", "module": "__init__", - "msecs": 799.5541095733643, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "msecs": 81.03537559509277, + "msg": "%s TX -> Authentification is required. Message %s, %s, data: %s will be ignored.", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1489.3498420715332, + "relativeCreated": 5781.377553939819, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP client:", + "0.25", + "17", + "35" ], - "asctime": "2020-12-26 10:11:44,799", - "created": 1608973904.7997627, + "asctime": "2021-01-06 22:49:17,382", + "created": 1609969757.3821533, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "authentificate", - "levelname": "INFO", - "levelno": 20, - "lineno": 456, - "message": " SP server: Requesting seed for authentification", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP client: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", "module": "__init__", - "msecs": 799.7627258300781, - "msg": "%s Requesting seed for authentification", + "msecs": 382.1532726287842, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1489.558458328247, + "relativeCreated": 6082.495450973511, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 382.42483139038086, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6082.767009735107, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0002715587615966797 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:17,383", + "created": 1609969757.3830373, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:17,382", + "created": 1609969757.3827193, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Server send Method): False ()", + "module": "test", + "msecs": 382.7192783355713, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6083.061456680298, + "stack_info": null, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:", - 0, - 1, - 0, + "Returnvalue of Server send Method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:17,382", + "created": 1609969757.382884, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Server send Method): result = False ()", + "module": "test", + "msecs": 382.88402557373047, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6083.226203918457, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 383.0373287200928, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6083.379507064819, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001533031463623047 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:17,383", + "created": 1609969757.3835526, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on client side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on client side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:17,383", + "created": 1609969757.383266, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on client side): None ()", + "module": "test", + "msecs": 383.2659721374512, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6083.608150482178, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on client side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:17,383", + "created": 1609969757.3834102, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on client side): result = None ()", + "module": "test", + "msecs": 383.4102153778076, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6083.752393722534, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 383.55255126953125, + "msg": "Received message on client side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6083.894729614258, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001423358917236328 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:17,490", + "created": 1609969757.4901412, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 182, + "message": "Performing Authentification", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed", + "status: okay", "None" ], - "asctime": "2020-12-26 10:11:44,799", - "created": 1608973904.799925, + "asctime": "2021-01-06 22:49:17,383", + "created": 1609969757.3838372, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 1, data_id: 0, data: \"None\"", + "lineno": 714, + "message": "SP client: TX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", "module": "__init__", - "msecs": 799.9250888824463, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 383.8372230529785, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1489.7208213806152, + "relativeCreated": 6084.179401397705, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:44,800", - "created": 1608973904.800294, + "asctime": "2021-01-06 22:49:17,384", + "created": 1609969757.3842354, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 9e 85 7b 8d", + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", "module": "test_helpers", - "msecs": 800.2939224243164, - "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 9e 85 7b 8d", + "msecs": 384.2353820800781, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1490.0896549224854, + "relativeCreated": 6084.577560424805, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:44,951", - "created": 1608973904.951343, + "asctime": "2021-01-06 22:49:17,384", + "created": 1609969757.384502, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 9e 85 7b 8d", + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", "module": "test_helpers", - "msecs": 951.3430595397949, - "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 9e 85 7b 8d", + "msecs": 384.5019340515137, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1641.1387920379639, + "relativeCreated": 6084.84411239624, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-5" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "1", - "0", + "SP server:", + "service: authentification request, data_id: seed", + "status: okay", "None" ], - "asctime": "2020-12-26 10:11:44,951", - "created": 1608973904.9517784, + "asctime": "2021-01-06 22:49:17,384", + "created": 1609969757.3848128, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 1, data_id: 0, data: \"None\"", + "lineno": 445, + "message": "SP server: RX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", "module": "__init__", - "msecs": 951.7784118652344, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 384.8128318786621, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1641.5741443634033, + "relativeCreated": 6085.155010223389, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-5" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", + "SP server:", "__authentificate_create_seed__" ], - "asctime": "2020-12-26 10:11:44,952", - "created": 1608973904.952005, + "asctime": "2021-01-06 22:49:17,385", + "created": 1609969757.385002, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback __authentificate_create_seed__ to process received data", + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_create_seed__ to process received data", "module": "__init__", - "msecs": 952.0049095153809, - "msg": "%s Executing callback %s to process received data", + "msecs": 385.00189781188965, + "msg": "%s RX <- Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1641.8006420135498, + "relativeCreated": 6085.344076156616, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-5" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: authentification response, data_id: seed", + "status: okay", + "'41f7a354bad5b87f222af96df7699c2ca907ea76a307ca31303b1ae2798f21b4'" ], - "asctime": "2020-12-26 10:11:44,952", - "created": 1608973904.9521606, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentificate_create_seed__", - "levelname": "INFO", - "levelno": 20, - "lineno": 482, - "message": " SP server: Got seed request, sending seed for authentification", - "module": "__init__", - "msecs": 952.1605968475342, - "msg": "%s Got seed request, sending seed for authentification", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1641.9563293457031, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-5" - }, - { - "args": [ - " SP server:", - 0, - 2, - 0, - "'20c0a07412777f13f1ae039c95f678598ff4ac31cd106b762df43c9c183171d9'" - ], - "asctime": "2020-12-26 10:11:44,952", - "created": 1608973904.9523602, + "asctime": "2021-01-06 22:49:17,385", + "created": 1609969757.3852332, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 2, data_id: 0, data: \"'20c0a07412777f13f1ae039c95f678598ff4ac31cd106b762df43c9c183171d9'\"", + "lineno": 714, + "message": "SP server: TX <- service: authentification response, data_id: seed, status: okay, data: \"'41f7a354bad5b87f222af96df7699c2ca907ea76a307ca31303b1ae2798f21b4'\"", "module": "__init__", - "msecs": 952.3601531982422, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 385.23316383361816, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1642.1558856964111, + "relativeCreated": 6085.575342178345, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-5" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:44,952", - "created": 1608973904.952876, + "asctime": "2021-01-06 22:49:17,385", + "created": 1609969757.3856778, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 32 30 63 30 61 30 37 34 31 32 37 37 37 66 31 33 66 31 61 65 30 33 39 63 39 35 66 36 37 38 35 39 38 66 66 34 61 63 33 31 63 64 31 30 36 62 37 36 32 64 66 34 33 63 39 63 31 38 33 31 37 31 64 39 22 7d d5 b1 e4 80", + "lineno": 73, + "message": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 31 66 37 61 33 35 34 62 61 64 35 62 38 37 66 32 32 32 61 66 39 36 64 66 37 36 39 39 63 32 63 61 39 30 37 65 61 37 36 61 33 30 37 63 61 33 31 33 30 33 62 31 61 65 32 37 39 38 66 32 31 62 34 22 7d 6d 22 3f b7", "module": "test_helpers", - "msecs": 952.876091003418, - "msg": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 32 30 63 30 61 30 37 34 31 32 37 37 37 66 31 33 66 31 61 65 30 33 39 63 39 35 66 36 37 38 35 39 38 66 66 34 61 63 33 31 63 64 31 30 36 62 37 36 32 64 66 34 33 63 39 63 31 38 33 31 37 31 64 39 22 7d d5 b1 e4 80", + "msecs": 385.6778144836426, + "msg": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 31 66 37 61 33 35 34 62 61 64 35 62 38 37 66 32 32 32 61 66 39 36 64 66 37 36 39 39 63 32 63 61 39 30 37 65 61 37 36 61 33 30 37 63 61 33 31 33 30 33 62 31 61 65 32 37 39 38 66 32 31 62 34 22 7d 6d 22 3f b7", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1642.671823501587, + "relativeCreated": 6086.019992828369, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-5" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:45,103", - "created": 1608973905.1039398, + "asctime": "2021-01-06 22:49:17,386", + "created": 1609969757.3860562, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 32 30 63 30 61 30 37 34 31 32 37 37 37 66 31 33 66 31 61 65 30 33 39 63 39 35 66 36 37 38 35 39 38 66 66 34 61 63 33 31 63 64 31 30 36 62 37 36 32 64 66 34 33 63 39 63 31 38 33 31 37 31 64 39 22 7d d5 b1 e4 80", + "lineno": 84, + "message": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 31 66 37 61 33 35 34 62 61 64 35 62 38 37 66 32 32 32 61 66 39 36 64 66 37 36 39 39 63 32 63 61 39 30 37 65 61 37 36 61 33 30 37 63 61 33 31 33 30 33 62 31 61 65 32 37 39 38 66 32 31 62 34 22 7d 6d 22 3f b7", "module": "test_helpers", - "msecs": 103.93977165222168, - "msg": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 32 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 32 30 63 30 61 30 37 34 31 32 37 37 37 66 31 33 66 31 61 65 30 33 39 63 39 35 66 36 37 38 35 39 38 66 66 34 61 63 33 31 63 64 31 30 36 62 37 36 32 64 66 34 33 63 39 63 31 38 33 31 37 31 64 39 22 7d d5 b1 e4 80", + "msecs": 386.05618476867676, + "msg": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 34 31 66 37 61 33 35 34 62 61 64 35 62 38 37 66 32 32 32 61 66 39 36 64 66 37 36 39 39 63 32 63 61 39 30 37 65 61 37 36 61 33 30 37 63 61 33 31 33 30 33 62 31 61 65 32 37 39 38 66 32 31 62 34 22 7d 6d 22 3f b7", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1793.7355041503906, + "relativeCreated": 6086.398363113403, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-6" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "2", - "0", - "'20c0a07412777f13f1ae039c95f678598ff4ac31cd106b762df43c9c183171d9'" + "SP client:", + "service: authentification response, data_id: seed", + "status: okay", + "'41f7a354bad5b87f222af96df7699c2ca907ea76a307ca31303b1ae2798f21b4'" ], - "asctime": "2020-12-26 10:11:45,104", - "created": 1608973905.104375, + "asctime": "2021-01-06 22:49:17,386", + "created": 1609969757.386342, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 2, data_id: 0, data: \"'20c0a07412777f13f1ae039c95f678598ff4ac31cd106b762df43c9c183171d9'\"", + "lineno": 445, + "message": "SP client: RX <- service: authentification response, data_id: seed, status: okay, data: \"'41f7a354bad5b87f222af96df7699c2ca907ea76a307ca31303b1ae2798f21b4'\"", "module": "__init__", - "msecs": 104.37488555908203, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 386.34204864501953, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1794.170618057251, + "relativeCreated": 6086.684226989746, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-6" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", + "SP client:", "__authentificate_create_key__" ], - "asctime": "2020-12-26 10:11:45,104", - "created": 1608973905.1046128, + "asctime": "2021-01-06 22:49:17,386", + "created": 1609969757.3865259, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback __authentificate_create_key__ to process received data", + "lineno": 478, + "message": "SP client: Executing callback __authentificate_create_key__ to process received data", "module": "__init__", - "msecs": 104.61282730102539, + "msecs": 386.52586936950684, "msg": "%s Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1794.4085597991943, + "relativeCreated": 6086.868047714233, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-6" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP client:", + "service: authentification request, data_id: key", + "status: okay", + "'6485a87794493911204e7f17d57cdcc3c043590ff6793a2f8b97c47c5c5da24f7cb1aa1b1fc4996a6224091528c4577fb9531128dfb829d214351bcc7eb46275'" ], - "asctime": "2020-12-26 10:11:45,104", - "created": 1608973905.1048074, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentificate_create_key__", - "levelname": "INFO", - "levelno": 20, - "lineno": 491, - "message": " SP server: Got seed, sending key for authentification", - "module": "__init__", - "msecs": 104.80737686157227, - "msg": "%s Got seed, sending key for authentification", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1794.6031093597412, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-6" - }, - { - "args": [ - " SP server:", - 0, - 3, - 0, - "'1561c9c70281318df82bf7e6deb57bd5be9eab1af3ce8e4d326381bfc092ba701a5af7ed0ae3c7a80176b6c4863366b1178435ae7c95160278fe39e2ef4b9c46'" - ], - "asctime": "2020-12-26 10:11:45,105", - "created": 1608973905.1050365, + "asctime": "2021-01-06 22:49:17,386", + "created": 1609969757.3867464, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 3, data_id: 0, data: \"'1561c9c70281318df82bf7e6deb57bd5be9eab1af3ce8e4d326381bfc092ba701a5af7ed0ae3c7a80176b6c4863366b1178435ae7c95160278fe39e2ef4b9c46'\"", + "lineno": 714, + "message": "SP client: TX <- service: authentification request, data_id: key, status: okay, data: \"'6485a87794493911204e7f17d57cdcc3c043590ff6793a2f8b97c47c5c5da24f7cb1aa1b1fc4996a6224091528c4577fb9531128dfb829d214351bcc7eb46275'\"", "module": "__init__", - "msecs": 105.03649711608887, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 386.7464065551758, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1794.8322296142578, + "relativeCreated": 6087.088584899902, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-6" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:45,105", - "created": 1608973905.105615, + "asctime": "2021-01-06 22:49:17,387", + "created": 1609969757.3873072, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 31 35 36 31 63 39 63 37 30 32 38 31 33 31 38 64 66 38 32 62 66 37 65 36 64 65 62 35 37 62 64 35 62 65 39 65 61 62 31 61 66 33 63 65 38 65 34 64 33 32 36 33 38 31 62 66 63 30 39 32 62 61 37 30 31 61 35 61 66 37 65 64 30 61 65 33 63 37 61 38 30 31 37 36 62 36 63 34 38 36 33 33 36 36 62 31 31 37 38 34 33 35 61 65 37 63 39 35 31 36 30 32 37 38 66 65 33 39 65 32 65 66 34 62 39 63 34 36 22 7d 35 c5 3a 5e", + "lineno": 73, + "message": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 36 34 38 35 61 38 37 37 39 34 34 39 33 39 31 31 32 30 34 65 37 66 31 37 64 35 37 63 64 63 63 33 63 30 34 33 35 39 30 66 66 36 37 39 33 61 32 66 38 62 39 37 63 34 37 63 35 63 35 64 61 32 34 66 37 63 62 31 61 61 31 62 31 66 63 34 39 39 36 61 36 32 32 34 30 39 31 35 32 38 63 34 35 37 37 66 62 39 35 33 31 31 32 38 64 66 62 38 32 39 64 32 31 34 33 35 31 62 63 63 37 65 62 34 36 32 37 35 22 7d 83 7d e8 6d", "module": "test_helpers", - "msecs": 105.61490058898926, - "msg": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 31 35 36 31 63 39 63 37 30 32 38 31 33 31 38 64 66 38 32 62 66 37 65 36 64 65 62 35 37 62 64 35 62 65 39 65 61 62 31 61 66 33 63 65 38 65 34 64 33 32 36 33 38 31 62 66 63 30 39 32 62 61 37 30 31 61 35 61 66 37 65 64 30 61 65 33 63 37 61 38 30 31 37 36 62 36 63 34 38 36 33 33 36 36 62 31 31 37 38 34 33 35 61 65 37 63 39 35 31 36 30 32 37 38 66 65 33 39 65 32 65 66 34 62 39 63 34 36 22 7d 35 c5 3a 5e", + "msecs": 387.30716705322266, + "msg": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 36 34 38 35 61 38 37 37 39 34 34 39 33 39 31 31 32 30 34 65 37 66 31 37 64 35 37 63 64 63 63 33 63 30 34 33 35 39 30 66 66 36 37 39 33 61 32 66 38 62 39 37 63 34 37 63 35 63 35 64 61 32 34 66 37 63 62 31 61 61 31 62 31 66 63 34 39 39 36 61 36 32 32 34 30 39 31 35 32 38 63 34 35 37 37 66 62 39 35 33 31 31 32 38 64 66 62 38 32 39 64 32 31 34 33 35 31 62 63 63 37 65 62 34 36 32 37 35 22 7d 83 7d e8 6d", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1795.4106330871582, + "relativeCreated": 6087.649345397949, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-6" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:45,256", - "created": 1608973905.2568314, + "asctime": "2021-01-06 22:49:17,387", + "created": 1609969757.3877575, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 31 35 36 31 63 39 63 37 30 32 38 31 33 31 38 64 66 38 32 62 66 37 65 36 64 65 62 35 37 62 64 35 62 65 39 65 61 62 31 61 66 33 63 65 38 65 34 64 33 32 36 33 38 31 62 66 63 30 39 32 62 61 37 30 31 61 35 61 66 37 65 64 30 61 65 33 63 37 61 38 30 31 37 36 62 36 63 34 38 36 33 33 36 36 62 31 31 37 38 34 33 35 61 65 37 63 39 35 31 36 30 32 37 38 66 65 33 39 65 32 65 66 34 62 39 63 34 36 22 7d 35 c5 3a 5e", + "lineno": 84, + "message": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 36 34 38 35 61 38 37 37 39 34 34 39 33 39 31 31 32 30 34 65 37 66 31 37 64 35 37 63 64 63 63 33 63 30 34 33 35 39 30 66 66 36 37 39 33 61 32 66 38 62 39 37 63 34 37 63 35 63 35 64 61 32 34 66 37 63 62 31 61 61 31 62 31 66 63 34 39 39 36 61 36 32 32 34 30 39 31 35 32 38 63 34 35 37 37 66 62 39 35 33 31 31 32 38 64 66 62 38 32 39 64 32 31 34 33 35 31 62 63 63 37 65 62 34 36 32 37 35 22 7d 83 7d e8 6d", "module": "test_helpers", - "msecs": 256.83140754699707, - "msg": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 33 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 31 35 36 31 63 39 63 37 30 32 38 31 33 31 38 64 66 38 32 62 66 37 65 36 64 65 62 35 37 62 64 35 62 65 39 65 61 62 31 61 66 33 63 65 38 65 34 64 33 32 36 33 38 31 62 66 63 30 39 32 62 61 37 30 31 61 35 61 66 37 65 64 30 61 65 33 63 37 61 38 30 31 37 36 62 36 63 34 38 36 33 33 36 36 62 31 31 37 38 34 33 35 61 65 37 63 39 35 31 36 30 32 37 38 66 65 33 39 65 32 65 66 34 62 39 63 34 36 22 7d 35 c5 3a 5e", + "msecs": 387.7575397491455, + "msg": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 36 34 38 35 61 38 37 37 39 34 34 39 33 39 31 31 32 30 34 65 37 66 31 37 64 35 37 63 64 63 63 33 63 30 34 33 35 39 30 66 66 36 37 39 33 61 32 66 38 62 39 37 63 34 37 63 35 63 35 64 61 32 34 66 37 63 62 31 61 61 31 62 31 66 63 34 39 39 36 61 36 32 32 34 30 39 31 35 32 38 63 34 35 37 37 66 62 39 35 33 31 31 32 38 64 66 62 38 32 39 64 32 31 34 33 35 31 62 63 63 37 65 62 34 36 32 37 35 22 7d 83 7d e8 6d", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1946.627140045166, + "relativeCreated": 6088.099718093872, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-7" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "3", - "0", - "'1561c9c70281318df82bf7e6deb57bd5be9eab1af3ce8e4d326381bfc092ba701a5af7ed0ae3c7a80176b6c4863366b1178435ae7c95160278fe39e2ef4b9c46'" + "SP server:", + "service: authentification request, data_id: key", + "status: okay", + "'6485a87794493911204e7f17d57cdcc3c043590ff6793a2f8b97c47c5c5da24f7cb1aa1b1fc4996a6224091528c4577fb9531128dfb829d214351bcc7eb46275'" ], - "asctime": "2020-12-26 10:11:45,257", - "created": 1608973905.2572436, + "asctime": "2021-01-06 22:49:17,388", + "created": 1609969757.3880339, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 3, data_id: 0, data: \"'1561c9c70281318df82bf7e6deb57bd5be9eab1af3ce8e4d326381bfc092ba701a5af7ed0ae3c7a80176b6c4863366b1178435ae7c95160278fe39e2ef4b9c46'\"", + "lineno": 445, + "message": "SP server: RX <- service: authentification request, data_id: key, status: okay, data: \"'6485a87794493911204e7f17d57cdcc3c043590ff6793a2f8b97c47c5c5da24f7cb1aa1b1fc4996a6224091528c4577fb9531128dfb829d214351bcc7eb46275'\"", "module": "__init__", - "msecs": 257.2436332702637, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 388.0338668823242, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1947.0393657684326, + "relativeCreated": 6088.376045227051, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-7" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", + "SP server:", "__authentificate_check_key__" ], - "asctime": "2020-12-26 10:11:45,257", - "created": 1608973905.2574754, + "asctime": "2021-01-06 22:49:17,388", + "created": 1609969757.3882294, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback __authentificate_check_key__ to process received data", + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_check_key__ to process received data", "module": "__init__", - "msecs": 257.4753761291504, - "msg": "%s Executing callback %s to process received data", + "msecs": 388.2293701171875, + "msg": "%s RX <- Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1947.2711086273193, + "relativeCreated": 6088.571548461914, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-7" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:45,257", - "created": 1608973905.257991, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentificate_check_key__", - "levelname": "INFO", - "levelno": 20, - "lineno": 501, - "message": " SP server: Got correct key, sending positive authentification feedback", - "module": "__init__", - "msecs": 257.99107551574707, - "msg": "%s Got correct key, sending positive authentification feedback", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1947.786808013916, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-7" - }, - { - "args": [ - " SP server:", - 0, - 4, - 0, + "SP server:", + "service: authentification response, data_id: key", + "status: okay", "True" ], - "asctime": "2020-12-26 10:11:45,258", - "created": 1608973905.2581904, + "asctime": "2021-01-06 22:49:17,388", + "created": 1609969757.3884528, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 4, data_id: 0, data: \"True\"", + "lineno": 714, + "message": "SP server: TX <- service: authentification response, data_id: key, status: okay, data: \"True\"", "module": "__init__", - "msecs": 258.190393447876, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 388.45276832580566, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1947.986125946045, + "relativeCreated": 6088.794946670532, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-7" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:45,258", - "created": 1608973905.2585523, + "asctime": "2021-01-06 22:49:17,388", + "created": 1609969757.388794, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d df 5e 54 54", + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", "module": "test_helpers", - "msecs": 258.55231285095215, - "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d df 5e 54 54", + "msecs": 388.7939453125, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 1948.348045349121, + "relativeCreated": 6089.136123657227, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-7" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:45,409", - "created": 1608973905.4094331, + "asctime": "2021-01-06 22:49:17,389", + "created": 1609969757.3890455, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d df 5e 54 54", + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", "module": "test_helpers", - "msecs": 409.43312644958496, - "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 34 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d df 5e 54 54", + "msecs": 389.04547691345215, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2099.228858947754, + "relativeCreated": 6089.387655258179, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-8" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "4", - "0", + "SP client:", + "service: authentification response, data_id: key", + "status: okay", "True" ], - "asctime": "2020-12-26 10:11:45,409", - "created": 1608973905.4098709, + "asctime": "2021-01-06 22:49:17,389", + "created": 1609969757.389311, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 4, data_id: 0, data: \"True\"", + "lineno": 445, + "message": "SP client: RX <- service: authentification response, data_id: key, status: okay, data: \"True\"", "module": "__init__", - "msecs": 409.87086296081543, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 389.3110752105713, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2099.6665954589844, + "relativeCreated": 6089.653253555298, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-8" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", + "SP client:", "__authentificate_process_feedback__" ], - "asctime": "2020-12-26 10:11:45,410", - "created": 1608973905.410086, + "asctime": "2021-01-06 22:49:17,389", + "created": 1609969757.3894837, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "DEBUG", "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback __authentificate_process_feedback__ to process received data", + "lineno": 478, + "message": "SP client: Executing callback __authentificate_process_feedback__ to process received data", "module": "__init__", - "msecs": 410.08591651916504, + "msecs": 389.4836902618408, "msg": "%s Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2099.881649017334, + "relativeCreated": 6089.825868606567, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-8" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP client:" ], - "asctime": "2020-12-26 10:11:45,410", - "created": 1608973905.4102838, + "asctime": "2021-01-06 22:49:17,389", + "created": 1609969757.3896303, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__authentificate_process_feedback__", "levelname": "INFO", "levelno": 20, - "lineno": 512, - "message": " SP server: Got positive authentification feedback", + "lineno": 350, + "message": "SP client: Got positive authentification feedback", "module": "__init__", - "msecs": 410.28380393981934, + "msecs": 389.6303176879883, "msg": "%s Got positive authentification feedback", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2100.0795364379883, + "relativeCreated": 6089.972496032715, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-8" - }, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 490.1411533355713, + "msg": "Performing Authentification", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6190.483331680298, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10051083564758301 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:17,592", + "created": 1609969757.5925245, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 185, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ { "args": [ - " SP server:", - 0, - 10, - 45054, - "{'test': 'test'}" + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:45,502", - "created": 1608973905.5028813, + "asctime": "2021-01-06 22:49:17,490", + "created": 1609969757.4906483, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", + "lineno": 714, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", "module": "__init__", - "msecs": 502.8812885284424, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 490.6482696533203, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2192.6770210266113, + "relativeCreated": 6190.990447998047, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:45,503", - "created": 1608973905.5034564, + "asctime": "2021-01-06 22:49:17,491", + "created": 1609969757.4911463, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", "module": "test_helpers", - "msecs": 503.45635414123535, - "msg": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "msecs": 491.1463260650635, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2193.2520866394043, + "relativeCreated": 6191.48850440979, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:45,654", - "created": 1608973905.6544788, + "asctime": "2021-01-06 22:49:17,491", + "created": 1609969757.4914622, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", "module": "test_helpers", - "msecs": 654.4787883758545, - "msg": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", + "msecs": 491.46223068237305, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2344.2745208740234, + "relativeCreated": 6191.8044090271, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-9" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "10", - "45054", - "{'test': 'test'}" + "SP server:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" ], - "asctime": "2020-12-26 10:11:45,654", - "created": 1608973905.6548939, + "asctime": "2021-01-06 22:49:17,491", + "created": 1609969757.4917758, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", + "lineno": 445, + "message": "SP server: RX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", "module": "__init__", - "msecs": 654.8938751220703, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 491.7757511138916, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2344.6896076202393, + "relativeCreated": 6192.117929458618, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-9" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "response_data_method" + "SP server:" ], - "asctime": "2020-12-26 10:11:45,655", - "created": 1608973905.6551368, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", - "module": "__init__", - "msecs": 655.1368236541748, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2344.9325561523438, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-9" - }, - { - "args": [ - " SP server:", - 5, - 11, - 45054, - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:45,655", - "created": 1608973905.6553154, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 655.3153991699219, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2345.111131668091, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-9" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:45,655", - "created": 1608973905.6557012, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 60 f8 dc 89", - "module": "test_helpers", - "msecs": 655.7011604309082, - "msg": "Send data: (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 60 f8 dc 89", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2345.496892929077, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-9" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:45,806", - "created": 1608973905.8066835, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 60 f8 dc 89", - "module": "test_helpers", - "msecs": 806.6835403442383, - "msg": "Receive data (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 60 f8 dc 89", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2496.479272842407, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-10" - }, - { - "args": [ - " SP server:", - "5", - "11", - "45054", - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:45,807", - "created": 1608973905.8071256, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 807.1255683898926, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2496.9213008880615, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-10" - }, - { - "args": [ - " SP server:", - "Operation not permitted" - ], - "asctime": "2020-12-26 10:11:45,807", - "created": 1608973905.8073664, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", - "module": "__init__", - "msecs": 807.3663711547852, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2497.162103652954, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-10" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:45,807", - "created": 1608973905.8075545, + "asctime": "2021-01-06 22:49:17,492", + "created": 1609969757.492011, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__buffer_received_data__", "levelname": "DEBUG", "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "lineno": 375, + "message": "SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", "module": "__init__", - "msecs": 807.5544834136963, + "msecs": 492.01107025146484, "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2497.3502159118652, + "relativeCreated": 6192.353248596191, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-10" + "thread": 140247539738432, + "threadName": "MainThread" } ], - "msecs": 5.524158477783203, - "msg": "Send and received data by pure_json_protocol.", + "msecs": 592.524528503418, + "msg": "Transfering a message client -> server", "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260919, + "pathname": "src/tests/test_communication.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2695.319890975952, + "relativeCreated": 6292.8667068481445, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.19796967506408691 + "time_consumption": 0.10051345825195312 }, { "args": [ "True", "" ], - "asctime": "2020-12-26 10:11:46,006", - "created": 1608973906.0063574, + "asctime": "2021-01-06 22:49:17,593", + "created": 1609969757.5932796, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of authentification is correct (Content True and Type is ).", + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of authentification", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:46,005", - "created": 1608973906.005994, + "asctime": "2021-01-06 22:49:17,592", + "created": 1609969757.5929399, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -25678,27 +62858,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of authentification): True ()", + "message": "Result (Returnvalue of Client send Method): True ()", "module": "test", - "msecs": 5.994081497192383, + "msecs": 592.9398536682129, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2695.7898139953613, + "relativeCreated": 6293.282032012939, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return value of authentification", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:46,006", - "created": 1608973906.0061975, + "asctime": "2021-01-06 22:49:17,593", + "created": 1609969757.5931187, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -25706,57 +62886,329 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of authentification): result = True ()", + "message": "Expectation (Returnvalue of Client send Method): result = True ()", "module": "test", - "msecs": 6.197452545166016, + "msecs": 593.1186676025391, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2695.993185043335, + "relativeCreated": 6293.460845947266, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 6.357431411743164, - "msg": "Return value of authentification is correct (Content %s and Type is %s).", + "msecs": 593.2796001434326, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2696.153163909912, + "relativeCreated": 6293.621778488159, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.00015997886657714844 + "time_consumption": 0.0001609325408935547 + }, + { + "args": [ + "{'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:17,593", + "created": 1609969757.593909, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content {'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "{'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:17,593", + "created": 1609969757.5935483, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): {'data_id': 34, 'service_id': 17, 'status': 0, 'data': 'msg1_data_to_be_transfered'} ()", + "module": "test", + "msecs": 593.5482978820801, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6293.890476226807, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "{'service_id': 17, 'data_id': 34, 'status': 0, 'data': 'msg1_data_to_be_transfered'}", + "" + ], + "asctime": "2021-01-06 22:49:17,593", + "created": 1609969757.5937066, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = {'service_id': 17, 'data_id': 34, 'status': 0, 'data': 'msg1_data_to_be_transfered'} ()", + "module": "test", + "msecs": 593.7066078186035, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6294.04878616333, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 593.9090251922607, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6294.251203536987, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00020241737365722656 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:17,696", + "created": 1609969757.696103, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "blocked_communication_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 191, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:17,594", + "created": 1609969757.5941975, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 594.1975116729736, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6294.5396900177, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:17,594", + "created": 1609969757.594642, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "module": "test_helpers", + "msecs": 594.641923904419, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6294.9841022491455, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:17,594", + "created": 1609969757.5949416, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "module": "test_helpers", + "msecs": 594.9416160583496, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6295.283794403076, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:17,595", + "created": 1609969757.5952296, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 595.2296257019043, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6295.571804046631, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: service or data unknown" + ], + "asctime": "2021-01-06 22:49:17,595", + "created": 1609969757.5953984, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: service or data unknown", + "module": "__init__", + "msecs": 595.3984260559082, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6295.740604400635, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:17,595", + "created": 1609969757.5956028, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 595.6027507781982, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6295.944929122925, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 696.1030960083008, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 6396.445274353027, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10050034523010254 }, { "args": [ "True", "" ], - "asctime": "2020-12-26 10:11:46,006", - "created": 1608973906.0068693, + "asctime": "2021-01-06 22:49:17,696", + "created": 1609969757.6968763, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of send method", + "Returnvalue of Server send Method", "True", "" ], - "asctime": "2020-12-26 10:11:46,006", - "created": 1608973906.006587, + "asctime": "2021-01-06 22:49:17,696", + "created": 1609969757.6965334, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -25764,27 +63216,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of send method): True ()", + "message": "Result (Returnvalue of Server send Method): True ()", "module": "test", - "msecs": 6.587028503417969, + "msecs": 696.5334415435791, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2696.382761001587, + "relativeCreated": 6396.875619888306, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return value of send method", + "Returnvalue of Server send Method", "True", "" ], - "asctime": "2020-12-26 10:11:46,006", - "created": 1608973906.006732, + "asctime": "2021-01-06 22:49:17,696", + "created": 1609969757.696714, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -25792,57 +63244,57 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", + "message": "Expectation (Returnvalue of Server send Method): result = True ()", "module": "test", - "msecs": 6.731986999511719, + "msecs": 696.713924407959, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2696.5277194976807, + "relativeCreated": 6397.056102752686, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 6.869316101074219, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "msecs": 696.8762874603271, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2696.665048599243, + "relativeCreated": 6397.218465805054, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.0001373291015625 + "time_consumption": 0.00016236305236816406 }, { "args": [ - "0", - "" + "{'data_id': 35, 'service_id': 17, 'status': 4, 'data': 'msg2_data_to_be_transfered'}", + "" ], - "asctime": "2020-12-26 10:11:46,007", - "created": 1608973906.0073588, + "asctime": "2021-01-06 22:49:17,697", + "created": 1609969757.6974525, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via pure_json_protocol is correct (Content 0 and Type is ).", + "lineno": 144, + "message": "Received message on client side is correct (Content {'data_id': 35, 'service_id': 17, 'status': 4, 'data': 'msg2_data_to_be_transfered'} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" + "Received message on client side", + "{'data_id': 35, 'service_id': 17, 'status': 4, 'data': 'msg2_data_to_be_transfered'}", + "" ], - "asctime": "2020-12-26 10:11:46,007", - "created": 1608973906.0070848, + "asctime": "2021-01-06 22:49:17,697", + "created": 1609969757.6971233, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -25850,27 +63302,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Request Status (Okay) transfered via pure_json_protocol): 0 ()", + "message": "Result (Received message on client side): {'data_id': 35, 'service_id': 17, 'status': 4, 'data': 'msg2_data_to_be_transfered'} ()", "module": "test", - "msecs": 7.084846496582031, + "msecs": 697.1232891082764, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2696.880578994751, + "relativeCreated": 6397.465467453003, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" + "Received message on client side", + "{'service_id': 17, 'data_id': 35, 'status': 4, 'data': 'msg2_data_to_be_transfered'}", + "" ], - "asctime": "2020-12-26 10:11:46,007", - "created": 1608973906.0072236, + "asctime": "2021-01-06 22:49:17,697", + "created": 1609969757.697279, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -25878,3940 +63330,1570 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via pure_json_protocol): result = 0 ()", + "message": "Expectation (Received message on client side): result = {'service_id': 17, 'data_id': 35, 'status': 4, 'data': 'msg2_data_to_be_transfered'} ()", "module": "test", - "msecs": 7.223606109619141, + "msecs": 697.2789764404297, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2697.019338607788, + "relativeCreated": 6397.621154785156, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 7.358789443969727, - "msg": "Request Status (Okay) transfered via pure_json_protocol is correct (Content %s and Type is %s).", + "msecs": 697.4525451660156, + "msg": "Received message on client side is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2697.1545219421387, + "relativeCreated": 6397.794723510742, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.00013518333435058594 - }, - { - "args": [ - "{'test': 'test'}", - "" - ], - "asctime": "2020-12-26 10:11:46,007", - "created": 1608973906.0079117, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via pure_json_protocol is correct (Content {'test': 'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:46,007", - "created": 1608973906.0075855, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via pure_json_protocol): { 'test': 'test' } ()", - "module": "test", - "msecs": 7.5855255126953125, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2697.3812580108643, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:46,007", - "created": 1608973906.0077338, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via pure_json_protocol): result = { 'test': 'test' } ()", - "module": "test", - "msecs": 7.733821868896484, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2697.5295543670654, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 7.91168212890625, - "msg": "Request Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2697.707414627075, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00017786026000976562 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:46,008", - "created": 1608973906.0084374, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:46,008", - "created": 1608973906.0081487, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via pure_json_protocol): 5 ()", - "module": "test", - "msecs": 8.148670196533203, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2697.944402694702, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:46,008", - "created": 1608973906.0082998, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via pure_json_protocol): result = 5 ()", - "module": "test", - "msecs": 8.299827575683594, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2698.0955600738525, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 8.437395095825195, - "msg": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2698.233127593994, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00013756752014160156 - }, - { - "args": [ - "[1, 3, 's']", - "" - ], - "asctime": "2020-12-26 10:11:46,009", - "created": 1608973906.0090501, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via pure_json_protocol is correct (Content [1, 3, 's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:46,008", - "created": 1608973906.0086665, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via pure_json_protocol): [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 8.666515350341797, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2698.4622478485107, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:46,008", - "created": 1608973906.0088587, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via pure_json_protocol): result = [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 8.858680725097656, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2698.6544132232666, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 9.050130844116211, - "msg": "Response Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2698.845863342285, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001914501190185547 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:46,110", - "created": 1608973906.110308, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:46,109", - "created": 1608973906.1096473, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 109.64727401733398, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2799.443006515503, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:46,109", - "created": 1608973906.1099706, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 109.9705696105957, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2799.7663021087646, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:46,110", - "created": 1608973906.1101522, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 110.1522445678711, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2799.94797706604, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 110.30793190002441, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2800.1036643981934, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001556873321533203 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:46,211", - "created": 1608973906.2115884, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:46,210", - "created": 1608973906.2109323, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 210.93225479125977, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2900.7279872894287, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:46,211", - "created": 1608973906.2112288, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 211.2288475036621, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2901.024580001831, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:46,211", - "created": 1608973906.211396, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 211.3959789276123, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2901.1917114257812, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 211.58838272094727, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2901.384115219116, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00019240379333496094 + "time_consumption": 0.0001735687255859375 } ], - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 1.4133920669555664, - "time_finished": "2020-12-26 10:11:46,211", - "time_start": "2020-12-26 10:11:44,798" + "time_consumption": 1.3342185020446777, + "time_finished": "2021-01-06 22:49:17,697", + "time_start": "2021-01-06 22:49:16,363" }, - "socket_protocol.pure_json_protocol: Send and receive check.": { + "_Tb-78E4LEeupHeIYRnC0qw": { "args": null, - "asctime": "2020-12-26 10:11:44,087", - "created": 1608973904.0878015, + "asctime": "2021-01-06 22:49:23,505", + "created": 1609969763.5054047, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "testrun", "levelname": "INFO", "levelno": 20, - "lineno": 27, - "message": "socket_protocol.pure_json_protocol: Send and receive check.", + "lineno": 46, + "message": "_Tb-78E4LEeupHeIYRnC0qw", "module": "__init__", "moduleLogger": [], - "msecs": 87.80145645141602, - "msg": "socket_protocol.pure_json_protocol: Send and receive check.", + "msecs": 505.4047107696533, + "msg": "_Tb-78E4LEeupHeIYRnC0qw", "name": "__tLogger__", "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 777.597188949585, + "relativeCreated": 12205.74688911438, "stack_info": null, "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:44,592", - "created": 1608973904.5920641, + "asctime": "2021-01-06 22:49:23,512", + "created": 1609969763.5122588, "exc_info": null, "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "send_n_receive", + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", "levelname": "DEBUG", "levelno": 10, - "lineno": 42, - "message": "Send and received data by pure_json_protocol.", - "module": "test_normal_operation", + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", "moduleLogger": [ { "args": [ - " SP server:" + "SP server:" ], - "asctime": "2020-12-26 10:11:44,088", - "created": 1608973904.0881982, + "asctime": "2021-01-06 22:49:23,505", + "created": 1609969763.505842, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 88.19818496704102, + "msecs": 505.8419704437256, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 777.99391746521, + "relativeCreated": 12206.184148788452, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:44,088", - "created": 1608973904.088576, + "asctime": "2021-01-06 22:49:23,506", + "created": 1609969763.5060377, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 88.57607841491699, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 778.3718109130859, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:44,088", - "created": 1608973904.0888987, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", + "funcName": "add_service", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", "module": "__init__", - "msecs": 88.8986587524414, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", + "msecs": 506.03771209716797, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 778.6943912506104, + "relativeCreated": 12206.379890441895, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: authentification request, data_id: seed" ], - "asctime": "2020-12-26 10:11:44,089", - "created": 1608973904.0892262, + "asctime": "2021-01-06 22:49:23,506", + "created": 1609969763.5062554, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", "module": "__init__", - "msecs": 89.22624588012695, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", + "msecs": 506.2553882598877, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 779.0219783782959, + "relativeCreated": 12206.597566604614, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:", - 0, - 10, - 45054, - "{'test': 'test'}" + "SP server:", + "service: authentification response, data_id: seed" ], - "asctime": "2020-12-26 10:11:44,089", - "created": 1608973904.0894809, + "asctime": "2021-01-06 22:49:23,506", + "created": 1609969763.5064123, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", "module": "__init__", - "msecs": 89.48087692260742, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", + "msecs": 506.4122676849365, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 779.2766094207764, + "relativeCreated": 12206.754446029663, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, - { - "args": [], - "asctime": "2020-12-26 10:11:44,089", - "created": 1608973904.0899503, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", - "module": "test_helpers", - "msecs": 89.9503231048584, - "msg": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 779.7460556030273, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:44,240", - "created": 1608973904.2409513, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", - "module": "test_helpers", - "msecs": 240.9512996673584, - "msg": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d 82 1c 8b 89", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 930.7470321655273, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-3" - }, { "args": [ - " SP server:", + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,506", + "created": 1609969763.5065603, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 506.5603256225586, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12206.902503967285, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,506", + "created": 1609969763.5067058, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 506.70576095581055, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12207.047939300537, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", "0", - "10", - "45054", - "{'test': 'test'}" - ], - "asctime": "2020-12-26 10:11:44,241", - "created": 1608973904.2413967, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", - "module": "__init__", - "msecs": 241.39666557312012, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 931.1923980712891, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-3" - }, - { - "args": [ - " SP server:", - "response_data_method" - ], - "asctime": "2020-12-26 10:11:44,241", - "created": 1608973904.2416146, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", - "module": "__init__", - "msecs": 241.61458015441895, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 931.4103126525879, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-3" - }, - { - "args": [ - " SP server:", - 5, - 11, - 45054, - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:44,241", - "created": 1608973904.2417934, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 241.79339408874512, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 931.5891265869141, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-3" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:44,242", - "created": 1608973904.242179, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 60 f8 dc 89", - "module": "test_helpers", - "msecs": 242.17891693115234, - "msg": "Send data: (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 60 f8 dc 89", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 931.9746494293213, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-3" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:44,393", - "created": 1608973904.393137, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 60 f8 dc 89", - "module": "test_helpers", - "msecs": 393.13697814941406, - "msg": "Receive data (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 35 30 35 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 60 f8 dc 89", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1082.932710647583, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-4" - }, - { - "args": [ - " SP server:", - "5", - "11", - "45054", - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:44,393", - "created": 1608973904.3935678, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 393.5678005218506, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1083.3635330200195, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-4" - }, - { - "args": [ - " SP server:", - "Operation not permitted" - ], - "asctime": "2020-12-26 10:11:44,393", - "created": 1608973904.3938062, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", - "module": "__init__", - "msecs": 393.80621910095215, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1083.601951599121, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-4" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:44,394", - "created": 1608973904.3940127, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__buffer_received_data__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", - "module": "__init__", - "msecs": 394.0126895904541, - "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1083.808422088623, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-4" - } - ], - "msecs": 592.0641422271729, - "msg": "Send and received data by pure_json_protocol.", - "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1281.8598747253418, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.19805145263671875 - }, - { - "args": [ - "True", - "" - ], - "asctime": "2020-12-26 10:11:44,592", - "created": 1608973904.5928795, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:44,592", - "created": 1608973904.5924969, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return value of send method): True ()", - "module": "test", - "msecs": 592.4968719482422, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1282.2926044464111, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:44,592", - "created": 1608973904.5926776, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", - "module": "test", - "msecs": 592.6775932312012, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1282.4733257293701, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 592.8795337677002, - "msg": "Return value of send method is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1282.6752662658691, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00020194053649902344 - }, - { - "args": [ - "0", - "" - ], - "asctime": "2020-12-26 10:11:44,593", - "created": 1608973904.5934298, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via pure_json_protocol is correct (Content 0 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:44,593", - "created": 1608973904.5931454, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Status (Okay) transfered via pure_json_protocol): 0 ()", - "module": "test", - "msecs": 593.1453704833984, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1282.9411029815674, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:44,593", - "created": 1608973904.593293, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via pure_json_protocol): result = 0 ()", - "module": "test", - "msecs": 593.2929515838623, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1283.0886840820312, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 593.4298038482666, - "msg": "Request Status (Okay) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1283.2255363464355, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00013685226440429688 - }, - { - "args": [ - "{'test': 'test'}", - "" - ], - "asctime": "2020-12-26 10:11:44,593", - "created": 1608973904.5939884, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via pure_json_protocol is correct (Content {'test': 'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:44,593", - "created": 1608973904.5936637, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via pure_json_protocol): { 'test': 'test' } ()", - "module": "test", - "msecs": 593.6636924743652, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1283.4594249725342, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:44,593", - "created": 1608973904.5938141, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via pure_json_protocol): result = { 'test': 'test' } ()", - "module": "test", - "msecs": 593.8141345977783, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1283.6098670959473, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 593.9884185791016, - "msg": "Request Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1283.7841510772705, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001742839813232422 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:44,594", - "created": 1608973904.594509, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:44,594", - "created": 1608973904.5942106, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via pure_json_protocol): 5 ()", - "module": "test", - "msecs": 594.2106246948242, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1284.0063571929932, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:44,594", - "created": 1608973904.5943608, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via pure_json_protocol): result = 5 ()", - "module": "test", - "msecs": 594.3608283996582, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1284.1565608978271, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 594.5088863372803, - "msg": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1284.3046188354492, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001480579376220703 - }, - { - "args": [ - "[1, 3, 's']", - "" - ], - "asctime": "2020-12-26 10:11:44,595", - "created": 1608973904.5951004, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via pure_json_protocol is correct (Content [1, 3, 's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:44,594", - "created": 1608973904.5947483, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via pure_json_protocol): [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 594.7482585906982, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1284.5439910888672, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:44,594", - "created": 1608973904.5949106, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via pure_json_protocol): result = [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 594.9106216430664, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1284.7063541412354, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 595.1004028320312, - "msg": "Response Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1284.8961353302002, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00018978118896484375 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:44,696", - "created": 1608973904.6963015, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:44,695", - "created": 1608973904.6956017, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 695.6017017364502, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1385.3974342346191, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:44,695", - "created": 1608973904.695918, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 695.918083190918, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1385.713815689087, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:44,696", - "created": 1608973904.696116, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 696.1159706115723, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1385.9117031097412, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 696.3014602661133, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1386.0971927642822, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00018548965454101562 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:44,797", - "created": 1608973904.7976484, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:44,796", - "created": 1608973904.7969959, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 796.9958782196045, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1486.7916107177734, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:44,797", - "created": 1608973904.7973142, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 797.3141670227051, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1487.109899520874, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:44,797", - "created": 1608973904.7974854, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 797.4853515625, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1487.281084060669, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 797.6484298706055, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 1487.4441623687744, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00016307830810546875 - } - ], - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.7098469734191895, - "time_finished": "2020-12-26 10:11:44,797", - "time_start": "2020-12-26 10:11:44,087" - }, - "socket_protocol.pure_json_protocol: Timeout measurement for authentification and send method.": { - "args": null, - "asctime": "2020-12-26 10:11:50,777", - "created": 1608973910.7771187, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 38, - "message": "socket_protocol.pure_json_protocol: Timeout measurement for authentification and send method.", - "module": "__init__", - "moduleLogger": [], - "msecs": 777.1186828613281, - "msg": "socket_protocol.pure_json_protocol: Timeout measurement for authentification and send method.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7466.914415359497, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "0.20149755477905273", - "0.2", - "0.22000000000000003", - "" - ], - "asctime": "2020-12-26 10:11:50,981", - "created": 1608973910.9810126, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "range_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 218, - "message": "Timeout for authentification is correct (Content 0.20149755477905273 in [0.2 ... 0.22000000000000003] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:50,777", - "created": 1608973910.777525, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 777.5249481201172, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7467.320680618286, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:50,777", - "created": 1608973910.7779686, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 777.9686450958252, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7467.764377593994, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:50,778", - "created": 1608973910.778309, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 778.3091068267822, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7468.104839324951, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:50,778", - "created": 1608973910.7787023, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 778.7022590637207, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7468.49799156189, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:50,778", - "created": 1608973910.7789307, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "authentificate", - "levelname": "INFO", - "levelno": 20, - "lineno": 456, - "message": " SP server: Requesting seed for authentification", - "module": "__init__", - "msecs": 778.9306640625, - "msg": "%s Requesting seed for authentification", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7468.726396560669, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 1, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:50,779", - "created": 1608973910.7791314, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 1, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 779.1314125061035, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7468.9271450042725, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:50,779", - "created": 1608973910.7796562, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 9e 85 7b 8d", - "module": "test_helpers", - "msecs": 779.656171798706, - "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 9e 85 7b 8d", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7469.451904296875, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Timeout for authentification", - "0.20149755477905273", - "" - ], - "asctime": "2020-12-26 10:11:50,980", - "created": 1608973910.9804895, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Timeout for authentification): 0.20149755477905273 ()", - "module": "test", - "msecs": 980.4894924163818, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7670.285224914551, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Timeout for authentification", - "0.2", - "0.22000000000000003" - ], - "asctime": "2020-12-26 10:11:50,980", - "created": 1608973910.9807968, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_range__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 30, - "message": "Expectation (Timeout for authentification): 0.2 <= result <= 0.22000000000000003", - "module": "test", - "msecs": 980.7968139648438, - "msg": "Expectation (%s): %s <= result <= %s", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7670.592546463013, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 981.0125827789307, - "msg": "Timeout for authentification is correct (Content %s in [%s ... %s] and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7670.8083152771, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00021576881408691406 - }, - { - "args": [ - "0.5021364688873291", - "0.5", - "0.55", - "" - ], - "asctime": "2020-12-26 10:11:51,483", - "created": 1608973911.4839575, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "range_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 218, - "message": "Timeout for authentification is correct (Content 0.5021364688873291 in [0.5 ... 0.55] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:50,981", - "created": 1608973910.9813147, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "authentificate", - "levelname": "INFO", - "levelno": 20, - "lineno": 456, - "message": " SP server: Requesting seed for authentification", - "module": "__init__", - "msecs": 981.3146591186523, - "msg": "%s Requesting seed for authentification", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7671.110391616821, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 1, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:50,981", - "created": 1608973910.9814918, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 1, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 981.4918041229248, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7671.287536621094, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:50,981", - "created": 1608973910.9818816, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 9e 85 7b 8d", - "module": "test_helpers", - "msecs": 981.8816184997559, - "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 9e 85 7b 8d", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 7671.677350997925, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Timeout for authentification", - "0.5021364688873291", - "" - ], - "asctime": "2020-12-26 10:11:51,483", - "created": 1608973911.4835036, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Timeout for authentification): 0.5021364688873291 ()", - "module": "test", - "msecs": 483.5035800933838, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 8173.299312591553, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Timeout for authentification", - "0.5", - "0.55" - ], - "asctime": "2020-12-26 10:11:51,483", - "created": 1608973911.4837768, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_range__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 30, - "message": "Expectation (Timeout for authentification): 0.5 <= result <= 0.55", - "module": "test", - "msecs": 483.7768077850342, - "msg": "Expectation (%s): %s <= result <= %s", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 8173.572540283203, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 483.95752906799316, - "msg": "Timeout for authentification is correct (Content %s in [%s ... %s] and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 8173.753261566162, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00018072128295898438 - }, - { - "args": [ - "0.20085549354553223", - "0.2", - "0.22000000000000003", - "" - ], - "asctime": "2020-12-26 10:11:51,685", - "created": 1608973911.6854582, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "range_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 218, - "message": "Timeout for send method is correct (Content 0.20085549354553223 in [0.2 ... 0.22000000000000003] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.2", - "30", "0" ], - "asctime": "2020-12-26 10:11:51,684", - "created": 1608973911.6848147, + "asctime": "2021-01-06 22:49:23,506", + "created": 1609969763.5068655, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.2s): Requested data (service_id: 30; data_id: 0) not in buffer.", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", "module": "__init__", - "msecs": 684.8146915435791, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "msecs": 506.8655014038086, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 8374.610424041748, + "relativeCreated": 12207.207679748535, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Timeout for send method", - "0.20085549354553223", - "" - ], - "asctime": "2020-12-26 10:11:51,685", - "created": 1608973911.6851187, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Timeout for send method): 0.20085549354553223 ()", - "module": "test", - "msecs": 685.1186752319336, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 8374.914407730103, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Timeout for send method", - "0.2", - "0.22000000000000003" - ], - "asctime": "2020-12-26 10:11:51,685", - "created": 1608973911.6852944, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_range__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 30, - "message": "Expectation (Timeout for send method): 0.2 <= result <= 0.22000000000000003", - "module": "test", - "msecs": 685.2943897247314, - "msg": "Expectation (%s): %s <= result <= %s", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 8375.0901222229, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 685.4581832885742, - "msg": "Timeout for send method is correct (Content %s in [%s ... %s] and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 8375.253915786743, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00016379356384277344 - }, - { - "args": [ - "0.5018312931060791", - "0.5", - "0.55", - "" - ], - "asctime": "2020-12-26 10:11:52,187", - "created": 1608973912.1879427, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "range_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 218, - "message": "Timeout for send method is correct (Content 0.5018312931060791 in [0.5 ... 0.55] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.5", - "30", + "SP server:", + "'__authentificate_create_key__'", + "1", "0" ], - "asctime": "2020-12-26 10:11:52,187", - "created": 1608973912.1872766, + "asctime": "2021-01-06 22:49:23,507", + "created": 1609969763.5070264, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.5s): Requested data (service_id: 30; data_id: 0) not in buffer.", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", "module": "__init__", - "msecs": 187.27660179138184, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "msecs": 507.02643394470215, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 8877.07233428955, + "relativeCreated": 12207.368612289429, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Timeout for send method", - "0.5018312931060791", - "" + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" ], - "asctime": "2020-12-26 10:11:52,187", - "created": 1608973912.1876035, + "asctime": "2021-01-06 22:49:23,507", + "created": 1609969763.5071836, "exc_info": null, "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", + "filename": "__init__.py", + "funcName": "add", "levelname": "DEBUG", "levelno": 10, - "lineno": 22, - "message": "Result (Timeout for send method): 0.5018312931060791 ()", - "module": "test", - "msecs": 187.60347366333008, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 507.1835517883301, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 8877.399206161499, + "relativeCreated": 12207.525730133057, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Timeout for send method", - "0.5", - "0.55" + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" ], - "asctime": "2020-12-26 10:11:52,187", - "created": 1608973912.1877785, + "asctime": "2021-01-06 22:49:23,507", + "created": 1609969763.5073395, "exc_info": null, "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_range__", + "filename": "__init__.py", + "funcName": "add", "levelname": "DEBUG", "levelno": 10, - "lineno": 30, - "message": "Expectation (Timeout for send method): 0.5 <= result <= 0.55", - "module": "test", - "msecs": 187.77847290039062, - "msg": "Expectation (%s): %s <= result <= %s", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 507.3394775390625, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 8877.57420539856, + "relativeCreated": 12207.681655883789, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,507", + "created": 1609969763.5074801, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 507.4801445007324, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12207.822322845459, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:23,507", + "created": 1609969763.5076354, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 507.63535499572754, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12207.977533340454, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,507", + "created": 1609969763.507815, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 507.814884185791, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12208.157062530518, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,507", + "created": 1609969763.5079613, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 507.9612731933594, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12208.303451538086, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:23,508", + "created": 1609969763.508109, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 508.10909271240234, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12208.451271057129, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:23,508", + "created": 1609969763.508261, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 508.26096534729004, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12208.603143692017, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:23,508", + "created": 1609969763.5084116, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 508.4116458892822, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12208.753824234009, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:23,508", + "created": 1609969763.5085652, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 508.56518745422363, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12208.90736579895, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:23,508", + "created": 1609969763.5087059, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 508.70585441589355, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12209.04803276062, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,508", + "created": 1609969763.5088463, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 508.8462829589844, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12209.188461303711, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,509", + "created": 1609969763.509126, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 509.1259479522705, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12209.468126296997, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:23,509", + "created": 1609969763.509284, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 509.28401947021484, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12209.626197814941, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,509", + "created": 1609969763.509503, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 509.5028877258301, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12209.845066070557, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,509", + "created": 1609969763.5096552, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 509.655237197876, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12209.997415542603, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,509", + "created": 1609969763.5098348, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 509.83476638793945, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12210.176944732666, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,509", + "created": 1609969763.50998, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 509.9799633026123, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12210.322141647339, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:23,510", + "created": 1609969763.5101447, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 510.1447105407715, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12210.486888885498, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:23,510", + "created": 1609969763.5103033, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 510.303258895874, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12210.6454372406, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:23,510", + "created": 1609969763.5104682, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 510.4682445526123, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12210.810422897339, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:23,510", + "created": 1609969763.5106208, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 510.6208324432373, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12210.963010787964, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,510", + "created": 1609969763.510757, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 510.7569694519043, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12211.09914779663, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:23,510", + "created": 1609969763.510912, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 510.9119415283203, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12211.254119873047, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,511", + "created": 1609969763.5110765, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 511.0764503479004, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12211.418628692627, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,511", + "created": 1609969763.5112212, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 511.22117042541504, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12211.563348770142, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:23,511", + "created": 1609969763.5113685, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 511.3685131072998, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12211.710691452026, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:23,511", + "created": 1609969763.51153, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 511.52992248535156, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12211.872100830078, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:23,511", + "created": 1609969763.511689, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 511.6889476776123, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12212.031126022339, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:23,511", + "created": 1609969763.5118413, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 511.8412971496582, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12212.183475494385, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:23,511", + "created": 1609969763.5119808, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 511.9807720184326, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12212.32295036316, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,512", + "created": 1609969763.5121195, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 512.1195316314697, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12212.461709976196, + "stack_info": null, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 187.9427433013916, - "msg": "Timeout for send method is correct (Content %s in [%s ... %s] and Type is %s).", + "msecs": 512.258768081665, + "msg": "Setting up communication", "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, + "pathname": "src/tests/test_helpers.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 8877.73847579956, + "relativeCreated": 12212.600946426392, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.00016427040100097656 - } - ], - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 1.4108240604400635, - "time_finished": "2020-12-26 10:11:52,187", - "time_start": "2020-12-26 10:11:50,777" - }, - "socket_protocol.pure_json_protocol: Wildcard Callback registration for data_id.": { - "args": null, - "asctime": "2020-12-26 10:11:47,632", - "created": 1608973907.6327226, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 31, - "message": "socket_protocol.pure_json_protocol: Wildcard Callback registration for data_id.", - "module": "__init__", - "moduleLogger": [], - "msecs": 632.7226161956787, - "msg": "socket_protocol.pure_json_protocol: Wildcard Callback registration for data_id.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4322.518348693848, - "stack_info": null, - "testcaseLogger": [ + "time_consumption": 0.0001392364501953125 + }, { "args": [], - "asctime": "2020-12-26 10:11:48,137", - "created": 1608973908.1371083, + "asctime": "2021-01-06 22:49:23,512", + "created": 1609969763.5127332, "exc_info": null, "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "wildcard_callback", + "filename": "test_callbacks.py", + "funcName": "all_did_callback", "levelname": "DEBUG", "levelno": 10, - "lineno": 96, - "message": "Send and received data by pure_json_protocol. Wildcard callback registerd for .", - "module": "test_normal_operation", + "lineno": 131, + "message": "Registering a correct working Callback", + "module": "test_callbacks", "moduleLogger": [ { "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:47,633", - "created": 1608973907.6331632, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 633.1632137298584, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4322.958946228027, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:47,633", - "created": 1608973907.633538, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 633.538007736206, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4323.333740234375, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:47,633", - "created": 1608973907.633825, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 633.8250637054443, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4323.620796203613, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:47,634", - "created": 1608973907.6341429, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 634.1428756713867, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4323.938608169556, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 10, - 48879, - "{'test': 'test'}" - ], - "asctime": "2020-12-26 10:11:47,634", - "created": 1608973907.6345046, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 48879, data: \"{'test': 'test'}\"", - "module": "__init__", - "msecs": 634.5045566558838, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4324.300289154053, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:47,634", - "created": 1608973907.6349497, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d cc a2 b9 e6", - "module": "test_helpers", - "msecs": 634.9496841430664, - "msg": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d cc a2 b9 e6", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4324.745416641235, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:47,785", - "created": 1608973907.785938, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d cc a2 b9 e6", - "module": "test_helpers", - "msecs": 785.938024520874, - "msg": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d cc a2 b9 e6", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4475.733757019043, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-15" - }, - { - "args": [ - " SP server:", - "0", + "SP server:", + "'__callback__'", "10", - "48879", - "{'test': 'test'}" + "None" ], - "asctime": "2020-12-26 10:11:47,786", - "created": 1608973907.786414, + "asctime": "2021-01-06 22:49:23,512", + "created": 1609969763.5125866, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 48879, data: \"{'test': 'test'}\"", - "module": "__init__", - "msecs": 786.4139080047607, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4476.20964050293, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-15" - }, - { - "args": [ - " SP server:", - "response_data_method" - ], - "asctime": "2020-12-26 10:11:47,786", - "created": 1608973907.7866237, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", + "funcName": "add", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", + "lineno": 160, + "message": "SP server: Adding callback '__callback__' for SID=10 and DID=None", "module": "__init__", - "msecs": 786.6237163543701, - "msg": "%s Executing callback %s to process received data", + "msecs": 512.5865936279297, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 4476.419448852539, + "relativeCreated": 12212.928771972656, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-15" - }, - { - "args": [ - " SP server:", - 5, - 11, - 48879, - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:47,786", - "created": 1608973907.7868047, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 48879, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 786.8046760559082, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4476.600408554077, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-15" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:47,787", - "created": 1608973907.787198, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 7d 1e 6e 1b", - "module": "test_helpers", - "msecs": 787.1980667114258, - "msg": "Send data: (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 7d 1e 6e 1b", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4476.993799209595, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-15" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:47,938", - "created": 1608973907.9382033, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 7d 1e 6e 1b", - "module": "test_helpers", - "msecs": 938.2033348083496, - "msg": "Receive data (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 7d 1e 6e 1b", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4627.999067306519, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-16" - }, - { - "args": [ - " SP server:", - "5", - "11", - "48879", - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:47,938", - "created": 1608973907.9386618, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 48879, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 938.6618137359619, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4628.457546234131, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-16" - }, - { - "args": [ - " SP server:", - "Operation not permitted" - ], - "asctime": "2020-12-26 10:11:47,938", - "created": 1608973907.9389062, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", - "module": "__init__", - "msecs": 938.906192779541, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4628.70192527771, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-16" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:47,939", - "created": 1608973907.9390972, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__buffer_received_data__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", - "module": "__init__", - "msecs": 939.0971660614014, - "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4628.89289855957, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-16" + "thread": 140247539738432, + "threadName": "MainThread" } ], - "msecs": 137.10832595825195, - "msg": "Send and received data by pure_json_protocol. Wildcard callback registerd for .", + "msecs": 512.7332210540771, + "msg": "Registering a correct working Callback", "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260919, + "pathname": "src/tests/test_callbacks.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 4826.904058456421, + "relativeCreated": 12213.075399398804, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.19801115989685059 + "time_consumption": 0.00014662742614746094 }, - { - "args": [ - "True", - "" - ], - "asctime": "2020-12-26 10:11:48,137", - "created": 1608973908.1378791, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:48,137", - "created": 1608973908.137541, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return value of send method): True ()", - "module": "test", - "msecs": 137.5410556793213, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4827.33678817749, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:48,137", - "created": 1608973908.1377218, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", - "module": "test", - "msecs": 137.72177696228027, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4827.517509460449, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 137.8791332244873, - "msg": "Return value of send method is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4827.674865722656, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00015735626220703125 - }, - { - "args": [ - "0", - "" - ], - "asctime": "2020-12-26 10:11:48,141", - "created": 1608973908.141566, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via pure_json_protocol is correct (Content 0 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:48,141", - "created": 1608973908.1411884, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Status (Okay) transfered via pure_json_protocol): 0 ()", - "module": "test", - "msecs": 141.188383102417, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4830.984115600586, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:48,141", - "created": 1608973908.1414018, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via pure_json_protocol): result = 0 ()", - "module": "test", - "msecs": 141.4017677307129, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4831.197500228882, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 141.56603813171387, - "msg": "Request Status (Okay) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4831.361770629883, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00016427040100097656 - }, - { - "args": [ - "{'test': 'test'}", - "" - ], - "asctime": "2020-12-26 10:11:48,142", - "created": 1608973908.1421728, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via pure_json_protocol is correct (Content {'test': 'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:48,141", - "created": 1608973908.141828, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via pure_json_protocol): { 'test': 'test' } ()", - "module": "test", - "msecs": 141.82806015014648, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4831.623792648315, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:48,141", - "created": 1608973908.141991, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via pure_json_protocol): result = { 'test': 'test' } ()", - "module": "test", - "msecs": 141.99090003967285, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4831.786632537842, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 142.17281341552734, - "msg": "Request Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4831.968545913696, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001819133758544922 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:48,142", - "created": 1608973908.142702, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:48,142", - "created": 1608973908.1424048, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via pure_json_protocol): 5 ()", - "module": "test", - "msecs": 142.40479469299316, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4832.200527191162, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:48,142", - "created": 1608973908.142547, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via pure_json_protocol): result = 5 ()", - "module": "test", - "msecs": 142.5468921661377, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4832.342624664307, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 142.7021026611328, - "msg": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4832.497835159302, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001552104949951172 - }, - { - "args": [ - "[1, 3, 's']", - "" - ], - "asctime": "2020-12-26 10:11:48,143", - "created": 1608973908.1432815, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via pure_json_protocol is correct (Content [1, 3, 's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:48,142", - "created": 1608973908.1429374, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via pure_json_protocol): [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 142.93742179870605, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4832.733154296875, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:48,143", - "created": 1608973908.1430905, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via pure_json_protocol): result = [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 143.09048652648926, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4832.886219024658, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 143.2814598083496, - "msg": "Response Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4833.077192306519, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00019097328186035156 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:48,244", - "created": 1608973908.244474, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "48879" - ], - "asctime": "2020-12-26 10:11:48,243", - "created": 1608973908.2438545, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 243.85452270507812, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4933.650255203247, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:48,244", - "created": 1608973908.2441537, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 244.1537380218506, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4933.9494705200195, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:48,244", - "created": 1608973908.2443218, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 244.3218231201172, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4934.117555618286, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 244.47393417358398, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4934.269666671753, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00015211105346679688 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:48,345", - "created": 1608973908.345738, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "48879" - ], - "asctime": "2020-12-26 10:11:48,345", - "created": 1608973908.3450708, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 345.07083892822266, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5034.866571426392, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:48,345", - "created": 1608973908.3454018, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 345.4017639160156, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5035.197496414185, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:48,345", - "created": 1608973908.3455796, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 345.5796241760254, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5035.375356674194, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 345.7379341125488, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5035.533666610718, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001583099365234375 - } - ], - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.7130153179168701, - "time_finished": "2020-12-26 10:11:48,345", - "time_start": "2020-12-26 10:11:47,632" - }, - "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id and data_id.": { - "args": null, - "asctime": "2020-12-26 10:11:46,212", - "created": 1608973906.2121089, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 29, - "message": "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id and data_id.", - "module": "__init__", - "moduleLogger": [], - "msecs": 212.10885047912598, - "msg": "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id and data_id.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2901.904582977295, - "stack_info": null, - "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:46,716", - "created": 1608973906.716242, + "asctime": "2021-01-06 22:49:23,614", + "created": 1609969763.6146863, "exc_info": null, "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "wildcard_callback", + "filename": "test_callbacks.py", + "funcName": "all_did_callback", "levelname": "DEBUG", "levelno": 10, - "lineno": 96, - "message": "Send and received data by pure_json_protocol. Wildcard callback registerd for service_id and data_id.", - "module": "test_normal_operation", + "lineno": 134, + "message": "Transfering data", + "module": "test_callbacks", "moduleLogger": [ { "args": [ - " SP server:" + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" ], - "asctime": "2020-12-26 10:11:46,212", - "created": 1608973906.2125008, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 212.50081062316895, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2902.296543121338, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:46,212", - "created": 1608973906.2129035, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 212.90349960327148, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2902.6992321014404, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:46,213", - "created": 1608973906.2131796, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 213.1795883178711, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2902.97532081604, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:46,213", - "created": 1608973906.213496, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 213.49596977233887, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 2903.291702270508, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 10, - 48879, - "{'test': 'test'}" - ], - "asctime": "2020-12-26 10:11:46,213", - "created": 1608973906.2137005, + "asctime": "2021-01-06 22:49:23,513", + "created": 1609969763.513053, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 48879, data: \"{'test': 'test'}\"", + "lineno": 714, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", "module": "__init__", - "msecs": 213.700532913208, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 513.0529403686523, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2903.496265411377, + "relativeCreated": 12213.395118713379, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:46,214", - "created": 1608973906.2141156, + "asctime": "2021-01-06 22:49:23,513", + "created": 1609969763.5135257, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d cc a2 b9 e6", + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", "module": "test_helpers", - "msecs": 214.11561965942383, - "msg": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d cc a2 b9 e6", + "msecs": 513.5257244110107, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 2903.911352157593, + "relativeCreated": 12213.867902755737, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:46,365", - "created": 1608973906.3651314, + "asctime": "2021-01-06 22:49:23,513", + "created": 1609969763.5138307, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d cc a2 b9 e6", + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", "module": "test_helpers", - "msecs": 365.1313781738281, - "msg": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d cc a2 b9 e6", + "msecs": 513.8306617736816, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3054.927110671997, + "relativeCreated": 12214.172840118408, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-11" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "0", - "10", - "48879", - "{'test': 'test'}" + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" ], - "asctime": "2020-12-26 10:11:46,365", - "created": 1608973906.3655398, + "asctime": "2021-01-06 22:49:23,513", + "created": 1609969763.5139315, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 48879, data: \"{'test': 'test'}\"", + "lineno": 445, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", "module": "__init__", - "msecs": 365.5397891998291, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 513.9315128326416, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3055.335521697998, + "relativeCreated": 12214.273691177368, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-11" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "response_data_method" + "SP server:", + "__callback__" ], - "asctime": "2020-12-26 10:11:46,365", - "created": 1608973906.36577, + "asctime": "2021-01-06 22:49:23,514", + "created": 1609969763.5140028, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback__ to process received data", "module": "__init__", - "msecs": 365.7701015472412, - "msg": "%s Executing callback %s to process received data", + "msecs": 514.002799987793, + "msg": "%s RX <- Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3055.56583404541, + "relativeCreated": 12214.34497833252, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-11" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - 5, - 11, - 48879, - "[1, 3, 's']" + "SP server:", + "service: read data response, data_id: 0", + "status: okay", + "33" ], - "asctime": "2020-12-26 10:11:46,365", - "created": 1608973906.3659527, + "asctime": "2021-01-06 22:49:23,514", + "created": 1609969763.5140715, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 48879, data: \"[1, 3, 's']\"", + "lineno": 714, + "message": "SP server: TX <- service: read data response, data_id: 0, status: okay, data: \"33\"", "module": "__init__", - "msecs": 365.952730178833, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 514.0714645385742, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3055.748462677002, + "relativeCreated": 12214.4136428833, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-11" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:46,366", - "created": 1608973906.3663301, + "asctime": "2021-01-06 22:49:23,514", + "created": 1609969763.5141768, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 7d 1e 6e 1b", + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", "module": "test_helpers", - "msecs": 366.3301467895508, - "msg": "Send data: (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 7d 1e 6e 1b", + "msecs": 514.1768455505371, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3056.1258792877197, + "relativeCreated": 12214.519023895264, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-11" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:46,517", - "created": 1608973906.5173707, + "asctime": "2021-01-06 22:49:23,514", + "created": 1609969763.5142536, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 7d 1e 6e 1b", + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", "module": "test_helpers", - "msecs": 517.3707008361816, - "msg": "Receive data (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 7d 1e 6e 1b", + "msecs": 514.2536163330078, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3207.1664333343506, + "relativeCreated": 12214.595794677734, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-12" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "5", - "11", - "48879", - "[1, 3, 's']" + "SP client:", + "service: read data response, data_id: 0", + "status: okay", + "33" ], - "asctime": "2020-12-26 10:11:46,517", - "created": 1608973906.5178301, + "asctime": "2021-01-06 22:49:23,514", + "created": 1609969763.5143335, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 48879, data: \"[1, 3, 's']\"", + "lineno": 445, + "message": "SP client: RX <- service: read data response, data_id: 0, status: okay, data: \"33\"", "module": "__init__", - "msecs": 517.8301334381104, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 514.3334865570068, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3207.6258659362793, + "relativeCreated": 12214.675664901733, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-12" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "Operation not permitted" + "SP client:" ], - "asctime": "2020-12-26 10:11:46,518", - "created": 1608973906.518076, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", - "module": "__init__", - "msecs": 518.0759429931641, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3207.871675491333, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-12" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:46,518", - "created": 1608973906.5182667, + "asctime": "2021-01-06 22:49:23,514", + "created": 1609969763.514398, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__buffer_received_data__", "levelname": "DEBUG", "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", "module": "__init__", - "msecs": 518.2666778564453, + "msecs": 514.3980979919434, "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3208.0624103546143, + "relativeCreated": 12214.74027633667, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-12" + "thread": 140247539738432, + "threadName": "MainThread" } ], - "msecs": 716.2420749664307, - "msg": "Send and received data by pure_json_protocol. Wildcard callback registerd for service_id and data_id.", + "msecs": 614.6862506866455, + "msg": "Transfering data", "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260919, + "pathname": "src/tests/test_callbacks.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3406.0378074645996, + "relativeCreated": 12315.028429031372, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.19797539710998535 + "time_consumption": 0.10028815269470215 }, { "args": [ - "True", - "" + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" ], - "asctime": "2020-12-26 10:11:46,717", - "created": 1608973906.7170389, + "asctime": "2021-01-06 22:49:23,615", + "created": 1609969763.6152532, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", + "lineno": 144, + "message": "Message stored inside callback is correct (Content {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of send method", - "True", - "" + "Message stored inside callback", + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" ], - "asctime": "2020-12-26 10:11:46,716", - "created": 1608973906.7166684, + "asctime": "2021-01-06 22:49:23,614", + "created": 1609969763.6149964, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -29819,27 +64901,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of send method): True ()", + "message": "Result (Message stored inside callback): {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} ()", "module": "test", - "msecs": 716.6683673858643, + "msecs": 614.9964332580566, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3406.464099884033, + "relativeCreated": 12315.338611602783, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return value of send method", - "True", - "" + "Message stored inside callback", + "{'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0}", + "" ], - "asctime": "2020-12-26 10:11:46,716", - "created": 1608973906.7168834, + "asctime": "2021-01-06 22:49:23,615", + "created": 1609969763.615124, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -29847,57 +64929,57 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", + "message": "Expectation (Message stored inside callback): result = {'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0} ()", "module": "test", - "msecs": 716.8834209442139, + "msecs": 615.123987197876, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3406.679153442383, + "relativeCreated": 12315.466165542603, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 717.0388698577881, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "msecs": 615.253210067749, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3406.834602355957, + "relativeCreated": 12315.595388412476, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.00015544891357421875 + "time_consumption": 0.00012922286987304688 }, { "args": [ - "0", - "" + "{'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33}", + "" ], - "asctime": "2020-12-26 10:11:46,717", - "created": 1608973906.7176325, + "asctime": "2021-01-06 22:49:23,615", + "created": 1609969763.6156297, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via pure_json_protocol is correct (Content 0 and Type is ).", + "lineno": 144, + "message": "Message received by client is correct (Content {'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" + "Message received by client", + "{'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33}", + "" ], - "asctime": "2020-12-26 10:11:46,717", - "created": 1608973906.7173245, + "asctime": "2021-01-06 22:49:23,615", + "created": 1609969763.615422, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -29905,27 +64987,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Request Status (Okay) transfered via pure_json_protocol): 0 ()", + "message": "Result (Message received by client): {'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33} ()", "module": "test", - "msecs": 717.3244953155518, + "msecs": 615.4220104217529, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3407.1202278137207, + "relativeCreated": 12315.76418876648, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" + "Message received by client", + "{'data': 33, 'data_id': 0, 'service_id': 11, 'status': 0}", + "" ], - "asctime": "2020-12-26 10:11:46,717", - "created": 1608973906.7174704, + "asctime": "2021-01-06 22:49:23,615", + "created": 1609969763.6155298, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -29933,3061 +65015,43 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via pure_json_protocol): result = 0 ()", + "message": "Expectation (Message received by client): result = {'data': 33, 'data_id': 0, 'service_id': 11, 'status': 0} ()", "module": "test", - "msecs": 717.4704074859619, + "msecs": 615.5297756195068, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3407.266139984131, + "relativeCreated": 12315.871953964233, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 717.632532119751, - "msg": "Request Status (Okay) transfered via pure_json_protocol is correct (Content %s and Type is %s).", + "msecs": 615.6296730041504, + "msg": "Message received by client is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 3407.42826461792, + "relativeCreated": 12315.971851348877, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.0001621246337890625 - }, - { - "args": [ - "{'test': 'test'}", - "" - ], - "asctime": "2020-12-26 10:11:46,718", - "created": 1608973906.7183633, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via pure_json_protocol is correct (Content {'test': 'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:46,718", - "created": 1608973906.7180073, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via pure_json_protocol): { 'test': 'test' } ()", - "module": "test", - "msecs": 718.0073261260986, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3407.8030586242676, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:46,718", - "created": 1608973906.7181711, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via pure_json_protocol): result = { 'test': 'test' } ()", - "module": "test", - "msecs": 718.1711196899414, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3407.9668521881104, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 718.3632850646973, - "msg": "Request Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3408.159017562866, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00019216537475585938 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:46,718", - "created": 1608973906.718889, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:46,718", - "created": 1608973906.7186124, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via pure_json_protocol): 5 ()", - "module": "test", - "msecs": 718.6124324798584, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3408.4081649780273, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:46,718", - "created": 1608973906.7187538, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via pure_json_protocol): result = 5 ()", - "module": "test", - "msecs": 718.7538146972656, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3408.5495471954346, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 718.8889980316162, - "msg": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3408.684730529785, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00013518333435058594 - }, - { - "args": [ - "[1, 3, 's']", - "" - ], - "asctime": "2020-12-26 10:11:46,719", - "created": 1608973906.7194674, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via pure_json_protocol is correct (Content [1, 3, 's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:46,719", - "created": 1608973906.7191234, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via pure_json_protocol): [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 719.123363494873, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3408.919095993042, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:46,719", - "created": 1608973906.7192764, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via pure_json_protocol): result = [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 719.2764282226562, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3409.072160720825, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 719.4674015045166, - "msg": "Response Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3409.2631340026855, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00019097328186035156 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:46,820", - "created": 1608973906.8207235, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "48879" - ], - "asctime": "2020-12-26 10:11:46,820", - "created": 1608973906.8200579, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 820.0578689575195, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3509.8536014556885, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:46,820", - "created": 1608973906.820387, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 820.3868865966797, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3510.1826190948486, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:46,820", - "created": 1608973906.8205662, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 820.5661773681641, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3510.361909866333, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 820.7235336303711, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3510.51926612854, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00015735626220703125 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:46,922", - "created": 1608973906.9220223, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "48879" - ], - "asctime": "2020-12-26 10:11:46,921", - "created": 1608973906.9214, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 921.4000701904297, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3611.1958026885986, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:46,921", - "created": 1608973906.9217012, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 921.701192855835, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3611.496925354004, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:46,921", - "created": 1608973906.9218688, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 921.8688011169434, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3611.6645336151123, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 922.0223426818848, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3611.8180751800537, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00015354156494140625 + "time_consumption": 9.989738464355469e-05 } ], - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.7099134922027588, - "time_finished": "2020-12-26 10:11:46,922", - "time_start": "2020-12-26 10:11:46,212" + "time_consumption": 0.11022496223449707, + "time_finished": "2021-01-06 22:49:23,615", + "time_start": "2021-01-06 22:49:23,505" }, - "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id.": { + "_XzMFcHYZEem_kd-7nxt1sg": { "args": null, - "asctime": "2020-12-26 10:11:46,922", - "created": 1608973906.922548, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 30, - "message": "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id.", - "module": "__init__", - "moduleLogger": [], - "msecs": 922.5480556488037, - "msg": "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3612.3437881469727, - "stack_info": null, - "testcaseLogger": [ - { - "args": [], - "asctime": "2020-12-26 10:11:47,426", - "created": 1608973907.4267416, - "exc_info": null, - "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "wildcard_callback", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 96, - "message": "Send and received data by pure_json_protocol. Wildcard callback registerd for service_id.", - "module": "test_normal_operation", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:46,922", - "created": 1608973906.922938, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 922.9381084442139, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3612.733840942383, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:46,923", - "created": 1608973906.9233005, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 923.3005046844482, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3613.096237182617, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:46,923", - "created": 1608973906.9235756, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 923.5756397247314, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3613.3713722229004, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:46,923", - "created": 1608973906.9239097, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 923.9096641540527, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3613.7053966522217, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 10, - 48879, - "{'test': 'test'}" - ], - "asctime": "2020-12-26 10:11:46,924", - "created": 1608973906.9241211, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 48879, data: \"{'test': 'test'}\"", - "module": "__init__", - "msecs": 924.1211414337158, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3613.9168739318848, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:46,924", - "created": 1608973906.9245355, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d cc a2 b9 e6", - "module": "test_helpers", - "msecs": 924.5355129241943, - "msg": "Send data: (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d cc a2 b9 e6", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3614.3312454223633, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:47,075", - "created": 1608973907.075576, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d cc a2 b9 e6", - "module": "test_helpers", - "msecs": 75.5760669708252, - "msg": "Receive data (79): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 7d cc a2 b9 e6", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3765.371799468994, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-13" - }, - { - "args": [ - " SP server:", - "0", - "10", - "48879", - "{'test': 'test'}" - ], - "asctime": "2020-12-26 10:11:47,076", - "created": 1608973907.0760128, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 48879, data: \"{'test': 'test'}\"", - "module": "__init__", - "msecs": 76.01284980773926, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3765.808582305908, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-13" - }, - { - "args": [ - " SP server:", - "response_data_method" - ], - "asctime": "2020-12-26 10:11:47,076", - "created": 1608973907.076237, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", - "module": "__init__", - "msecs": 76.23696327209473, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3766.0326957702637, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-13" - }, - { - "args": [ - " SP server:", - 5, - 11, - 48879, - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:47,076", - "created": 1608973907.07642, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 48879, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 76.42006874084473, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3766.2158012390137, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-13" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:47,076", - "created": 1608973907.0768285, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 7d 1e 6e 1b", - "module": "test_helpers", - "msecs": 76.8284797668457, - "msg": "Send data: (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 7d 1e 6e 1b", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3766.6242122650146, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-13" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:47,227", - "created": 1608973907.227824, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 7d 1e 6e 1b", - "module": "test_helpers", - "msecs": 227.82397270202637, - "msg": "Receive data (74): 7b 22 64 61 74 61 5f 69 64 22 3a 20 34 38 38 37 39 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 35 2c 20 22 64 61 74 61 22 3a 20 5b 31 2c 20 33 2c 20 22 73 22 5d 7d 7d 1e 6e 1b", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3917.6197052001953, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-14" - }, - { - "args": [ - " SP server:", - "5", - "11", - "48879", - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:47,228", - "created": 1608973907.2282481, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 48879, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 228.24811935424805, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3918.043851852417, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-14" - }, - { - "args": [ - " SP server:", - "Operation not permitted" - ], - "asctime": "2020-12-26 10:11:47,228", - "created": 1608973907.2285216, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", - "module": "__init__", - "msecs": 228.52158546447754, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3918.3173179626465, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-14" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:47,228", - "created": 1608973907.2287173, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__buffer_received_data__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", - "module": "__init__", - "msecs": 228.71732711791992, - "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 3918.513059616089, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-14" - } - ], - "msecs": 426.7416000366211, - "msg": "Send and received data by pure_json_protocol. Wildcard callback registerd for service_id.", - "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4116.53733253479, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.19802427291870117 - }, - { - "args": [ - "True", - "" - ], - "asctime": "2020-12-26 10:11:47,427", - "created": 1608973907.4275289, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:47,427", - "created": 1608973907.4271674, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return value of send method): True ()", - "module": "test", - "msecs": 427.1674156188965, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4116.963148117065, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:47,427", - "created": 1608973907.4273472, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", - "module": "test", - "msecs": 427.34718322753906, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4117.142915725708, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 427.52885818481445, - "msg": "Return value of send method is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4117.324590682983, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00018167495727539062 - }, - { - "args": [ - "0", - "" - ], - "asctime": "2020-12-26 10:11:47,428", - "created": 1608973907.4280503, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via pure_json_protocol is correct (Content 0 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:47,427", - "created": 1608973907.4277658, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Status (Okay) transfered via pure_json_protocol): 0 ()", - "module": "test", - "msecs": 427.7658462524414, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4117.56157875061, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Status (Okay) transfered via pure_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:47,427", - "created": 1608973907.4279125, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via pure_json_protocol): result = 0 ()", - "module": "test", - "msecs": 427.91247367858887, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4117.708206176758, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 428.05027961730957, - "msg": "Request Status (Okay) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4117.8460121154785, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00013780593872070312 - }, - { - "args": [ - "{'test': 'test'}", - "" - ], - "asctime": "2020-12-26 10:11:47,428", - "created": 1608973907.428626, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via pure_json_protocol is correct (Content {'test': 'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:47,428", - "created": 1608973907.4282823, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via pure_json_protocol): { 'test': 'test' } ()", - "module": "test", - "msecs": 428.2822608947754, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4118.077993392944, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via pure_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:47,428", - "created": 1608973907.428445, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via pure_json_protocol): result = { 'test': 'test' } ()", - "module": "test", - "msecs": 428.44510078430176, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4118.240833282471, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 428.62606048583984, - "msg": "Request Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4118.421792984009, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00018095970153808594 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:47,429", - "created": 1608973907.4291546, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:47,428", - "created": 1608973907.4288836, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via pure_json_protocol): 5 ()", - "module": "test", - "msecs": 428.88355255126953, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4118.6792850494385, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via pure_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:47,429", - "created": 1608973907.429023, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via pure_json_protocol): result = 5 ()", - "module": "test", - "msecs": 429.02302742004395, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4118.818759918213, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 429.154634475708, - "msg": "Response Status (Operation not permitted) transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4118.950366973877, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001316070556640625 - }, - { - "args": [ - "[1, 3, 's']", - "" - ], - "asctime": "2020-12-26 10:11:47,429", - "created": 1608973907.4297204, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via pure_json_protocol is correct (Content [1, 3, 's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:47,429", - "created": 1608973907.4293818, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via pure_json_protocol): [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 429.3818473815918, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4119.177579879761, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via pure_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:47,429", - "created": 1608973907.4295335, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via pure_json_protocol): result = [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 429.5334815979004, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4119.329214096069, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 429.720401763916, - "msg": "Response Data transfered via pure_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4119.516134262085, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.000186920166015625 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:47,530", - "created": 1608973907.5309262, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "48879" - ], - "asctime": "2020-12-26 10:11:47,530", - "created": 1608973907.530305, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 530.3049087524414, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4220.10064125061, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:47,530", - "created": 1608973907.5306046, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 530.6046009063721, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4220.400333404541, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:47,530", - "created": 1608973907.5307722, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 530.7722091674805, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4220.567941665649, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 530.9262275695801, - "msg": "Return Value (request instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4220.721960067749, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00015401840209960938 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:47,632", - "created": 1608973907.6322103, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "48879" - ], - "asctime": "2020-12-26 10:11:47,631", - "created": 1608973907.6315615, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 48879) not in buffer.", - "module": "__init__", - "msecs": 631.5615177154541, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4321.357250213623, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:47,631", - "created": 1608973907.6318874, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): None ()", - "module": "test", - "msecs": 631.8874359130859, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4321.683168411255, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef", - "None", - "" - ], - "asctime": "2020-12-26 10:11:47,632", - "created": 1608973907.6320574, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef): result = None ()", - "module": "test", - "msecs": 632.0574283599854, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4321.853160858154, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 632.2102546691895, - "msg": "Return Value (response instance) for pure_json_protocol.receive with data data_id 0xbeef is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 4322.005987167358, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00015282630920410156 - } - ], - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.7096621990203857, - "time_finished": "2020-12-26 10:11:47,632", - "time_start": "2020-12-26 10:11:46,922" - }, - "socket_protocol.struct_json_protocol: Send and receive check (Twice for coverage of buffer initialisation).": { - "args": null, - "asctime": "2020-12-26 10:11:49,056", - "created": 1608973909.0565164, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 33, - "message": "socket_protocol.struct_json_protocol: Send and receive check (Twice for coverage of buffer initialisation).", - "module": "__init__", - "moduleLogger": [], - "msecs": 56.516408920288086, - "msg": "socket_protocol.struct_json_protocol: Send and receive check (Twice for coverage of buffer initialisation).", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5746.312141418457, - "stack_info": null, - "testcaseLogger": [ - { - "args": [], - "asctime": "2020-12-26 10:11:50,063", - "created": 1608973910.0633225, - "exc_info": null, - "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "send_n_receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 42, - "message": "Send and received data by struct_json_protocol.", - "module": "test_normal_operation", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:49,056", - "created": 1608973909.056933, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 56.932926177978516, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5746.7286586761475, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:49,057", - "created": 1608973909.0572946, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 57.294607162475586, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5747.0903396606445, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:49,057", - "created": 1608973909.0575593, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 57.55925178527832, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5747.354984283447, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:49,057", - "created": 1608973909.0578775, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 57.877540588378906, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5747.673273086548, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 10, - 45054, - "{'test': 'test'}" - ], - "asctime": "2020-12-26 10:11:49,058", - "created": 1608973909.0580885, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", - "module": "__init__", - "msecs": 58.08854103088379, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5747.884273529053, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:49,058", - "created": 1608973909.0584695, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "module": "test_helpers", - "msecs": 58.469533920288086, - "msg": "Send data: (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5748.265266418457, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:49,209", - "created": 1608973909.209392, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "module": "test_helpers", - "msecs": 209.39207077026367, - "msg": "Receive data (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5899.187803268433, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-19" - }, - { - "args": [ - " SP server:", - "0", - "10", - "45054", - "{'test': 'test'}" - ], - "asctime": "2020-12-26 10:11:49,209", - "created": 1608973909.2098808, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", - "module": "__init__", - "msecs": 209.88082885742188, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5899.676561355591, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-19" - }, - { - "args": [ - " SP server:", - "response_data_method" - ], - "asctime": "2020-12-26 10:11:49,210", - "created": 1608973909.2100878, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", - "module": "__init__", - "msecs": 210.08777618408203, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5899.883508682251, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-19" - }, - { - "args": [ - " SP server:", - 5, - 11, - 45054, - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:49,210", - "created": 1608973909.2102683, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 210.2682590484619, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5900.063991546631, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-19" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:49,210", - "created": 1608973909.2106004, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", - "module": "test_helpers", - "msecs": 210.6003761291504, - "msg": "Send data: (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 5900.396108627319, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-19" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:49,361", - "created": 1608973909.3614404, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", - "module": "test_helpers", - "msecs": 361.44042015075684, - "msg": "Receive data (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6051.236152648926, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-20" - }, - { - "args": [ - " SP server:", - "5", - "11", - "45054", - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:49,361", - "created": 1608973909.3619184, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 361.91844940185547, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6051.714181900024, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-20" - }, - { - "args": [ - " SP server:", - "Operation not permitted" - ], - "asctime": "2020-12-26 10:11:49,362", - "created": 1608973909.3621576, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", - "module": "__init__", - "msecs": 362.15758323669434, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6051.953315734863, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-20" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:49,362", - "created": 1608973909.3623486, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__buffer_received_data__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", - "module": "__init__", - "msecs": 362.3485565185547, - "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6052.144289016724, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-20" - }, - { - "args": [ - " SP server:", - 0, - 10, - 45054, - "{'test': 'test'}" - ], - "asctime": "2020-12-26 10:11:49,560", - "created": 1608973909.5606494, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", - "module": "__init__", - "msecs": 560.6493949890137, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6250.445127487183, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:49,561", - "created": 1608973909.561212, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "module": "test_helpers", - "msecs": 561.2120628356934, - "msg": "Send data: (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6251.007795333862, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:49,712", - "created": 1608973909.7121716, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "module": "test_helpers", - "msecs": 712.1715545654297, - "msg": "Receive data (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6401.967287063599, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-21" - }, - { - "args": [ - " SP server:", - "0", - "10", - "45054", - "{'test': 'test'}" - ], - "asctime": "2020-12-26 10:11:49,712", - "created": 1608973909.7126615, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", - "module": "__init__", - "msecs": 712.6615047454834, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6402.457237243652, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-21" - }, - { - "args": [ - " SP server:", - "response_data_method" - ], - "asctime": "2020-12-26 10:11:49,712", - "created": 1608973909.7129016, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", - "module": "__init__", - "msecs": 712.9015922546387, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6402.697324752808, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-21" - }, - { - "args": [ - " SP server:", - 5, - 11, - 45054, - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:49,713", - "created": 1608973909.7130818, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 713.0818367004395, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6402.877569198608, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-21" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:49,713", - "created": 1608973909.7134173, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", - "module": "test_helpers", - "msecs": 713.4172916412354, - "msg": "Send data: (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6403.213024139404, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-21" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:49,864", - "created": 1608973909.8643053, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", - "module": "test_helpers", - "msecs": 864.3052577972412, - "msg": "Receive data (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6554.10099029541, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-22" - }, - { - "args": [ - " SP server:", - "5", - "11", - "45054", - "[1, 3, 's']" - ], - "asctime": "2020-12-26 10:11:49,864", - "created": 1608973909.864822, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, 's']\"", - "module": "__init__", - "msecs": 864.8219108581543, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6554.617643356323, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-22" - }, - { - "args": [ - " SP server:", - "Operation not permitted" - ], - "asctime": "2020-12-26 10:11:49,865", - "created": 1608973909.8650627, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", - "module": "__init__", - "msecs": 865.0627136230469, - "msg": "%s Received message has a peculiar status: %s", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6554.858446121216, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-22" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:49,865", - "created": 1608973909.8652608, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__buffer_received_data__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", - "module": "__init__", - "msecs": 865.2608394622803, - "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6555.056571960449, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-22" - } - ], - "msecs": 63.32254409790039, - "msg": "Send and received data by struct_json_protocol.", - "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6753.118276596069, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.19806170463562012 - }, - { - "args": [ - "True", - "" - ], - "asctime": "2020-12-26 10:11:50,064", - "created": 1608973910.0641067, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:50,063", - "created": 1608973910.063776, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return value of send method): True ()", - "module": "test", - "msecs": 63.77601623535156, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6753.5717487335205, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return value of send method", - "True", - "" - ], - "asctime": "2020-12-26 10:11:50,063", - "created": 1608973910.0639546, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", - "module": "test", - "msecs": 63.95459175109863, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6753.750324249268, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 64.10670280456543, - "msg": "Return value of send method is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6753.902435302734, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00015211105346679688 - }, - { - "args": [ - "0", - "" - ], - "asctime": "2020-12-26 10:11:50,064", - "created": 1608973910.0646188, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via struct_json_protocol is correct (Content 0 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Status (Okay) transfered via struct_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:50,064", - "created": 1608973910.0643384, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Status (Okay) transfered via struct_json_protocol): 0 ()", - "module": "test", - "msecs": 64.33844566345215, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6754.134178161621, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Status (Okay) transfered via struct_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:50,064", - "created": 1608973910.0644822, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via struct_json_protocol): result = 0 ()", - "module": "test", - "msecs": 64.48221206665039, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6754.277944564819, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 64.61882591247559, - "msg": "Request Status (Okay) transfered via struct_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6754.4145584106445, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001366138458251953 - }, - { - "args": [ - "{'test': 'test'}", - "" - ], - "asctime": "2020-12-26 10:11:50,065", - "created": 1608973910.0652418, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via struct_json_protocol is correct (Content {'test': 'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via struct_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:50,064", - "created": 1608973910.0649037, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via struct_json_protocol): { 'test': 'test' } ()", - "module": "test", - "msecs": 64.90373611450195, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6754.699468612671, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via struct_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:50,065", - "created": 1608973910.0650582, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via struct_json_protocol): result = { 'test': 'test' } ()", - "module": "test", - "msecs": 65.05823135375977, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6754.853963851929, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 65.24181365966797, - "msg": "Request Data transfered via struct_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6755.037546157837, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00018358230590820312 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:50,065", - "created": 1608973910.0657501, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via struct_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via struct_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:50,065", - "created": 1608973910.0654657, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via struct_json_protocol): 5 ()", - "module": "test", - "msecs": 65.46568870544434, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6755.261421203613, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via struct_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:50,065", - "created": 1608973910.0656023, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via struct_json_protocol): result = 5 ()", - "module": "test", - "msecs": 65.60230255126953, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6755.3980350494385, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 65.7501220703125, - "msg": "Response Status (Operation not permitted) transfered via struct_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6755.545854568481, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00014781951904296875 - }, - { - "args": [ - "[1, 3, 's']", - "" - ], - "asctime": "2020-12-26 10:11:50,066", - "created": 1608973910.0663211, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via struct_json_protocol is correct (Content [1, 3, 's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via struct_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:50,065", - "created": 1608973910.065981, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via struct_json_protocol): [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 65.98091125488281, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6755.776643753052, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via struct_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:50,066", - "created": 1608973910.066132, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via struct_json_protocol): result = [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 66.1320686340332, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6755.927801132202, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 66.32113456726074, - "msg": "Response Data transfered via struct_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6756.11686706543, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00018906593322753906 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:50,167", - "created": 1608973910.167647, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "11", - "45054" - ], - "asctime": "2020-12-26 10:11:50,166", - "created": 1608973910.1669004, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 166.9003963470459, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6856.696128845215, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:50,167", - "created": 1608973910.167247, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 167.24705696105957, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6857.0427894592285, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:50,167", - "created": 1608973910.1674852, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 167.48523712158203, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6857.280969619751, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 167.6468849182129, - "msg": "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6857.442617416382, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00016164779663085938 - }, - { - "args": [ - "None", - "" - ], - "asctime": "2020-12-26 10:11:50,268", - "created": 1608973910.2689736, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - " SP server:", - "0.1", - "10", - "45054" - ], - "asctime": "2020-12-26 10:11:50,268", - "created": 1608973910.2682614, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", - "module": "__init__", - "msecs": 268.2614326477051, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6958.057165145874, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:50,268", - "created": 1608973910.2685819, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe): None ()", - "module": "test", - "msecs": 268.5818672180176, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6958.3775997161865, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe", - "None", - "" - ], - "asctime": "2020-12-26 10:11:50,268", - "created": 1608973910.2687945, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe): result = None ()", - "module": "test", - "msecs": 268.7945365905762, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6958.590269088745, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 268.97358894348145, - "msg": "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 6958.76932144165, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00017905235290527344 - } - ], - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 1.2124571800231934, - "time_finished": "2020-12-26 10:11:50,268", - "time_start": "2020-12-26 10:11:49,056" - }, - "socket_protocol.struct_json_protocol: Send and receive check.": { - "args": null, - "asctime": "2020-12-26 10:11:43,378", - "created": 1608973903.3787975, + "asctime": "2021-01-06 22:49:11,386", + "created": 1609969751.386638, "exc_info": null, "exc_text": null, "filename": "__init__.py", @@ -32995,470 +65059,3362 @@ "levelname": "INFO", "levelno": 20, "lineno": 26, - "message": "socket_protocol.struct_json_protocol: Send and receive check.", + "message": "_XzMFcHYZEem_kd-7nxt1sg", "module": "__init__", "moduleLogger": [], - "msecs": 378.7975311279297, - "msg": "socket_protocol.struct_json_protocol: Send and receive check.", + "msecs": 386.63792610168457, + "msg": "_XzMFcHYZEem_kd-7nxt1sg", "name": "__tLogger__", "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 68.59326362609863, + "relativeCreated": 86.98010444641113, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "{'data': None, 'data_id': None, 'service_id': None, 'status': None}" + ], + "asctime": "2021-01-06 22:49:11,387", + "created": 1609969751.3876169, + "exc_info": null, + "exc_text": null, + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 10, + "message": "Creating empty message object: {'data': None, 'data_id': None, 'service_id': None, 'status': None}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 387.6168727874756, + "msg": "Creating empty message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 87.95905113220215, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'status'" + ], + "asctime": "2021-01-06 22:49:11,388", + "created": 1609969751.3887422, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "status is part of the message object is correct ('status' is in the list or dict).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "status is part of the message object", + "{'data': None, 'data_id': None, 'service_id': None, 'status': None}", + "" + ], + "asctime": "2021-01-06 22:49:11,388", + "created": 1609969751.3882809, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (status is part of the message object): {'data': None, 'data_id': None, 'service_id': None, 'status': None} ()", + "module": "test", + "msecs": 388.28086853027344, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 88.623046875, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "status is part of the message object", + "'status'" + ], + "asctime": "2021-01-06 22:49:11,388", + "created": 1609969751.3885238, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (status is part of the message object): 'status' in result", + "module": "test", + "msecs": 388.52381706237793, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 88.86599540710449, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 388.74220848083496, + "msg": "status is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 89.08438682556152, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00021839141845703125 + }, + { + "args": [ + "{'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'}" + ], + "asctime": "2021-01-06 22:49:11,389", + "created": 1609969751.3891156, + "exc_info": null, + "exc_text": null, + "filename": "test_message_object.py", + "funcName": "check_presence_of_key_in_message_object", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Creating a maximum message object: {'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'}", + "module": "test_message_object", + "moduleLogger": [], + "msecs": 389.115571975708, + "msg": "Creating a maximum message object: %s", + "name": "__tLogger__", + "pathname": "src/tests/test_message_object.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 89.45775032043457, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'status'" + ], + "asctime": "2021-01-06 22:49:11,389", + "created": 1609969751.389657, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "in_list_dict_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 242, + "message": "status is part of the message object is correct ('status' is in the list or dict).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "status is part of the message object", + "{'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'}", + "" + ], + "asctime": "2021-01-06 22:49:11,389", + "created": 1609969751.3893707, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (status is part of the message object): {'data': 'D', 'data_id': 'DID', 'service_id': 'SID', 'status': 'S'} ()", + "module": "test", + "msecs": 389.3706798553467, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 89.71285820007324, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "status is part of the message object", + "'status'" + ], + "asctime": "2021-01-06 22:49:11,389", + "created": 1609969751.3895214, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_inlist__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 30, + "message": "Expectation (status is part of the message object): 'status' in result", + "module": "test", + "msecs": 389.52136039733887, + "msg": "Expectation (%s): %s in result", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 89.86353874206543, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 389.65702056884766, + "msg": "status is part of the message object is correct (%s is in the list or dict).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 89.99919891357422, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00013566017150878906 + }, + { + "args": [ + "'S'", + "" + ], + "asctime": "2021-01-06 22:49:11,390", + "created": 1609969751.3902407, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Content in message object for status is correct (Content 'S' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Content in message object for status", + "'S'", + "" + ], + "asctime": "2021-01-06 22:49:11,389", + "created": 1609969751.3899734, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Content in message object for status): 'S' ()", + "module": "test", + "msecs": 389.97340202331543, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 90.31558036804199, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Content in message object for status", + "'S'", + "" + ], + "asctime": "2021-01-06 22:49:11,390", + "created": 1609969751.3901045, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Content in message object for status): result = 'S' ()", + "module": "test", + "msecs": 390.1045322418213, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 90.44671058654785, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 390.2406692504883, + "msg": "Content in message object for status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 90.58284759521484, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001361370086669922 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.003602743148803711, + "time_finished": "2021-01-06 22:49:11,390", + "time_start": "2021-01-06 22:49:11,386" + }, + "_YfrfUE4LEeupHeIYRnC0qw": { + "args": null, + "asctime": "2021-01-06 22:49:23,615", + "created": 1609969763.6159275, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 47, + "message": "_YfrfUE4LEeupHeIYRnC0qw", + "module": "__init__", + "moduleLogger": [], + "msecs": 615.9274578094482, + "msg": "_YfrfUE4LEeupHeIYRnC0qw", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12316.269636154175, "stack_info": null, "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:43,881", - "created": 1608973903.8814838, + "asctime": "2021-01-06 22:49:23,620", + "created": 1609969763.6204805, "exc_info": null, "exc_text": null, - "filename": "test_normal_operation.py", - "funcName": "send_n_receive", + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", "levelname": "DEBUG", "levelno": 10, - "lineno": 42, - "message": "Send and received data by struct_json_protocol.", - "module": "test_normal_operation", + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", "moduleLogger": [ { "args": [ - " SP server:" + "SP server:" ], - "asctime": "2020-12-26 10:11:43,379", - "created": 1608973903.379063, + "asctime": "2021-01-06 22:49:23,616", + "created": 1609969763.6162028, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 379.0628910064697, + "msecs": 616.2028312683105, "msg": "%s Cleaning up receive-buffer", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 68.85862350463867, + "relativeCreated": 12316.545009613037, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:43,379", - "created": 1608973903.379219, + "asctime": "2021-01-06 22:49:23,616", + "created": 1609969763.6163313, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 379.21905517578125, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 69.0147876739502, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:43,379", - "created": 1608973903.3792927, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", + "funcName": "add_service", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", "module": "__init__", - "msecs": 379.29272651672363, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", + "msecs": 616.3313388824463, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 69.08845901489258, + "relativeCreated": 12316.673517227173, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: authentification request, data_id: seed" ], - "asctime": "2020-12-26 10:11:43,379", - "created": 1608973903.3793755, + "asctime": "2021-01-06 22:49:23,616", + "created": 1609969763.616486, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", "module": "__init__", - "msecs": 379.3754577636719, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", + "msecs": 616.4860725402832, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 69.17119026184082, + "relativeCreated": 12316.82825088501, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:", - 0, - 10, - 45054, - "{'test': 'test'}" + "SP server:", + "service: authentification response, data_id: seed" ], - "asctime": "2020-12-26 10:11:43,379", - "created": 1608973903.3794327, + "asctime": "2021-01-06 22:49:23,616", + "created": 1609969763.6165917, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", "module": "__init__", - "msecs": 379.43267822265625, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", + "msecs": 616.5916919708252, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 69.2284107208252, + "relativeCreated": 12316.933870315552, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, - { - "args": [], - "asctime": "2020-12-26 10:11:43,379", - "created": 1608973903.379553, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "module": "test_helpers", - "msecs": 379.55307960510254, - "msg": "Send data: (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 69.34881210327148, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:43,530", - "created": 1608973903.5302277, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "module": "test_helpers", - "msecs": 530.2276611328125, - "msg": "Receive data (29): 00 00 00 00 00 00 00 0a 00 00 af fe 7b 22 74 65 73 74 22 3a 20 22 74 65 73 74 22 7d 47", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 220.02339363098145, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-1" - }, { "args": [ - " SP server:", + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,616", + "created": 1609969763.6166973, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 616.6973114013672, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12317.039489746094, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,616", + "created": 1609969763.6168005, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 616.8005466461182, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12317.142724990845, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", "0", - "10", - "45054", - "{'test': 'test'}" + "0" ], - "asctime": "2020-12-26 10:11:43,530", - "created": 1608973903.5307825, + "asctime": "2021-01-06 22:49:23,616", + "created": 1609969763.616912, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 10, data_id: 45054, data: \"{'test': 'test'}\"", - "module": "__init__", - "msecs": 530.7824611663818, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 220.57819366455078, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-1" - }, - { - "args": [ - " SP server:", - "response_data_method" - ], - "asctime": "2020-12-26 10:11:43,530", - "created": 1608973903.5309916, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", + "funcName": "add", "levelname": "DEBUG", "levelno": 10, - "lineno": 342, - "message": " SP server: Executing callback response_data_method to process received data", + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", "module": "__init__", - "msecs": 530.9915542602539, - "msg": "%s Executing callback %s to process received data", + "msecs": 616.9118881225586, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 220.78728675842285, + "relativeCreated": 12317.254066467285, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-1" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - 5, - 11, - 45054, - "[1, 3, 's']" + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" ], - "asctime": "2020-12-26 10:11:43,531", - "created": 1608973903.5311697, + "asctime": "2021-01-06 22:49:23,617", + "created": 1609969763.617019, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 617.0189380645752, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12317.361116409302, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:23,617", + "created": 1609969763.6171253, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 617.1252727508545, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12317.467451095581, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:23,617", + "created": 1609969763.6172287, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 617.2287464141846, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12317.570924758911, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,617", + "created": 1609969763.6173232, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 617.3231601715088, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12317.665338516235, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:23,617", + "created": 1609969763.6174355, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 617.4354553222656, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12317.777633666992, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,617", + "created": 1609969763.6175575, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 617.5575256347656, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12317.899703979492, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,617", + "created": 1609969763.6176546, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 617.65456199646, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12317.996740341187, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:23,617", + "created": 1609969763.6177533, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 617.753267288208, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12318.095445632935, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:23,617", + "created": 1609969763.6178763, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 617.8762912750244, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12318.218469619751, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:23,617", + "created": 1609969763.617984, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 617.9840564727783, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12318.326234817505, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:23,618", + "created": 1609969763.6180797, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 618.079662322998, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12318.421840667725, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:23,618", + "created": 1609969763.6181724, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 618.1724071502686, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12318.514585494995, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,618", + "created": 1609969763.6182654, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 618.2653903961182, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12318.607568740845, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,618", + "created": 1609969763.6184466, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 618.4465885162354, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12318.788766860962, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:23,618", + "created": 1609969763.618559, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 618.5588836669922, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12318.901062011719, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,618", + "created": 1609969763.618691, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 618.6909675598145, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12319.033145904541, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,618", + "created": 1609969763.6187985, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 618.7984943389893, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12319.140672683716, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,618", + "created": 1609969763.6188946, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 618.8945770263672, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12319.236755371094, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,618", + "created": 1609969763.6189876, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 618.9875602722168, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12319.329738616943, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:23,619", + "created": 1609969763.6190886, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 619.0886497497559, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12319.430828094482, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:23,619", + "created": 1609969763.6191924, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 619.192361831665, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12319.534540176392, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:23,619", + "created": 1609969763.619307, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 619.3070411682129, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12319.64921951294, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:23,619", + "created": 1609969763.61941, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 619.4100379943848, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12319.752216339111, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,619", + "created": 1609969763.6195006, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 619.5006370544434, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12319.84281539917, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:23,619", + "created": 1609969763.6196089, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 619.6088790893555, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12319.951057434082, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,619", + "created": 1609969763.619717, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 619.7168827056885, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12320.059061050415, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,619", + "created": 1609969763.6198123, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 619.8122501373291, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12320.154428482056, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:23,619", + "created": 1609969763.61991, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 619.9100017547607, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12320.252180099487, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:23,620", + "created": 1609969763.620011, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 620.0110912322998, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12320.353269577026, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:23,620", + "created": 1609969763.620111, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 620.1109886169434, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12320.45316696167, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:23,620", + "created": 1609969763.6202044, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 620.2044486999512, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12320.546627044678, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:23,620", + "created": 1609969763.6202965, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 620.2964782714844, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12320.638656616211, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,620", + "created": 1609969763.620387, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 620.387077331543, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12320.72925567627, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 620.4805374145508, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12320.822715759277, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 9.34600830078125e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,620", + "created": 1609969763.6207995, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "all_sid_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 144, + "message": "Registering a correct working Callback", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback__'", + "None", + "0" + ], + "asctime": "2021-01-06 22:49:23,620", + "created": 1609969763.6207004, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback__' for SID=None and DID=0", + "module": "__init__", + "msecs": 620.7003593444824, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12321.042537689209, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 620.7995414733887, + "msg": "Registering a correct working Callback", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12321.141719818115, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 9.918212890625e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,723", + "created": 1609969763.72333, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "all_sid_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 147, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:23,621", + "created": 1609969763.621257, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "send", "levelname": "INFO", "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, 's']\"", + "lineno": 714, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", "module": "__init__", - "msecs": 531.1696529388428, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", + "msecs": 621.2570667266846, + "msg": "%s TX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 220.96538543701172, + "relativeCreated": 12321.599245071411, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-1" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:43,531", - "created": 1608973903.5315187, + "asctime": "2021-01-06 22:49:23,621", + "created": 1609969763.621534, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "send", "levelname": "DEBUG", "levelno": 10, - "lineno": 63, - "message": "Send data: (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", "module": "test_helpers", - "msecs": 531.5186977386475, - "msg": "Send data: (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", + "msecs": 621.5341091156006, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 221.3144302368164, + "relativeCreated": 12321.876287460327, "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-1" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [], - "asctime": "2020-12-26 10:11:43,682", - "created": 1608973903.6825514, + "asctime": "2021-01-06 22:49:23,621", + "created": 1609969763.6217108, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", "funcName": "receive", "levelname": "DEBUG", "levelno": 10, - "lineno": 74, - "message": "Receive data (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", "module": "test_helpers", - "msecs": 682.551383972168, - "msg": "Receive data (24): 00 00 00 05 00 00 00 0b 00 00 af fe 5b 31 2c 20 33 2c 20 22 73 22 5d 28", + "msecs": 621.7107772827148, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", "name": "__unittest__", "pathname": "src/tests/test_helpers.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 372.3471164703369, + "relativeCreated": 12322.052955627441, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-2" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "5", - "11", - "45054", - "[1, 3, 's']" + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" ], - "asctime": "2020-12-26 10:11:43,683", - "created": 1608973903.6830697, + "asctime": "2021-01-06 22:49:23,621", + "created": 1609969763.6219158, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", "levelname": "INFO", "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 5, service_id: 11, data_id: 45054, data: \"[1, 3, 's']\"", + "lineno": 445, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", "module": "__init__", - "msecs": 683.0697059631348, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", + "msecs": 621.9158172607422, + "msg": "%s RX <- %s, %s, data: \"%s\"", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 372.8654384613037, + "relativeCreated": 12322.257995605469, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-2" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:", - "Operation not permitted" + "SP server:", + "__callback__" ], - "asctime": "2020-12-26 10:11:43,683", - "created": 1608973903.6833255, + "asctime": "2021-01-06 22:49:23,622", + "created": 1609969763.622042, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__data_available_callback__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 352, - "message": " SP server: Received message has a peculiar status: Operation not permitted", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback__ to process received data", "module": "__init__", - "msecs": 683.3255290985107, - "msg": "%s Received message has a peculiar status: %s", + "msecs": 622.0419406890869, + "msg": "%s RX <- Executing callback %s to process received data", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 373.1212615966797, + "relativeCreated": 12322.384119033813, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-2" + "thread": 140247539738432, + "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "service: read data response, data_id: 0", + "status: okay", + "33" ], - "asctime": "2020-12-26 10:11:43,683", - "created": 1608973903.6835272, + "asctime": "2021-01-06 22:49:23,622", + "created": 1609969763.6221693, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 622.1692562103271, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12322.511434555054, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,622", + "created": 1609969763.622401, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "module": "test_helpers", + "msecs": 622.4009990692139, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12322.74317741394, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,622", + "created": 1609969763.6225665, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "module": "test_helpers", + "msecs": 622.5664615631104, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12322.908639907837, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:23,622", + "created": 1609969763.622738, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 622.7378845214844, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12323.080062866211, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,622", + "created": 1609969763.6228764, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__buffer_received_data__", "levelname": "DEBUG", "levelno": 10, - "lineno": 370, - "message": " SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", "module": "__init__", - "msecs": 683.5272312164307, + "msecs": 622.8764057159424, "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 373.3229637145996, + "relativeCreated": 12323.218584060669, "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-2" + "thread": 140247539738432, + "threadName": "MainThread" } ], - "msecs": 881.483793258667, - "msg": "Send and received data by struct_json_protocol.", + "msecs": 723.330020904541, + "msg": "Transfering data", "name": "__tLogger__", - "pathname": "src/tests/test_normal_operation.py", - "process": 260919, + "pathname": "src/tests/test_callbacks.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 571.2795257568359, + "relativeCreated": 12423.672199249268, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.19795656204223633 + "time_consumption": 0.10045361518859863 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:23,724", + "created": 1609969763.7241445, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:23,723", + "created": 1609969763.7237659, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message stored inside callback): {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} ()", + "module": "test", + "msecs": 723.7658500671387, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12424.108028411865, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message stored inside callback", + "{'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0}", + "" + ], + "asctime": "2021-01-06 22:49:23,723", + "created": 1609969763.7239523, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message stored inside callback): result = {'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0} ()", + "module": "test", + "msecs": 723.9522933959961, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12424.294471740723, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 724.144458770752, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12424.486637115479, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00019216537475585938 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33}", + "" + ], + "asctime": "2021-01-06 22:49:23,724", + "created": 1609969763.7246878, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33}", + "" + ], + "asctime": "2021-01-06 22:49:23,724", + "created": 1609969763.7243874, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33} ()", + "module": "test", + "msecs": 724.3874073028564, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12424.729585647583, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'data': 33, 'data_id': 0, 'service_id': 11, 'status': 0}", + "" + ], + "asctime": "2021-01-06 22:49:23,724", + "created": 1609969763.7245402, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'data': 33, 'data_id': 0, 'service_id': 11, 'status': 0} ()", + "module": "test", + "msecs": 724.5402336120605, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12424.882411956787, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 724.6878147125244, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12425.029993057251, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001475811004638672 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10876035690307617, + "time_finished": "2021-01-06 22:49:23,724", + "time_start": "2021-01-06 22:49:23,615" + }, + "_YhmzIE4lEeupHeIYRnC0qw": { + "args": null, + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3763473, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 59, + "message": "_YhmzIE4lEeupHeIYRnC0qw", + "module": "__init__", + "moduleLogger": [], + "msecs": 376.34730339050293, + "msg": "_YhmzIE4lEeupHeIYRnC0qw", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.68948173523, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:24,378", + "created": 1609969764.378072, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3764482, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 376.4481544494629, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.79033279419, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3764992, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 376.4991760253906, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.841354370117, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3765543, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 376.5542507171631, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.89642906189, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3765936, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 376.59358978271484, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.935768127441, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3766313, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 376.6312599182129, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.97343826294, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3766677, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 376.66773796081543, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.009916305542, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3767068, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 376.7068386077881, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.049016952515, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3767474, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 376.74736976623535, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.089548110962, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.376787, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 376.7869472503662, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.129125595093, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3768265, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 376.82652473449707, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.168703079224, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.376862, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 376.8620491027832, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.20422744751, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3769011, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 376.90114974975586, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.243328094482, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3769436, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 376.94358825683594, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.285766601562, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3769836, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 376.983642578125, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.325820922852, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3770242, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 377.02417373657227, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.366352081299, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.377064, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 377.0639896392822, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.406167984009, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.377102, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 377.1018981933594, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.444076538086, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3771377, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 377.1376609802246, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.479839324951, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3771758, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 377.17580795288086, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.517986297607, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3772113, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 377.211332321167, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.553510665894, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3772836, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 377.28357315063477, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.625751495361, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3773236, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 377.3236274719238, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.66580581665, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3773792, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 377.3791790008545, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.721357345581, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3774173, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 377.41732597351074, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.759504318237, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.377456, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 377.4559497833252, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.798128128052, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3774917, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 377.49171257019043, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.833890914917, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3775303, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 377.5303363800049, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.872514724731, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3775704, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 377.57039070129395, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.91256904602, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3776097, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 377.6097297668457, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.951908111572, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3776484, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 377.64835357666016, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13077.990531921387, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3776877, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 377.6876926422119, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.029870986938, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3777297, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 377.7296543121338, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.07183265686, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3777719, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 377.77185440063477, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.114032745361, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3778155, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 377.81548500061035, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.157663345337, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3778539, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 377.8538703918457, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.196048736572, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3778925, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 377.89249420166016, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.234672546387, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3779335, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 377.9335021972656, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.275680541992, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:24,377", + "created": 1609969764.3779693, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 377.96926498413086, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.311443328857, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:24,378", + "created": 1609969764.378004, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 378.0040740966797, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.346252441406, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,378", + "created": 1609969764.378039, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 378.0388832092285, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.381061553955, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 378.07202339172363, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.41420173645, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 3.314018249511719e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,679", + "created": 1609969764.6794207, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "send_message_with_invalid_checksum", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 70, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:24,378", + "created": 1609969764.3781555, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 378.1554698944092, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.497648239136, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,378", + "created": 1609969764.3782575, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (41): 00 00 00 00 00 00 00 11 00 00 00 22 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d", + "module": "test_helpers", + "msecs": 378.25751304626465, + "msg": "Send data: (41): 00 00 00 00 00 00 00 11 00 00 00 22 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.599691390991, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,378", + "created": 1609969764.378314, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (41): 00 00 00 00 00 00 00 11 00 00 00 22 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7e", + "module": "test_helpers", + "msecs": 378.3140182495117, + "msg": "Receive data (41): 00 00 00 00 00 00 00 11 00 00 00 22 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7e", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.656196594238, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,378", + "created": 1609969764.3784006, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 432, + "message": "SP server: RX <- Received message has a wrong checksum. Message will be ignored.", + "module": "__init__", + "msecs": 378.4005641937256, + "msg": "%s RX <- Received message has a wrong checksum. Message will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13078.742742538452, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "34" + ], + "asctime": "2021-01-06 22:49:24,679", + "created": 1609969764.6792505, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 34) not in buffer.", + "module": "__init__", + "msecs": 679.2504787445068, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13379.592657089233, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 679.4207096099854, + "msg": "Transfering a message client -> server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13379.762887954712, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00017023086547851562 }, { "args": [ "True", "" ], - "asctime": "2020-12-26 10:11:43,882", - "created": 1608973903.8822627, + "asctime": "2021-01-06 22:49:24,679", + "created": 1609969764.679795, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return value of send method is correct (Content True and Type is ).", + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:43,881", - "created": 1608973903.8819113, + "asctime": "2021-01-06 22:49:24,679", + "created": 1609969764.679601, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -33466,27 +68422,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return value of send method): True ()", + "message": "Result (Returnvalue of Client send Method): True ()", "module": "test", - "msecs": 881.9112777709961, + "msecs": 679.6009540557861, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 571.707010269165, + "relativeCreated": 13379.943132400513, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return value of send method", + "Returnvalue of Client send Method", "True", "" ], - "asctime": "2020-12-26 10:11:43,882", - "created": 1608973903.882091, + "asctime": "2021-01-06 22:49:24,679", + "created": 1609969764.6797066, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -33494,430 +68450,358 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return value of send method): result = True ()", + "message": "Expectation (Returnvalue of Client send Method): result = True ()", "module": "test", - "msecs": 882.0910453796387, + "msecs": 679.7065734863281, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 571.8867778778076, + "relativeCreated": 13380.048751831055, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 882.2627067565918, - "msg": "Return value of send method is correct (Content %s and Type is %s).", + "msecs": 679.7950267791748, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 572.0584392547607, + "relativeCreated": 13380.137205123901, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.000171661376953125 - }, - { - "args": [ - "0", - "" - ], - "asctime": "2020-12-26 10:11:43,882", - "created": 1608973903.8827887, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Status (Okay) transfered via struct_json_protocol is correct (Content 0 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Status (Okay) transfered via struct_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:43,882", - "created": 1608973903.882504, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Status (Okay) transfered via struct_json_protocol): 0 ()", - "module": "test", - "msecs": 882.5039863586426, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 572.2997188568115, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Status (Okay) transfered via struct_json_protocol", - "0", - "" - ], - "asctime": "2020-12-26 10:11:43,882", - "created": 1608973903.88265, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Status (Okay) transfered via struct_json_protocol): result = 0 ()", - "module": "test", - "msecs": 882.6498985290527, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 572.4456310272217, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 882.7886581420898, - "msg": "Request Status (Okay) transfered via struct_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 572.5843906402588, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00013875961303710938 - }, - { - "args": [ - "{'test': 'test'}", - "" - ], - "asctime": "2020-12-26 10:11:43,883", - "created": 1608973903.8834639, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Request Data transfered via struct_json_protocol is correct (Content {'test': 'test'} and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Request Data transfered via struct_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:43,883", - "created": 1608973903.8830845, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Request Data transfered via struct_json_protocol): { 'test': 'test' } ()", - "module": "test", - "msecs": 883.0845355987549, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 572.8802680969238, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Request Data transfered via struct_json_protocol", - "{ 'test': 'test' }", - "" - ], - "asctime": "2020-12-26 10:11:43,883", - "created": 1608973903.8832421, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Request Data transfered via struct_json_protocol): result = { 'test': 'test' } ()", - "module": "test", - "msecs": 883.242130279541, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 573.03786277771, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 883.4638595581055, - "msg": "Request Data transfered via struct_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 573.2595920562744, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00022172927856445312 - }, - { - "args": [ - "5", - "" - ], - "asctime": "2020-12-26 10:11:43,884", - "created": 1608973903.8841116, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Status (Operation not permitted) transfered via struct_json_protocol is correct (Content 5 and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Status (Operation not permitted) transfered via struct_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:43,883", - "created": 1608973903.88381, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Status (Operation not permitted) transfered via struct_json_protocol): 5 ()", - "module": "test", - "msecs": 883.8100433349609, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 573.6057758331299, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Status (Operation not permitted) transfered via struct_json_protocol", - "5", - "" - ], - "asctime": "2020-12-26 10:11:43,883", - "created": 1608973903.8839712, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Status (Operation not permitted) transfered via struct_json_protocol): result = 5 ()", - "module": "test", - "msecs": 883.9712142944336, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 573.7669467926025, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 884.1116428375244, - "msg": "Response Status (Operation not permitted) transfered via struct_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 573.9073753356934, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0001404285430908203 - }, - { - "args": [ - "[1, 3, 's']", - "" - ], - "asctime": "2020-12-26 10:11:43,884", - "created": 1608973903.8846998, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Response Data transfered via struct_json_protocol is correct (Content [1, 3, 's'] and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Response Data transfered via struct_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:43,884", - "created": 1608973903.884349, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Response Data transfered via struct_json_protocol): [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 884.3491077423096, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 574.1448402404785, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Response Data transfered via struct_json_protocol", - "[ 1, 3, 's' ]", - "" - ], - "asctime": "2020-12-26 10:11:43,884", - "created": 1608973903.8845043, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Response Data transfered via struct_json_protocol): result = [ 1, 3, 's' ] ()", - "module": "test", - "msecs": 884.5043182373047, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 574.3000507354736, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 884.699821472168, - "msg": "Response Data transfered via struct_json_protocol is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 574.4955539703369, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00019550323486328125 + "time_consumption": 8.845329284667969e-05 }, { "args": [ "None", "" ], - "asctime": "2020-12-26 10:11:43,985", - "created": 1608973903.9859889, + "asctime": "2021-01-06 22:49:24,680", + "created": 1609969764.6801052, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", + "lineno": 144, + "message": "Checksum Error -> No message received by server is correct (Content None and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - " SP server:", - "0.1", - "11", - "45054" + "Checksum Error -> No message received by server", + "None", + "" ], - "asctime": "2020-12-26 10:11:43,985", - "created": 1608973903.9853358, + "asctime": "2021-01-06 22:49:24,679", + "created": 1609969764.6799266, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Checksum Error -> No message received by server): None ()", + "module": "test", + "msecs": 679.9266338348389, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13380.268812179565, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Checksum Error -> No message received by server", + "None", + "" + ], + "asctime": "2021-01-06 22:49:24,680", + "created": 1609969764.6800232, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Checksum Error -> No message received by server): result = None ()", + "module": "test", + "msecs": 680.023193359375, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13380.365371704102, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 680.1052093505859, + "msg": "Checksum Error -> No message received by server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13380.447387695312, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.20159912109375e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,982", + "created": 1609969764.9824057, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "send_message_with_invalid_checksum", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 76, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:24,680", + "created": 1609969764.680272, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 680.272102355957, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13380.614280700684, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,680", + "created": 1609969764.6805007, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (41): 00 00 00 04 00 00 00 11 00 00 00 23 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7b", + "module": "test_helpers", + "msecs": 680.5007457733154, + "msg": "Send data: (41): 00 00 00 04 00 00 00 11 00 00 00 23 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13380.842924118042, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,680", + "created": 1609969764.680626, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (41): 00 00 00 04 00 00 00 11 00 00 00 23 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7b", + "module": "test_helpers", + "msecs": 680.6259155273438, + "msg": "Receive data (41): 00 00 00 04 00 00 00 11 00 00 00 23 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13380.96809387207, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:24,680", + "created": 1609969764.6808596, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 680.8595657348633, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13381.20174407959, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: service or data unknown" + ], + "asctime": "2021-01-06 22:49:24,680", + "created": 1609969764.6809547, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: service or data unknown", + "module": "__init__", + "msecs": 680.9546947479248, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13381.296873092651, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,681", + "created": 1609969764.6810732, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 681.0731887817383, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13381.415367126465, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "35" + ], + "asctime": "2021-01-06 22:49:24,982", + "created": 1609969764.9821322, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "receive", "levelname": "WARNING", "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 11; data_id: 45054) not in buffer.", + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", "module": "__init__", - "msecs": 985.3358268737793, + "msecs": 982.1321964263916, "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 675.1315593719482, + "relativeCreated": 13682.474374771118, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" - }, + } + ], + "msecs": 982.4056625366211, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13682.747840881348, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0002734661102294922 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,983", + "created": 1609969764.9830275, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ { "args": [ - "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "Returnvalue of Server send Method", + "True", + "" ], - "asctime": "2020-12-26 10:11:43,985", - "created": 1608973903.9856408, + "asctime": "2021-01-06 22:49:24,982", + "created": 1609969764.9827106, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -33925,27 +68809,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe): None ()", + "message": "Result (Returnvalue of Server send Method): True ()", "module": "test", - "msecs": 985.6407642364502, + "msecs": 982.710599899292, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 675.4364967346191, + "relativeCreated": 13683.052778244019, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe", - "None", - "" + "Returnvalue of Server send Method", + "True", + "" ], - "asctime": "2020-12-26 10:11:43,985", - "created": 1608973903.9858077, + "asctime": "2021-01-06 22:49:24,982", + "created": 1609969764.9828756, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -33953,86 +68837,20415 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe): result = None ()", + "message": "Expectation (Returnvalue of Server send Method): result = True ()", "module": "test", - "msecs": 985.8076572418213, + "msecs": 982.8755855560303, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 675.6033897399902, + "relativeCreated": 13683.217763900757, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 985.9888553619385, - "msg": "Return Value (request instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", + "msecs": 983.027458190918, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 675.7845878601074, + "relativeCreated": 13683.369636535645, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.0001811981201171875 + "time_consumption": 0.0001518726348876953 }, { "args": [ "None", "" ], - "asctime": "2020-12-26 10:11:44,087", - "created": 1608973904.0872743, + "asctime": "2021-01-06 22:49:24,983", + "created": 1609969764.9835613, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content None and Type is ).", + "lineno": 144, + "message": "Checksum Error -> No message received by client is correct (Content None and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - " SP server:", - "0.1", + "Checksum Error -> No message received by client", + "None", + "" + ], + "asctime": "2021-01-06 22:49:24,983", + "created": 1609969764.9832559, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Checksum Error -> No message received by client): None ()", + "module": "test", + "msecs": 983.2558631896973, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13683.598041534424, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Checksum Error -> No message received by client", + "None", + "" + ], + "asctime": "2021-01-06 22:49:24,983", + "created": 1609969764.9833984, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Checksum Error -> No message received by client): result = None ()", + "module": "test", + "msecs": 983.3984375, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13683.740615844727, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 983.5612773895264, + "msg": "Checksum Error -> No message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13683.903455734253, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001628398895263672 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.6072139739990234, + "time_finished": "2021-01-06 22:49:24,983", + "time_start": "2021-01-06 22:49:24,376" + }, + "_ZJMD8EzaEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:11,607", + "created": 1609969751.607237, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 34, + "message": "_ZJMD8EzaEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 607.2371006011963, + "msg": "_ZJMD8EzaEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 307.57927894592285, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:11,612", + "created": 1609969751.6120093, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:11,607", + "created": 1609969751.6075144, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 607.5143814086914, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 307.85655975341797, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:11,607", + "created": 1609969751.6076436, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 607.6436042785645, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 307.985782623291, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:11,607", + "created": 1609969751.6077929, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 607.792854309082, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 308.1350326538086, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:11,607", + "created": 1609969751.6079009, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 607.900857925415, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 308.2430362701416, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:11,608", + "created": 1609969751.6080027, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 608.0026626586914, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 308.34484100341797, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:11,608", + "created": 1609969751.608102, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 608.1020832061768, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 308.4442615509033, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:11,608", + "created": 1609969751.6082237, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 608.2236766815186, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 308.5658550262451, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:11,608", + "created": 1609969751.608333, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 608.3331108093262, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 308.67528915405273, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:11,608", + "created": 1609969751.608439, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 608.4389686584473, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 308.7811470031738, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:11,608", + "created": 1609969751.608544, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 608.544111251831, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 308.8862895965576, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:11,608", + "created": 1609969751.6086388, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 608.6387634277344, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 308.98094177246094, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:11,608", + "created": 1609969751.6087437, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 608.7436676025391, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 309.0858459472656, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:11,608", + "created": 1609969751.608866, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 608.8659763336182, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 309.2081546783447, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:11,608", + "created": 1609969751.6089652, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 608.9651584625244, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 309.307336807251, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:11,609", + "created": 1609969751.6090717, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 609.0717315673828, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 309.4139099121094, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:11,609", + "created": 1609969751.609176, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 609.1759204864502, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 309.51809883117676, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:11,609", + "created": 1609969751.6092849, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 609.2848777770996, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 309.6270561218262, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:11,609", + "created": 1609969751.6094432, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 609.443187713623, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 309.7853660583496, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:11,609", + "created": 1609969751.6095796, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 609.5795631408691, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 309.9217414855957, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:11,609", + "created": 1609969751.6096773, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 609.6773147583008, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 310.01949310302734, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:11,609", + "created": 1609969751.6098905, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 609.8904609680176, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 310.23263931274414, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:11,610", + "created": 1609969751.6100101, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 610.0101470947266, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 310.3523254394531, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:11,610", + "created": 1609969751.6101508, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 610.1508140563965, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 310.49299240112305, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:11,610", + "created": 1609969751.610253, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 610.253095626831, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 310.5952739715576, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:11,610", + "created": 1609969751.6103504, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 610.3503704071045, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 310.69254875183105, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:11,610", + "created": 1609969751.6104474, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 610.4474067687988, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 310.7895851135254, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:11,610", + "created": 1609969751.610559, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 610.5589866638184, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 310.9011650085449, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:11,610", + "created": 1609969751.6106741, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 610.6741428375244, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 311.016321182251, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:11,610", + "created": 1609969751.610786, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 610.785961151123, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 311.1281394958496, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:11,610", + "created": 1609969751.6108897, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 610.8896732330322, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 311.2318515777588, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:11,610", + "created": 1609969751.6109827, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 610.9826564788818, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 311.3248348236084, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:11,611", + "created": 1609969751.611087, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 611.0870838165283, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 311.4292621612549, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:11,611", + "created": 1609969751.6111991, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 611.199140548706, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 311.5413188934326, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:11,611", + "created": 1609969751.6112976, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 611.297607421875, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 311.63978576660156, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:11,611", + "created": 1609969751.6113992, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 611.3991737365723, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 311.7413520812988, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:11,611", + "created": 1609969751.6115103, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 611.5102767944336, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 311.85245513916016, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:11,611", + "created": 1609969751.6116185, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 611.6185188293457, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 311.96069717407227, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:11,611", + "created": 1609969751.6117158, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 611.7157936096191, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 312.0579719543457, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:11,611", + "created": 1609969751.6118248, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 611.8247509002686, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 312.1669292449951, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:11,611", + "created": 1609969751.6119199, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 611.9198799133301, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 312.26205825805664, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 612.0092868804932, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 312.3514652252197, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.940696716308594e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:11,914", + "created": 1609969751.9142528, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "send_message_with_invalid_checksum", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 70, + "message": "Transfering a message client -> server", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:11,612", + "created": 1609969751.6122367, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 612.236738204956, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 312.5789165496826, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:11,612", + "created": 1609969751.612536, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "module": "test_helpers", + "msecs": 612.5359535217285, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 312.8781318664551, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:11,612", + "created": 1609969751.6127408, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1c", + "module": "test_helpers", + "msecs": 612.7407550811768, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1c", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 313.0829334259033, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:11,612", + "created": 1609969751.6129029, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 432, + "message": "SP server: RX <- Received message has a wrong checksum. Message will be ignored.", + "module": "__init__", + "msecs": 612.9028797149658, + "msg": "%s RX <- Received message has a wrong checksum. Message will be ignored.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 313.2450580596924, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "34" + ], + "asctime": "2021-01-06 22:49:11,913", + "created": 1609969751.9139729, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 34) not in buffer.", + "module": "__init__", + "msecs": 913.9728546142578, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 614.3150329589844, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 914.252758026123, + "msg": "Transfering a message client -> server", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 614.5949363708496, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0002799034118652344 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:11,914", + "created": 1609969751.9148986, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:11,914", + "created": 1609969751.9145534, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Client send Method): True ()", + "module": "test", + "msecs": 914.5534038543701, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 614.8955821990967, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:11,914", + "created": 1609969751.914742, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Client send Method): result = True ()", + "module": "test", + "msecs": 914.7419929504395, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 615.084171295166, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 914.8986339569092, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 615.2408123016357, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00015664100646972656 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:11,915", + "created": 1609969751.9154265, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Checksum Error -> No message received by server is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Checksum Error -> No message received by server", + "None", + "" + ], + "asctime": "2021-01-06 22:49:11,915", + "created": 1609969751.915129, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Checksum Error -> No message received by server): None ()", + "module": "test", + "msecs": 915.1289463043213, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 615.4711246490479, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Checksum Error -> No message received by server", + "None", + "" + ], + "asctime": "2021-01-06 22:49:11,915", + "created": 1609969751.9152856, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Checksum Error -> No message received by server): result = None ()", + "module": "test", + "msecs": 915.285587310791, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 615.6277656555176, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 915.42649269104, + "msg": "Checksum Error -> No message received by server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 615.7686710357666, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014090538024902344 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,218", + "created": 1609969752.2185135, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "send_message_with_invalid_checksum", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 76, + "message": "Transfering a message server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:11,915", + "created": 1609969751.9156992, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 915.6992435455322, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 616.0414218902588, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:11,916", + "created": 1609969751.9161437, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "module": "test_helpers", + "msecs": 916.1436557769775, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 616.4858341217041, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:11,916", + "created": 1609969751.9164407, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "module": "test_helpers", + "msecs": 916.4407253265381, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 35 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 34 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 32 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 73 e9 96 7f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 616.7829036712646, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: 17, data_id: 35", + "status: service or data unknown", + "'msg2_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:11,916", + "created": 1609969751.9167247, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: 17, data_id: 35, status: service or data unknown, data: \"'msg2_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 916.724681854248, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 617.0668601989746, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: service or data unknown" + ], + "asctime": "2021-01-06 22:49:11,916", + "created": 1609969751.9168937, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: service or data unknown", + "module": "__init__", + "msecs": 916.893720626831, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 617.2358989715576, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:11,917", + "created": 1609969751.917096, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 917.0958995819092, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 617.4380779266357, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "0.25", + "17", + "35" + ], + "asctime": "2021-01-06 22:49:12,218", + "created": 1609969752.2182424, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP server: TIMEOUT (0.25s): Requested data (service_id: 17; data_id: 35) not in buffer.", + "module": "__init__", + "msecs": 218.24240684509277, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 918.5845851898193, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 218.51348876953125, + "msg": "Transfering a message server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 918.8556671142578, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00027108192443847656 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:12,219", + "created": 1609969752.2191584, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Server send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Server send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:12,218", + "created": 1609969752.2188394, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Server send Method): True ()", + "module": "test", + "msecs": 218.8394069671631, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 919.1815853118896, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Server send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:12,219", + "created": 1609969752.2190065, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Server send Method): result = True ()", + "module": "test", + "msecs": 219.00653839111328, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 919.3487167358398, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 219.15841102600098, + "msg": "Returnvalue of Server send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 919.5005893707275, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001518726348876953 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:12,219", + "created": 1609969752.2196836, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Checksum Error -> No message received by client is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Checksum Error -> No message received by client", + "None", + "" + ], + "asctime": "2021-01-06 22:49:12,219", + "created": 1609969752.2194002, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Checksum Error -> No message received by client): None ()", + "module": "test", + "msecs": 219.40016746520996, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 919.7423458099365, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Checksum Error -> No message received by client", + "None", + "" + ], + "asctime": "2021-01-06 22:49:12,219", + "created": 1609969752.2195444, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Checksum Error -> No message received by client): result = None ()", + "module": "test", + "msecs": 219.5444107055664, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 919.886589050293, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 219.68364715576172, + "msg": "Checksum Error -> No message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 920.0258255004883, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001392364501953125 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.6124465465545654, + "time_finished": "2021-01-06 22:49:12,219", + "time_start": "2021-01-06 22:49:11,607" + }, + "_ZOW3ME0vEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:23,183", + "created": 1609969763.183357, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 41, + "message": "_ZOW3ME0vEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 183.35700035095215, + "msg": "_ZOW3ME0vEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11883.699178695679, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:23,190", + "created": 1609969763.190738, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,183", + "created": 1609969763.1837723, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 183.77232551574707, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11884.114503860474, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:23,183", + "created": 1609969763.1839733, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 183.9733123779297, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11884.315490722656, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,184", + "created": 1609969763.1841955, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 184.19551849365234, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11884.537696838379, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,184", + "created": 1609969763.1843543, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 184.35430526733398, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11884.69648361206, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,184", + "created": 1609969763.1845036, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 184.50355529785156, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11884.845733642578, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,184", + "created": 1609969763.1846504, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 184.65042114257812, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11884.992599487305, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:23,184", + "created": 1609969763.184824, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 184.82398986816406, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11885.16616821289, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:23,184", + "created": 1609969763.1849964, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 184.9963665008545, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11885.338544845581, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:23,185", + "created": 1609969763.1851683, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 185.16826629638672, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11885.510444641113, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:23,185", + "created": 1609969763.1853287, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 185.32872200012207, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11885.670900344849, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,185", + "created": 1609969763.1854696, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 185.4696273803711, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11885.811805725098, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:23,185", + "created": 1609969763.1856265, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 185.62650680541992, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11885.968685150146, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,185", + "created": 1609969763.1858227, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 185.8227252960205, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11886.164903640747, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,186", + "created": 1609969763.1864018, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 186.4018440246582, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11886.744022369385, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:23,186", + "created": 1609969763.1865702, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 186.5701675415039, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11886.91234588623, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:23,186", + "created": 1609969763.1867373, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 186.7372989654541, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11887.07947731018, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:23,186", + "created": 1609969763.186896, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 186.89608573913574, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11887.238264083862, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:23,187", + "created": 1609969763.1870441, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 187.0441436767578, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11887.386322021484, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:23,187", + "created": 1609969763.1871867, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 187.18671798706055, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11887.528896331787, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,187", + "created": 1609969763.1873286, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 187.32857704162598, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11887.670755386353, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,187", + "created": 1609969763.1876032, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 187.60323524475098, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11887.945413589478, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:23,187", + "created": 1609969763.1877654, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 187.76535987854004, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11888.107538223267, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,187", + "created": 1609969763.1879683, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 187.96825408935547, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11888.310432434082, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,188", + "created": 1609969763.1881187, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 188.11869621276855, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11888.460874557495, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,188", + "created": 1609969763.1882849, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 188.28487396240234, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11888.627052307129, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,188", + "created": 1609969763.1884377, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 188.43770027160645, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11888.779878616333, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:23,188", + "created": 1609969763.1885908, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 188.59076499938965, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11888.932943344116, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:23,188", + "created": 1609969763.1887605, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 188.76051902770996, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11889.102697372437, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:23,188", + "created": 1609969763.188918, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 188.9181137084961, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11889.260292053223, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:23,189", + "created": 1609969763.1890717, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 189.0716552734375, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11889.413833618164, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,189", + "created": 1609969763.1892095, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 189.2094612121582, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11889.551639556885, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:23,189", + "created": 1609969763.1893642, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 189.36419486999512, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11889.706373214722, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,189", + "created": 1609969763.1895278, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 189.5277500152588, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11889.869928359985, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,189", + "created": 1609969763.1896737, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 189.67366218566895, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11890.015840530396, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:23,189", + "created": 1609969763.1898518, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 189.8517608642578, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11890.193939208984, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:23,190", + "created": 1609969763.19001, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 190.01007080078125, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11890.352249145508, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:23,190", + "created": 1609969763.1901796, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 190.17958641052246, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11890.521764755249, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:23,190", + "created": 1609969763.1903253, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 190.32526016235352, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11890.66743850708, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:23,190", + "created": 1609969763.190467, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 190.46688079833984, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11890.809059143066, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,190", + "created": 1609969763.1906052, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 190.60516357421875, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11890.947341918945, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 190.73796272277832, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11891.080141067505, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001327991485595703 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,191", + "created": 1609969763.1911926, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service_existing_sid", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 338, + "message": "Adding a service with an already registered request SID", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + 10, + 18 + ], + "asctime": "2021-01-06 22:49:23,191", + "created": 1609969763.191046, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "ERROR", + "levelno": 40, + "lineno": 551, + "message": "SP server: Service with Request-SID=10 and Response-SID=18 not added, because request SID is already registered", + "module": "__init__", + "msecs": 191.04599952697754, + "msg": "%s Service with Request-SID=%d and Response-SID=%d not added, because request SID is already registered", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11891.388177871704, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 191.192626953125, + "msg": "Adding a service with an already registered request SID", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11891.534805297852, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014662742614746094 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,191", + "created": 1609969763.1914117, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service_existing_sid", + "levelname": "INFO", + "levelno": 20, + "lineno": 339, + "message": "Expected Exception RequestSidExistsError was triggered", + "module": "test_communication", + "moduleLogger": [], + "msecs": 191.41173362731934, + "msg": "Expected Exception RequestSidExistsError was triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11891.753911972046, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,191", + "created": 1609969763.1917787, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service_existing_sid", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 347, + "message": "Adding a service with an already registered response SID", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + 17, + 11 + ], + "asctime": "2021-01-06 22:49:23,191", + "created": 1609969763.191626, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "ERROR", + "levelno": 40, + "lineno": 554, + "message": "SP server: Service with Request-SID=17 and Response-SID=11 not added, because response SID is already registered", + "module": "__init__", + "msecs": 191.62607192993164, + "msg": "%s Service with Request-SID=%d and Response-SID=%d not added, because response SID is already registered", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11891.968250274658, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 191.77865982055664, + "msg": "Adding a service with an already registered response SID", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11892.120838165283, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.000152587890625 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,191", + "created": 1609969763.1919713, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service_existing_sid", + "levelname": "INFO", + "levelno": 20, + "lineno": 348, + "message": "Expected Exception ResponseSidExistsError was triggered", + "module": "test_communication", + "moduleLogger": [], + "msecs": 191.9713020324707, + "msg": "Expected Exception ResponseSidExistsError was triggered", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11892.313480377197, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.008614301681518555, + "time_finished": "2021-01-06 22:49:23,191", + "time_start": "2021-01-06 22:49:23,183" + }, + "_aA508E4gEeupHeIYRnC0qw": { + "args": null, + "asctime": "2021-01-06 22:49:24,252", + "created": 1609969764.2523735, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 53, + "message": "_aA508E4gEeupHeIYRnC0qw", + "module": "__init__", + "moduleLogger": [], + "msecs": 252.37345695495605, + "msg": "_aA508E4gEeupHeIYRnC0qw", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12952.715635299683, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.2582674, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,252", + "created": 1609969764.252782, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 252.78210639953613, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12953.124284744263, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:24,252", + "created": 1609969764.2529802, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 252.98023223876953, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12953.322410583496, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,253", + "created": 1609969764.2531993, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 253.19933891296387, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12953.54151725769, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,253", + "created": 1609969764.2533555, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 253.3555030822754, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12953.697681427002, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,253", + "created": 1609969764.2535017, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 253.50165367126465, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12953.843832015991, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,253", + "created": 1609969764.253648, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 253.648042678833, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12953.99022102356, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:24,253", + "created": 1609969764.2538333, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 253.83329391479492, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12954.175472259521, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:24,253", + "created": 1609969764.2539983, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 253.9982795715332, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12954.34045791626, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:24,254", + "created": 1609969764.2541542, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 254.15420532226562, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12954.496383666992, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:24,254", + "created": 1609969764.2543097, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 254.30965423583984, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12954.651832580566, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,254", + "created": 1609969764.2544491, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 254.44912910461426, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12954.79130744934, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:24,254", + "created": 1609969764.254604, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 254.60410118103027, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12954.946279525757, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,254", + "created": 1609969764.2547843, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 254.78434562683105, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12955.126523971558, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,254", + "created": 1609969764.254934, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 254.93407249450684, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12955.276250839233, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:24,255", + "created": 1609969764.2550838, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 255.08379936218262, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12955.42597770691, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:24,255", + "created": 1609969764.2552369, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 255.23686408996582, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12955.579042434692, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:24,255", + "created": 1609969764.2553856, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 255.3856372833252, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12955.727815628052, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:24,255", + "created": 1609969764.255529, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 255.52892684936523, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12955.871105194092, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:24,255", + "created": 1609969764.2556686, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 255.66864013671875, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12956.010818481445, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,255", + "created": 1609969764.2558067, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 255.80668449401855, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12956.148862838745, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,256", + "created": 1609969764.2561042, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 256.1042308807373, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12956.446409225464, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:24,256", + "created": 1609969764.2562652, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 256.26516342163086, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12956.607341766357, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,256", + "created": 1609969764.2564905, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 256.49046897888184, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12956.832647323608, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,256", + "created": 1609969764.2566512, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 256.6511631011963, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12956.993341445923, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,256", + "created": 1609969764.2567956, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 256.79564476013184, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12957.137823104858, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,256", + "created": 1609969764.2569377, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 256.93774223327637, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12957.279920578003, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:24,257", + "created": 1609969764.2570984, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 257.0984363555908, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12957.440614700317, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:24,257", + "created": 1609969764.2572544, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 257.25436210632324, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12957.59654045105, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:24,257", + "created": 1609969764.25741, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 257.41004943847656, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12957.752227783203, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:24,257", + "created": 1609969764.257574, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 257.57408142089844, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12957.916259765625, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,257", + "created": 1609969764.2577116, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 257.71164894104004, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.053827285767, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:24,257", + "created": 1609969764.2578418, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 257.8418254852295, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.184003829956, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,257", + "created": 1609969764.257895, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 257.89499282836914, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.237171173096, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,257", + "created": 1609969764.2579443, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 257.94434547424316, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.28652381897, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:24,257", + "created": 1609969764.2579918, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 257.9917907714844, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.333969116211, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.2580404, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 258.0404281616211, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.382606506348, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.2580895, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 258.089542388916, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.431720733643, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.2581344, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 258.1343650817871, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.476543426514, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.2581818, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 258.1818103790283, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.523988723755, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.2582257, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 258.225679397583, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.56785774231, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 258.2674026489258, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.609580993652, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.172325134277344e-05 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.2584639, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.2583675, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client connection status): False ()", + "module": "test", + "msecs": 258.36753845214844, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.709716796875, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Client connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.258414, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client connection status): result = False ()", + "module": "test", + "msecs": 258.41403007507324, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.7562084198, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 258.46385955810547, + "msg": "Client connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.806037902832, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.982948303222656e-05 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.258624, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.258537, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server connection status): False ()", + "module": "test", + "msecs": 258.53705406188965, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.879232406616, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Server connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.2585807, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server connection status): result = False ()", + "module": "test", + "msecs": 258.58068466186523, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.922863006592, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 258.6240768432617, + "msg": "Server connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12958.966255187988, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.3392181396484375e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.2595828, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "connection_established", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 11, + "message": "Connecting Client", + "module": "test_add_methods", + "moduleLogger": [ + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.2586918, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 258.69178771972656, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12959.033966064453, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.2587562, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 258.756160736084, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12959.09833908081, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.2588859, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "module": "test_helpers", + "msecs": 258.88586044311523, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12959.228038787842, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,258", + "created": 1609969764.2589734, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "module": "test_helpers", + "msecs": 258.9733600616455, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12959.315538406372, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.2590663, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 259.0663433074951, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12959.408521652222, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__channel_name_request__" + ], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.2591236, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 259.1235637664795, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12959.465742111206, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.25919, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 259.1900825500488, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12959.532260894775, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.259307, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 259.3069076538086, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12959.649085998535, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.259386, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 259.3860626220703, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12959.728240966797, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.2594693, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 259.46927070617676, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12959.811449050903, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.259528, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 259.52792167663574, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12959.870100021362, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 259.5827579498291, + "msg": "Connecting Client", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12959.924936294556, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 5.4836273193359375e-05 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.2597568, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.259666, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client connection status): True ()", + "module": "test", + "msecs": 259.66596603393555, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.008144378662, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Client connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.2597122, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client connection status): result = True ()", + "module": "test", + "msecs": 259.71221923828125, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.054397583008, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 259.75680351257324, + "msg": "Client connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.0989818573, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.458427429199219e-05 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.2599204, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.259829, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server connection status): False ()", + "module": "test", + "msecs": 259.829044342041, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.171222686768, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Server connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.2598765, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server connection status): result = False ()", + "module": "test", + "msecs": 259.8764896392822, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.218667984009, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 259.9203586578369, + "msg": "Server connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.262537002563, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.38690185546875e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.2600343, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "connection_established", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 15, + "message": "Connecting Server", + "module": "test_add_methods", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,259", + "created": 1609969764.2599869, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 259.98687744140625, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.329055786133, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 260.03432273864746, + "msg": "Connecting Server", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.376501083374, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.744529724121094e-05 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.2601876, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.2601016, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client connection status): True ()", + "module": "test", + "msecs": 260.1015567779541, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.44373512268, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Client connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.2601452, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client connection status): result = True ()", + "module": "test", + "msecs": 260.1451873779297, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.487365722656, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 260.18762588500977, + "msg": "Client connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.529804229736, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.2438507080078125e-05 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.260508, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.260412, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server connection status): True ()", + "module": "test", + "msecs": 260.41197776794434, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.75415611267, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Server connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.2604618, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server connection status): result = True ()", + "module": "test", + "msecs": 260.46180725097656, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.803985595703, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 260.50806045532227, + "msg": "Server connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.850238800049, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.6253204345703125e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.2605762, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "connection_established", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Adding secrets to socket_protocol", + "module": "test_add_methods", + "moduleLogger": [], + "msecs": 260.5762481689453, + "msg": "Adding secrets to socket_protocol", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.918426513672, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.2607424, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.2606528, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client connection status): False ()", + "module": "test", + "msecs": 260.6527805328369, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12960.994958877563, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Client connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.2606983, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client connection status): result = False ()", + "module": "test", + "msecs": 260.6983184814453, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12961.040496826172, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 260.7424259185791, + "msg": "Client connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12961.084604263306, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.410743713378906e-05 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.2608995, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.260812, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server connection status): False ()", + "module": "test", + "msecs": 260.81204414367676, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12961.154222488403, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Server connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.2608564, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server connection status): result = False ()", + "module": "test", + "msecs": 260.85638999938965, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12961.198568344116, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 260.89954376220703, + "msg": "Server connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12961.241722106934, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.315376281738281e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,363", + "created": 1609969764.3631327, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "connection_established", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Doing authentification", + "module": "test_add_methods", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:24,260", + "created": 1609969764.2609785, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 260.97846031188965, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12961.320638656616, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,261", + "created": 1609969764.2610972, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "module": "test_helpers", + "msecs": 261.0971927642822, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12961.439371109009, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,261", + "created": 1609969764.2611763, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "module": "test_helpers", + "msecs": 261.17634773254395, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12961.51852607727, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:24,261", + "created": 1609969764.2612631, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 261.2631320953369, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12961.605310440063, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__authentificate_create_seed__" + ], + "asctime": "2021-01-06 22:49:24,261", + "created": 1609969764.2613177, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_create_seed__ to process received data", + "module": "__init__", + "msecs": 261.3177299499512, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12961.659908294678, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed", + "status: okay", + "'23168fe5dbc8cf6ff8f24e7fb999a3fbe667da5a6a158eb3ada8c83f11d967ad'" + ], + "asctime": "2021-01-06 22:49:24,261", + "created": 1609969764.2613862, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: authentification response, data_id: seed, status: okay, data: \"'23168fe5dbc8cf6ff8f24e7fb999a3fbe667da5a6a158eb3ada8c83f11d967ad'\"", + "module": "__init__", + "msecs": 261.3861560821533, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12961.72833442688, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,261", + "created": 1609969764.2615318, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 32 33 31 36 38 66 65 35 64 62 63 38 63 66 36 66 66 38 66 32 34 65 37 66 62 39 39 39 61 33 66 62 65 36 36 37 64 61 35 61 36 61 31 35 38 65 62 33 61 64 61 38 63 38 33 66 31 31 64 39 36 37 61 64 22 7d af 35 34 74", + "module": "test_helpers", + "msecs": 261.5318298339844, + "msg": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 32 33 31 36 38 66 65 35 64 62 63 38 63 66 36 66 66 38 66 32 34 65 37 66 62 39 39 39 61 33 66 62 65 36 36 37 64 61 35 61 36 61 31 35 38 65 62 33 61 64 61 38 63 38 33 66 31 31 64 39 36 37 61 64 22 7d af 35 34 74", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12961.874008178711, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,261", + "created": 1609969764.261641, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 32 33 31 36 38 66 65 35 64 62 63 38 63 66 36 66 66 38 66 32 34 65 37 66 62 39 39 39 61 33 66 62 65 36 36 37 64 61 35 61 36 61 31 35 38 65 62 33 61 64 61 38 63 38 33 66 31 31 64 39 36 37 61 64 22 7d af 35 34 74", + "module": "test_helpers", + "msecs": 261.6410255432129, + "msg": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 32 33 31 36 38 66 65 35 64 62 63 38 63 66 36 66 66 38 66 32 34 65 37 66 62 39 39 39 61 33 66 62 65 36 36 37 64 61 35 61 36 61 31 35 38 65 62 33 61 64 61 38 63 38 33 66 31 31 64 39 36 37 61 64 22 7d af 35 34 74", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12961.98320388794, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed", + "status: okay", + "'23168fe5dbc8cf6ff8f24e7fb999a3fbe667da5a6a158eb3ada8c83f11d967ad'" + ], + "asctime": "2021-01-06 22:49:24,261", + "created": 1609969764.261728, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: authentification response, data_id: seed, status: okay, data: \"'23168fe5dbc8cf6ff8f24e7fb999a3fbe667da5a6a158eb3ada8c83f11d967ad'\"", + "module": "__init__", + "msecs": 261.72804832458496, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12962.070226669312, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__authentificate_create_key__" + ], + "asctime": "2021-01-06 22:49:24,261", + "created": 1609969764.261796, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_create_key__ to process received data", + "module": "__init__", + "msecs": 261.7959976196289, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12962.138175964355, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key", + "status: okay", + "'52cffa52636d4dc117438088e2df14d7d65557a263b0b636f84eec85d1ee2b0e23459582b543eca30bf63f939d1fc10777e9ef2cf943be99d7a33f292e9bbf71'" + ], + "asctime": "2021-01-06 22:49:24,261", + "created": 1609969764.2618737, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: authentification request, data_id: key, status: okay, data: \"'52cffa52636d4dc117438088e2df14d7d65557a263b0b636f84eec85d1ee2b0e23459582b543eca30bf63f939d1fc10777e9ef2cf943be99d7a33f292e9bbf71'\"", + "module": "__init__", + "msecs": 261.873722076416, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12962.215900421143, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,262", + "created": 1609969764.2620459, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 35 32 63 66 66 61 35 32 36 33 36 64 34 64 63 31 31 37 34 33 38 30 38 38 65 32 64 66 31 34 64 37 64 36 35 35 35 37 61 32 36 33 62 30 62 36 33 36 66 38 34 65 65 63 38 35 64 31 65 65 32 62 30 65 32 33 34 35 39 35 38 32 62 35 34 33 65 63 61 33 30 62 66 36 33 66 39 33 39 64 31 66 63 31 30 37 37 37 65 39 65 66 32 63 66 39 34 33 62 65 39 39 64 37 61 33 33 66 32 39 32 65 39 62 62 66 37 31 22 7d 93 4c bc 2d", + "module": "test_helpers", + "msecs": 262.04586029052734, + "msg": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 35 32 63 66 66 61 35 32 36 33 36 64 34 64 63 31 31 37 34 33 38 30 38 38 65 32 64 66 31 34 64 37 64 36 35 35 35 37 61 32 36 33 62 30 62 36 33 36 66 38 34 65 65 63 38 35 64 31 65 65 32 62 30 65 32 33 34 35 39 35 38 32 62 35 34 33 65 63 61 33 30 62 66 36 33 66 39 33 39 64 31 66 63 31 30 37 37 37 65 39 65 66 32 63 66 39 34 33 62 65 39 39 64 37 61 33 33 66 32 39 32 65 39 62 62 66 37 31 22 7d 93 4c bc 2d", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12962.388038635254, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,262", + "created": 1609969764.2621882, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 35 32 63 66 66 61 35 32 36 33 36 64 34 64 63 31 31 37 34 33 38 30 38 38 65 32 64 66 31 34 64 37 64 36 35 35 35 37 61 32 36 33 62 30 62 36 33 36 66 38 34 65 65 63 38 35 64 31 65 65 32 62 30 65 32 33 34 35 39 35 38 32 62 35 34 33 65 63 61 33 30 62 66 36 33 66 39 33 39 64 31 66 63 31 30 37 37 37 65 39 65 66 32 63 66 39 34 33 62 65 39 39 64 37 61 33 33 66 32 39 32 65 39 62 62 66 37 31 22 7d 93 4c bc 2d", + "module": "test_helpers", + "msecs": 262.188196182251, + "msg": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 35 32 63 66 66 61 35 32 36 33 36 64 34 64 63 31 31 37 34 33 38 30 38 38 65 32 64 66 31 34 64 37 64 36 35 35 35 37 61 32 36 33 62 30 62 36 33 36 66 38 34 65 65 63 38 35 64 31 65 65 32 62 30 65 32 33 34 35 39 35 38 32 62 35 34 33 65 63 61 33 30 62 66 36 33 66 39 33 39 64 31 66 63 31 30 37 37 37 65 39 65 66 32 63 66 39 34 33 62 65 39 39 64 37 61 33 33 66 32 39 32 65 39 62 62 66 37 31 22 7d 93 4c bc 2d", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12962.530374526978, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key", + "status: okay", + "'52cffa52636d4dc117438088e2df14d7d65557a263b0b636f84eec85d1ee2b0e23459582b543eca30bf63f939d1fc10777e9ef2cf943be99d7a33f292e9bbf71'" + ], + "asctime": "2021-01-06 22:49:24,262", + "created": 1609969764.2622786, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: authentification request, data_id: key, status: okay, data: \"'52cffa52636d4dc117438088e2df14d7d65557a263b0b636f84eec85d1ee2b0e23459582b543eca30bf63f939d1fc10777e9ef2cf943be99d7a33f292e9bbf71'\"", + "module": "__init__", + "msecs": 262.27855682373047, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12962.620735168457, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__authentificate_check_key__" + ], + "asctime": "2021-01-06 22:49:24,262", + "created": 1609969764.2623353, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_check_key__ to process received data", + "module": "__init__", + "msecs": 262.33530044555664, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12962.677478790283, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key", + "status: okay", + "True" + ], + "asctime": "2021-01-06 22:49:24,262", + "created": 1609969764.2624018, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: authentification response, data_id: key, status: okay, data: \"True\"", + "module": "__init__", + "msecs": 262.401819229126, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12962.743997573853, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,262", + "created": 1609969764.2625089, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", + "module": "test_helpers", + "msecs": 262.5088691711426, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12962.85104751587, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,262", + "created": 1609969764.2625885, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", + "module": "test_helpers", + "msecs": 262.5885009765625, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12962.930679321289, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key", + "status: okay", + "True" + ], + "asctime": "2021-01-06 22:49:24,262", + "created": 1609969764.2626958, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: authentification response, data_id: key, status: okay, data: \"True\"", + "module": "__init__", + "msecs": 262.6957893371582, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12963.037967681885, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__authentificate_process_feedback__" + ], + "asctime": "2021-01-06 22:49:24,262", + "created": 1609969764.2627504, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_process_feedback__ to process received data", + "module": "__init__", + "msecs": 262.75038719177246, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12963.092565536499, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,262", + "created": 1609969764.2627974, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentificate_process_feedback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 350, + "message": "SP client: Got positive authentification feedback", + "module": "__init__", + "msecs": 262.79735565185547, + "msg": "%s Got positive authentification feedback", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12963.139533996582, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 363.1327152252197, + "msg": "Doing authentification", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13063.474893569946, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10033535957336426 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,363", + "created": 1609969764.363646, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,363", + "created": 1609969764.3634386, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client connection status): True ()", + "module": "test", + "msecs": 363.43860626220703, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13063.780784606934, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Client connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,363", + "created": 1609969764.3635488, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client connection status): result = True ()", + "module": "test", + "msecs": 363.54875564575195, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13063.890933990479, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 363.6460304260254, + "msg": "Client connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13063.988208770752, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 9.72747802734375e-05 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,363", + "created": 1609969764.3639734, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,363", + "created": 1609969764.3637965, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server connection status): True ()", + "module": "test", + "msecs": 363.7964725494385, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13064.138650894165, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Server connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,363", + "created": 1609969764.3638859, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server connection status): result = True ()", + "module": "test", + "msecs": 363.88587951660156, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13064.228057861328, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 363.97337913513184, + "msg": "Server connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13064.315557479858, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.749961853027344e-05 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.11159992218017578, + "time_finished": "2021-01-06 22:49:24,363", + "time_start": "2021-01-06 22:49:24,252" + }, + "_elO7wE4gEeupHeIYRnC0qw": { + "args": null, + "asctime": "2021-01-06 22:49:24,364", + "created": 1609969764.3643115, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 54, + "message": "_elO7wE4gEeupHeIYRnC0qw", + "module": "__init__", + "moduleLogger": [], + "msecs": 364.31145668029785, + "msg": "_elO7wE4gEeupHeIYRnC0qw", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13064.653635025024, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:24,368", + "created": 1609969764.3684907, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,364", + "created": 1609969764.3645716, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 364.57157135009766, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13064.913749694824, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:24,364", + "created": 1609969764.3646908, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 364.69078063964844, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13065.032958984375, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,364", + "created": 1609969764.364825, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 364.8250102996826, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13065.16718864441, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,364", + "created": 1609969764.3649206, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 364.92061614990234, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13065.262794494629, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,365", + "created": 1609969764.365011, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 365.01097679138184, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13065.353155136108, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,365", + "created": 1609969764.3651066, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 365.10658264160156, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13065.448760986328, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:24,365", + "created": 1609969764.365205, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 365.2050495147705, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13065.547227859497, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:24,365", + "created": 1609969764.3653033, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 365.30327796936035, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13065.645456314087, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:24,365", + "created": 1609969764.3653991, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 365.3991222381592, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13065.741300582886, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:24,365", + "created": 1609969764.3654938, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 365.4937744140625, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13065.835952758789, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,365", + "created": 1609969764.3655796, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 365.57960510253906, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13065.921783447266, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:24,365", + "created": 1609969764.3656752, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 365.6752109527588, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13066.017389297485, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,365", + "created": 1609969764.3657775, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 365.77749252319336, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13066.11967086792, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,365", + "created": 1609969764.3658907, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 365.8907413482666, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13066.232919692993, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:24,365", + "created": 1609969764.365984, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 365.9839630126953, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13066.326141357422, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:24,366", + "created": 1609969764.3660793, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 366.07933044433594, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13066.421508789062, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:24,366", + "created": 1609969764.3661792, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 366.1792278289795, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13066.521406173706, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:24,366", + "created": 1609969764.3662746, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 366.2745952606201, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13066.616773605347, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:24,366", + "created": 1609969764.3663669, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 366.3668632507324, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13066.709041595459, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,366", + "created": 1609969764.3664536, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 366.4536476135254, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13066.795825958252, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,366", + "created": 1609969764.36662, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 366.6200637817383, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13066.962242126465, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:24,366", + "created": 1609969764.3667173, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 366.7173385620117, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13067.059516906738, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,366", + "created": 1609969764.366847, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 366.84703826904297, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13067.18921661377, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,366", + "created": 1609969764.3669386, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 366.93859100341797, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13067.280769348145, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,367", + "created": 1609969764.367027, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 367.02704429626465, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13067.369222640991, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,367", + "created": 1609969764.3671136, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 367.1135902404785, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13067.455768585205, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:24,367", + "created": 1609969764.3672056, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 367.2056198120117, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13067.547798156738, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:24,367", + "created": 1609969764.367307, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 367.3069477081299, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13067.649126052856, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:24,367", + "created": 1609969764.367407, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 367.40708351135254, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13067.74926185608, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:24,367", + "created": 1609969764.3675077, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 367.5076961517334, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13067.84987449646, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,367", + "created": 1609969764.367593, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 367.59305000305176, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13067.935228347778, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:24,367", + "created": 1609969764.3676858, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 367.68579483032227, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13068.027973175049, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,367", + "created": 1609969764.3677866, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 367.7866458892822, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13068.128824234009, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,367", + "created": 1609969764.3678749, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 367.8748607635498, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13068.217039108276, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:24,367", + "created": 1609969764.3679655, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 367.9654598236084, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13068.307638168335, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:24,368", + "created": 1609969764.368059, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 368.0589199066162, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13068.401098251343, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:24,368", + "created": 1609969764.3681512, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 368.1511878967285, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13068.493366241455, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:24,368", + "created": 1609969764.3682373, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 368.2372570037842, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13068.57943534851, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:24,368", + "created": 1609969764.368321, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 368.3209419250488, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13068.663120269775, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,368", + "created": 1609969764.3684056, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 368.4055805206299, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13068.747758865356, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 368.49069595336914, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13068.832874298096, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.511543273925781e-05 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,368", + "created": 1609969764.3688645, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client Communication instance connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client Communication instance connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,368", + "created": 1609969764.3686712, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client Communication instance connection status): False ()", + "module": "test", + "msecs": 368.671178817749, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13069.013357162476, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Client Communication instance connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,368", + "created": 1609969764.3687687, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client Communication instance connection status): result = False ()", + "module": "test", + "msecs": 368.76869201660156, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13069.110870361328, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 368.8645362854004, + "msg": "Client Communication instance connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13069.206714630127, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 9.584426879882812e-05 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,369", + "created": 1609969764.3691704, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server Communication instance connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server Communication instance connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,369", + "created": 1609969764.3690033, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server Communication instance connection status): False ()", + "module": "test", + "msecs": 369.0032958984375, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13069.345474243164, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Server Communication instance connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,369", + "created": 1609969764.3690882, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server Communication instance connection status): result = False ()", + "module": "test", + "msecs": 369.08817291259766, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13069.430351257324, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 369.1704273223877, + "msg": "Server Communication instance connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13069.512605667114, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.225440979003906e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,370", + "created": 1609969764.3709853, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "is_connected", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 37, + "message": "Connecting Client", + "module": "test_add_methods", + "moduleLogger": [ + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,369", + "created": 1609969764.3692997, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 369.29965019226074, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13069.641828536987, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:24,369", + "created": 1609969764.3694203, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 369.42028999328613, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13069.762468338013, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,369", + "created": 1609969764.3696568, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "module": "test_helpers", + "msecs": 369.6568012237549, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13069.998979568481, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,369", + "created": 1609969764.36983, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "module": "test_helpers", + "msecs": 369.8298931121826, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 38 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 53 5e 67 0b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13070.17207145691, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:24,370", + "created": 1609969764.370006, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: channel name request, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 370.0060844421387, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13070.348262786865, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__channel_name_request__" + ], + "asctime": "2021-01-06 22:49:24,370", + "created": 1609969764.370124, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __channel_name_request__ to process received data", + "module": "__init__", + "msecs": 370.12410163879395, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13070.46627998352, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:24,370", + "created": 1609969764.3702457, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 370.24569511413574, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13070.587873458862, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,370", + "created": 1609969764.3704617, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 370.46170234680176, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13070.803880691528, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,370", + "created": 1609969764.3706136, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "module": "test_helpers", + "msecs": 370.61357498168945, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 39 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 30 59 be 2f", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13070.955753326416, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:24,370", + "created": 1609969764.3707738, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: channel name response, data_id: name, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 370.7737922668457, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13071.115970611572, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "__channel_name_response__" + ], + "asctime": "2021-01-06 22:49:24,370", + "created": 1609969764.3708808, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __channel_name_response__ to process received data", + "module": "__init__", + "msecs": 370.8808422088623, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13071.223020553589, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 370.9852695465088, + "msg": "Connecting Client", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13071.327447891235, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00010442733764648438 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,371", + "created": 1609969764.3713186, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client Communication instance connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client Communication instance connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,371", + "created": 1609969764.3711417, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client Communication instance connection status): True ()", + "module": "test", + "msecs": 371.1416721343994, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13071.483850479126, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Client Communication instance connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,371", + "created": 1609969764.3712306, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client Communication instance connection status): result = True ()", + "module": "test", + "msecs": 371.2306022644043, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13071.57278060913, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 371.3185787200928, + "msg": "Client Communication instance connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13071.66075706482, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.797645568847656e-05 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,371", + "created": 1609969764.371642, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server Communication instance connection status is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server Communication instance connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,371", + "created": 1609969764.3714657, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server Communication instance connection status): False ()", + "module": "test", + "msecs": 371.46568298339844, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13071.807861328125, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Server Communication instance connection status", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,371", + "created": 1609969764.3715515, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server Communication instance connection status): result = False ()", + "module": "test", + "msecs": 371.551513671875, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13071.893692016602, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 371.6421127319336, + "msg": "Server Communication instance connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13071.98429107666, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 9.059906005859375e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,371", + "created": 1609969764.371871, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "is_connected", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 41, + "message": "Connecting Server", + "module": "test_add_methods", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,371", + "created": 1609969764.3717735, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 371.77348136901855, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13072.115659713745, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 371.8709945678711, + "msg": "Connecting Server", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13072.213172912598, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 9.751319885253906e-05 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,372", + "created": 1609969764.3721678, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Client Communication instance connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Client Communication instance connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,372", + "created": 1609969764.3720005, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Client Communication instance connection status): True ()", + "module": "test", + "msecs": 372.00045585632324, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13072.34263420105, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Client Communication instance connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,372", + "created": 1609969764.3720844, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Client Communication instance connection status): result = True ()", + "module": "test", + "msecs": 372.084379196167, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13072.426557540894, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 372.16782569885254, + "msg": "Client Communication instance connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13072.51000404358, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.344650268554688e-05 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,372", + "created": 1609969764.3724697, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Server Communication instance connection status is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Server Communication instance connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,372", + "created": 1609969764.3723042, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Server Communication instance connection status): True ()", + "module": "test", + "msecs": 372.30420112609863, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13072.646379470825, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Server Communication instance connection status", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,372", + "created": 1609969764.3723874, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Server Communication instance connection status): result = True ()", + "module": "test", + "msecs": 372.3874092102051, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13072.729587554932, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 372.4696636199951, + "msg": "Server Communication instance connection status is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13072.811841964722, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.225440979003906e-05 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.008158206939697266, + "time_finished": "2021-01-06 22:49:24,372", + "time_start": "2021-01-06 22:49:24,364" + }, + "_gvJ1oE4gEeupHeIYRnC0qw": { + "args": null, + "asctime": "2021-01-06 22:49:24,372", + "created": 1609969764.3728244, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 55, + "message": "_gvJ1oE4gEeupHeIYRnC0qw", + "module": "__init__", + "moduleLogger": [], + "msecs": 372.82443046569824, + "msg": "_gvJ1oE4gEeupHeIYRnC0qw", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13073.166608810425, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3753476, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,373", + "created": 1609969764.3730927, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 373.0926513671875, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13073.434829711914, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:24,373", + "created": 1609969764.3732326, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 373.2326030731201, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13073.574781417847, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,373", + "created": 1609969764.3733768, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 373.37684631347656, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13073.719024658203, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,373", + "created": 1609969764.3734732, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 373.4731674194336, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13073.81534576416, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,373", + "created": 1609969764.3735633, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 373.563289642334, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13073.90546798706, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,373", + "created": 1609969764.3736517, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 373.65174293518066, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13073.993921279907, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:24,373", + "created": 1609969764.3737469, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 373.7468719482422, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.089050292969, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:24,373", + "created": 1609969764.3738446, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 373.8446235656738, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.1868019104, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:24,373", + "created": 1609969764.373894, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 373.89397621154785, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.236154556274, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:24,373", + "created": 1609969764.373942, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 373.94189834594727, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.284076690674, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,373", + "created": 1609969764.3739843, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 373.98433685302734, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.326515197754, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3740351, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 374.035120010376, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.377298355103, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3740864, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 374.0863800048828, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.42855834961, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3741343, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 374.1343021392822, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.476480484009, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3741803, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 374.1803169250488, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.522495269775, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3742278, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 374.22776222229004, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.569940567017, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.374274, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 374.27401542663574, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.616193771362, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3743181, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 374.31812286376953, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.660301208496, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.374367, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 374.36699867248535, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.709177017212, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.374413, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 374.41301345825195, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.755191802979, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3744962, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 374.4962215423584, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.838399887085, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3745444, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 374.5443820953369, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.886560440063, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3746061, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 374.6061325073242, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.94831085205, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.374655, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 374.65500831604004, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13074.997186660767, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3746998, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 374.69983100891113, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.042009353638, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3747432, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 374.7432231903076, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.085401535034, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3747928, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 374.79281425476074, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.134992599487, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3748434, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 374.8433589935303, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.185537338257, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.374896, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 374.8960494995117, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.238227844238, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3749375, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 374.9375343322754, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.279712677002, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,374", + "created": 1609969764.3749723, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 374.9723434448242, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.31452178955, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3750117, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 375.011682510376, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.353860855103, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3750525, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 375.05245208740234, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.394630432129, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.375089, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 375.0889301300049, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.431108474731, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3751287, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 375.12874603271484, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.470924377441, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.37517, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 375.1699924468994, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.512170791626, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3752084, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 375.20837783813477, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.550556182861, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3752449, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 375.2448558807373, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.587034225464, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3752797, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 375.27966499328613, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.621843338013, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3753147, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 375.31471252441406, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.65689086914, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 375.3476142883301, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.689792633057, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 3.2901763916015625e-05 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3754942, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Reconnect executed marker is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Reconnect executed marker", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3754225, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Reconnect executed marker): False ()", + "module": "test", + "msecs": 375.42247772216797, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.764656066895, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Reconnect executed marker", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3754587, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Reconnect executed marker): result = False ()", + "module": "test", + "msecs": 375.4587173461914, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.800895690918, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 375.49424171447754, + "msg": "Reconnect executed marker is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.836420059204, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 3.552436828613281e-05 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.375618, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Reconnect executed marker is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Reconnect executed marker", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3755486, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Reconnect executed marker): False ()", + "module": "test", + "msecs": 375.5486011505127, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.89077949524, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Reconnect executed marker", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.375584, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Reconnect executed marker): result = False ()", + "module": "test", + "msecs": 375.5838871002197, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.926065444946, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 375.61798095703125, + "msg": "Reconnect executed marker is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13075.960159301758, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 3.409385681152344e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3756738, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "reconnect", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 53, + "message": "Executing reconnect for Server", + "module": "test_add_methods", + "moduleLogger": [], + "msecs": 375.673770904541, + "msg": "Executing reconnect for Server", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.015949249268, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3757942, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Reconnect executed marker is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Reconnect executed marker", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3757253, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Reconnect executed marker): True ()", + "module": "test", + "msecs": 375.72526931762695, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.067447662354, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Reconnect executed marker", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.37576, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Reconnect executed marker): result = True ()", + "module": "test", + "msecs": 375.7600784301758, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.102256774902, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 375.7941722869873, + "msg": "Reconnect executed marker is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.136350631714, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 3.409385681152344e-05 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.375919, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Reconnect executed marker is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Reconnect executed marker", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.3758457, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Reconnect executed marker): False ()", + "module": "test", + "msecs": 375.84567070007324, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.1878490448, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Reconnect executed marker", + "False", + "" + ], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.375881, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Reconnect executed marker): result = False ()", + "module": "test", + "msecs": 375.8809566497803, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.223134994507, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 375.9191036224365, + "msg": "Reconnect executed marker is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.261281967163, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 3.814697265625e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,375", + "created": 1609969764.37597, + "exc_info": null, + "exc_text": null, + "filename": "test_add_methods.py", + "funcName": "reconnect", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 58, + "message": "Executing reconnect for Client", + "module": "test_add_methods", + "moduleLogger": [], + "msecs": 375.96988677978516, + "msg": "Executing reconnect for Client", + "name": "__tLogger__", + "pathname": "src/tests/test_add_methods.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.312065124512, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3760922, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Reconnect executed marker is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Reconnect executed marker", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3760202, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Reconnect executed marker): True ()", + "module": "test", + "msecs": 376.0201930999756, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.362371444702, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Reconnect executed marker", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3760579, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Reconnect executed marker): result = True ()", + "module": "test", + "msecs": 376.05786323547363, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.4000415802, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 376.09219551086426, + "msg": "Reconnect executed marker is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.43437385559, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 3.4332275390625e-05 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3762283, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Reconnect executed marker is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Reconnect executed marker", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3761432, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Reconnect executed marker): True ()", + "module": "test", + "msecs": 376.143217086792, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.485395431519, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Reconnect executed marker", + "True", + "" + ], + "asctime": "2021-01-06 22:49:24,376", + "created": 1609969764.3761904, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Reconnect executed marker): result = True ()", + "module": "test", + "msecs": 376.1904239654541, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.53260231018, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 376.22833251953125, + "msg": "Reconnect executed marker is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 13076.570510864258, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 3.790855407714844e-05 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.003403902053833008, + "time_finished": "2021-01-06 22:49:24,376", + "time_start": "2021-01-06 22:49:24,372" + }, + "_j-npsE0MEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:12,220", + "created": 1609969752.2201154, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 35, + "message": "_j-npsE0MEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 220.11542320251465, + "msg": "_j-npsE0MEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 920.4576015472412, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:12,227", + "created": 1609969752.2275722, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:12,220", + "created": 1609969752.2205276, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 220.52764892578125, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 920.8698272705078, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:12,220", + "created": 1609969752.2207341, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 220.7341194152832, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 921.0762977600098, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:12,220", + "created": 1609969752.2209551, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 220.95513343811035, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 921.2973117828369, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:12,221", + "created": 1609969752.2211134, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 221.1134433746338, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 921.4556217193604, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:12,221", + "created": 1609969752.2212636, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 221.26364707946777, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 921.6058254241943, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:12,221", + "created": 1609969752.2214193, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 221.4193344116211, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 921.7615127563477, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:12,221", + "created": 1609969752.2215903, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 221.5902805328369, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 921.9324588775635, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:12,221", + "created": 1609969752.2217674, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 221.76742553710938, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 922.1096038818359, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:12,221", + "created": 1609969752.221963, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 221.96292877197266, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 922.3051071166992, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:12,222", + "created": 1609969752.2221365, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 222.1364974975586, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 922.4786758422852, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:12,222", + "created": 1609969752.222285, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 222.28503227233887, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 922.6272106170654, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:12,222", + "created": 1609969752.2224414, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 222.4414348602295, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 922.783613204956, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:12,222", + "created": 1609969752.2226098, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 222.6097583770752, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 922.9519367218018, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:12,222", + "created": 1609969752.222758, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 222.75805473327637, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 923.1002330780029, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:12,222", + "created": 1609969752.22291, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 222.90992736816406, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 923.2521057128906, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:12,223", + "created": 1609969752.223064, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 223.06394577026367, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 923.4061241149902, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:12,223", + "created": 1609969752.2232227, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 223.2227325439453, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 923.5649108886719, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:12,223", + "created": 1609969752.223375, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 223.3750820159912, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 923.7172603607178, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:12,223", + "created": 1609969752.2235157, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 223.51574897766113, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 923.8579273223877, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:12,223", + "created": 1609969752.2236557, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 223.65570068359375, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 923.9978790283203, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:12,223", + "created": 1609969752.2239254, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 223.92535209655762, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 924.2675304412842, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:12,224", + "created": 1609969752.2240946, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 224.09462928771973, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 924.4368076324463, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:12,224", + "created": 1609969752.224306, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 224.3061065673828, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 924.6482849121094, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:12,224", + "created": 1609969752.2244568, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 224.456787109375, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 924.7989654541016, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:12,224", + "created": 1609969752.224601, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 224.60103034973145, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 924.943208694458, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:12,224", + "created": 1609969752.2247431, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 224.74312782287598, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 925.0853061676025, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:12,224", + "created": 1609969752.2249055, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 224.90549087524414, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 925.2476692199707, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:12,225", + "created": 1609969752.2250752, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 225.07524490356445, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 925.417423248291, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:12,225", + "created": 1609969752.2252345, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 225.2345085144043, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 925.5766868591309, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:12,225", + "created": 1609969752.2253876, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 225.3875732421875, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 925.7297515869141, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:12,225", + "created": 1609969752.2255242, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 225.5241870880127, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 925.8663654327393, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:12,225", + "created": 1609969752.2256775, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 225.677490234375, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 926.0196685791016, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:12,225", + "created": 1609969752.225879, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 225.87895393371582, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 926.2211322784424, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:12,226", + "created": 1609969752.2260587, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 226.0587215423584, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 926.400899887085, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:12,226", + "created": 1609969752.2262108, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 226.2108325958252, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 926.5530109405518, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:12,226", + "created": 1609969752.2268007, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 226.80068016052246, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 927.142858505249, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:12,226", + "created": 1609969752.2269845, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 226.98450088500977, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 927.3266792297363, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:12,227", + "created": 1609969752.2271416, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 227.1416187286377, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 927.4837970733643, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:12,227", + "created": 1609969752.2272878, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 227.28776931762695, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 927.6299476623535, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:12,227", + "created": 1609969752.227432, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 227.4320125579834, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 927.77419090271, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 227.57220268249512, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 927.9143810272217, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014019012451171875 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,227", + "created": 1609969752.2278564, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 86, + "message": "No secret set", + "module": "test_communication", + "moduleLogger": [], + "msecs": 227.85639762878418, + "msg": "No secret set", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 928.1985759735107, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,228", + "created": 1609969752.228069, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 88, + "message": "Performing Authentification", + "module": "test_communication", + "moduleLogger": [], + "msecs": 228.06906700134277, + "msg": "Performing Authentification", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 928.4112453460693, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,228", + "created": 1609969752.228616, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Return Value of authentification method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Return Value of authentification method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,228", + "created": 1609969752.228298, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Return Value of authentification method): False ()", + "module": "test", + "msecs": 228.29794883728027, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 928.6401271820068, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Return Value of authentification method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,228", + "created": 1609969752.2284622, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Return Value of authentification method): result = False ()", + "module": "test", + "msecs": 228.46221923828125, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 928.8043975830078, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 228.61599922180176, + "msg": "Return Value of authentification method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 928.9581775665283, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001537799835205078 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:12,229", + "created": 1609969752.2291174, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of server is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of server", + "True", + "" + ], + "asctime": "2021-01-06 22:49:12,228", + "created": 1609969752.2288356, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of server): True ()", + "module": "test", + "msecs": 228.8355827331543, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 929.1777610778809, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of server", + "True", + "" + ], + "asctime": "2021-01-06 22:49:12,228", + "created": 1609969752.2289777, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of server): result = True ()", + "module": "test", + "msecs": 228.97768020629883, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 929.3198585510254, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 229.11739349365234, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 929.4595718383789, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00013971328735351562 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:12,229", + "created": 1609969752.2296078, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of client is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of client", + "True", + "" + ], + "asctime": "2021-01-06 22:49:12,229", + "created": 1609969752.2293308, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of client): True ()", + "module": "test", + "msecs": 229.33077812194824, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 929.6729564666748, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of client", + "True", + "" + ], + "asctime": "2021-01-06 22:49:12,229", + "created": 1609969752.2294712, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of client): result = True ()", + "module": "test", + "msecs": 229.47120666503906, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 929.8133850097656, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 229.60782051086426, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 929.9499988555908, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001366138458251953 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,229", + "created": 1609969752.2298243, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 95, + "message": "Different secrets set", + "module": "test_communication", + "moduleLogger": [], + "msecs": 229.82430458068848, + "msg": "Different secrets set", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 930.166482925415, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,229", + "created": 1609969752.2299736, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of server is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,229", + "created": 1609969752.229889, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of server): False ()", + "module": "test", + "msecs": 229.888916015625, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 930.2310943603516, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,229", + "created": 1609969752.2299314, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of server): result = False ()", + "module": "test", + "msecs": 229.93135452270508, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 930.2735328674316, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 229.97355461120605, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 930.3157329559326, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.220008850097656e-05 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,230", + "created": 1609969752.2301285, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of client is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,230", + "created": 1609969752.230038, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of client): False ()", + "module": "test", + "msecs": 230.03792762756348, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 930.38010597229, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,230", + "created": 1609969752.230086, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of client): result = False ()", + "module": "test", + "msecs": 230.086088180542, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 930.4282665252686, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 230.12852668762207, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 930.4707050323486, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.2438507080078125e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,932", + "created": 1609969752.932562, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 100, + "message": "Performing Authentification", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:12,230", + "created": 1609969752.2302158, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 230.21578788757324, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 930.5579662322998, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,230", + "created": 1609969752.2303476, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "module": "test_helpers", + "msecs": 230.3476333618164, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 930.689811706543, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,380", + "created": 1609969752.380997, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "module": "test_helpers", + "msecs": 380.9969425201416, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1081.3391208648682, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-1" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:12,381", + "created": 1609969752.3813703, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 381.37030601501465, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1081.7124843597412, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-1" + }, + { + "args": [ + "SP server:", + "__authentificate_create_seed__" + ], + "asctime": "2021-01-06 22:49:12,381", + "created": 1609969752.3815253, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_create_seed__ to process received data", + "module": "__init__", + "msecs": 381.52527809143066, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1081.8674564361572, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-1" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed", + "status: okay", + "'84abf044252020404e0def53e859f099dff329af1ef95e7557b8a2c514d6b776'" + ], + "asctime": "2021-01-06 22:49:12,381", + "created": 1609969752.3816924, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: authentification response, data_id: seed, status: okay, data: \"'84abf044252020404e0def53e859f099dff329af1ef95e7557b8a2c514d6b776'\"", + "module": "__init__", + "msecs": 381.69240951538086, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1082.0345878601074, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-1" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,382", + "created": 1609969752.382065, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 38 34 61 62 66 30 34 34 32 35 32 30 32 30 34 30 34 65 30 64 65 66 35 33 65 38 35 39 66 30 39 39 64 66 66 33 32 39 61 66 31 65 66 39 35 65 37 35 35 37 62 38 61 32 63 35 31 34 64 36 62 37 37 36 22 7d de f9 e9 e1", + "module": "test_helpers", + "msecs": 382.0650577545166, + "msg": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 38 34 61 62 66 30 34 34 32 35 32 30 32 30 34 30 34 65 30 64 65 66 35 33 65 38 35 39 66 30 39 39 64 66 66 33 32 39 61 66 31 65 66 39 35 65 37 35 35 37 62 38 61 32 63 35 31 34 64 36 62 37 37 36 22 7d de f9 e9 e1", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1082.4072360992432, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-1" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,533", + "created": 1609969752.5330884, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 38 34 61 62 66 30 34 34 32 35 32 30 32 30 34 30 34 65 30 64 65 66 35 33 65 38 35 39 66 30 39 39 64 66 66 33 32 39 61 66 31 65 66 39 35 65 37 35 35 37 62 38 61 32 63 35 31 34 64 36 62 37 37 36 22 7d de f9 e9 e1", + "module": "test_helpers", + "msecs": 533.0884456634521, + "msg": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 38 34 61 62 66 30 34 34 32 35 32 30 32 30 34 30 34 65 30 64 65 66 35 33 65 38 35 39 66 30 39 39 64 66 66 33 32 39 61 66 31 65 66 39 35 65 37 35 35 37 62 38 61 32 63 35 31 34 64 36 62 37 37 36 22 7d de f9 e9 e1", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1233.4306240081787, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-2" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed", + "status: okay", + "'84abf044252020404e0def53e859f099dff329af1ef95e7557b8a2c514d6b776'" + ], + "asctime": "2021-01-06 22:49:12,533", + "created": 1609969752.5335574, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: authentification response, data_id: seed, status: okay, data: \"'84abf044252020404e0def53e859f099dff329af1ef95e7557b8a2c514d6b776'\"", + "module": "__init__", + "msecs": 533.5574150085449, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1233.8995933532715, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-2" + }, + { + "args": [ + "SP client:", + "__authentificate_create_key__" + ], + "asctime": "2021-01-06 22:49:12,533", + "created": 1609969752.5337808, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_create_key__ to process received data", + "module": "__init__", + "msecs": 533.7808132171631, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1234.1229915618896, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-2" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key", + "status: okay", + "'233acc33232b34a93d7e85c2dcd3846997d4ad446326385a2949a5ee46df3155c296e0a424895a13c38376010e46bee1f183b94245344c740b9f3770ef9d3edb'" + ], + "asctime": "2021-01-06 22:49:12,534", + "created": 1609969752.534084, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: authentification request, data_id: key, status: okay, data: \"'233acc33232b34a93d7e85c2dcd3846997d4ad446326385a2949a5ee46df3155c296e0a424895a13c38376010e46bee1f183b94245344c740b9f3770ef9d3edb'\"", + "module": "__init__", + "msecs": 534.0840816497803, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1234.4262599945068, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-2" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,534", + "created": 1609969752.5346727, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 32 33 33 61 63 63 33 33 32 33 32 62 33 34 61 39 33 64 37 65 38 35 63 32 64 63 64 33 38 34 36 39 39 37 64 34 61 64 34 34 36 33 32 36 33 38 35 61 32 39 34 39 61 35 65 65 34 36 64 66 33 31 35 35 63 32 39 36 65 30 61 34 32 34 38 39 35 61 31 33 63 33 38 33 37 36 30 31 30 65 34 36 62 65 65 31 66 31 38 33 62 39 34 32 34 35 33 34 34 63 37 34 30 62 39 66 33 37 37 30 65 66 39 64 33 65 64 62 22 7d f3 0a 81 cb", + "module": "test_helpers", + "msecs": 534.672737121582, + "msg": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 32 33 33 61 63 63 33 33 32 33 32 62 33 34 61 39 33 64 37 65 38 35 63 32 64 63 64 33 38 34 36 39 39 37 64 34 61 64 34 34 36 33 32 36 33 38 35 61 32 39 34 39 61 35 65 65 34 36 64 66 33 31 35 35 63 32 39 36 65 30 61 34 32 34 38 39 35 61 31 33 63 33 38 33 37 36 30 31 30 65 34 36 62 65 65 31 66 31 38 33 62 39 34 32 34 35 33 34 34 63 37 34 30 62 39 66 33 37 37 30 65 66 39 64 33 65 64 62 22 7d f3 0a 81 cb", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1235.0149154663086, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-2" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,685", + "created": 1609969752.685895, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 32 33 33 61 63 63 33 33 32 33 32 62 33 34 61 39 33 64 37 65 38 35 63 32 64 63 64 33 38 34 36 39 39 37 64 34 61 64 34 34 36 33 32 36 33 38 35 61 32 39 34 39 61 35 65 65 34 36 64 66 33 31 35 35 63 32 39 36 65 30 61 34 32 34 38 39 35 61 31 33 63 33 38 33 37 36 30 31 30 65 34 36 62 65 65 31 66 31 38 33 62 39 34 32 34 35 33 34 34 63 37 34 30 62 39 66 33 37 37 30 65 66 39 64 33 65 64 62 22 7d f3 0a 81 cb", + "module": "test_helpers", + "msecs": 685.8949661254883, + "msg": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 32 33 33 61 63 63 33 33 32 33 32 62 33 34 61 39 33 64 37 65 38 35 63 32 64 63 64 33 38 34 36 39 39 37 64 34 61 64 34 34 36 33 32 36 33 38 35 61 32 39 34 39 61 35 65 65 34 36 64 66 33 31 35 35 63 32 39 36 65 30 61 34 32 34 38 39 35 61 31 33 63 33 38 33 37 36 30 31 30 65 34 36 62 65 65 31 66 31 38 33 62 39 34 32 34 35 33 34 34 63 37 34 30 62 39 66 33 37 37 30 65 66 39 64 33 65 64 62 22 7d f3 0a 81 cb", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1386.2371444702148, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-3" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key", + "status: okay", + "'233acc33232b34a93d7e85c2dcd3846997d4ad446326385a2949a5ee46df3155c296e0a424895a13c38376010e46bee1f183b94245344c740b9f3770ef9d3edb'" + ], + "asctime": "2021-01-06 22:49:12,686", + "created": 1609969752.6863883, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: authentification request, data_id: key, status: okay, data: \"'233acc33232b34a93d7e85c2dcd3846997d4ad446326385a2949a5ee46df3155c296e0a424895a13c38376010e46bee1f183b94245344c740b9f3770ef9d3edb'\"", + "module": "__init__", + "msecs": 686.3882541656494, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1386.730432510376, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-3" + }, + { + "args": [ + "SP server:", + "__authentificate_check_key__" + ], + "asctime": "2021-01-06 22:49:12,686", + "created": 1609969752.6866045, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_check_key__ to process received data", + "module": "__init__", + "msecs": 686.6044998168945, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1386.946678161621, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-3" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key", + "status: okay", + "False" + ], + "asctime": "2021-01-06 22:49:12,686", + "created": 1609969752.68686, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: authentification response, data_id: key, status: okay, data: \"False\"", + "module": "__init__", + "msecs": 686.8600845336914, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1387.202262878418, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-3" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,687", + "created": 1609969752.6872647, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 7d ea 0a 5c b4", + "module": "test_helpers", + "msecs": 687.2646808624268, + "msg": "Send data: (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 7d ea 0a 5c b4", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1387.6068592071533, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-3" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,838", + "created": 1609969752.838307, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 7d ea 0a 5c b4", + "module": "test_helpers", + "msecs": 838.3069038391113, + "msg": "Receive data (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 66 61 6c 73 65 7d ea 0a 5c b4", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1538.649082183838, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-4" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key", + "status: okay", + "False" + ], + "asctime": "2021-01-06 22:49:12,838", + "created": 1609969752.8387759, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: authentification response, data_id: key, status: okay, data: \"False\"", + "module": "__init__", + "msecs": 838.7758731842041, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1539.1180515289307, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-4" + }, + { + "args": [ + "SP client:", + "__authentificate_process_feedback__" + ], + "asctime": "2021-01-06 22:49:12,838", + "created": 1609969752.838992, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_process_feedback__ to process received data", + "module": "__init__", + "msecs": 838.9921188354492, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1539.3342971801758, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-4" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:12,839", + "created": 1609969752.8391595, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentificate_process_feedback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 353, + "message": "SP client: Got negative authentification feedback", + "module": "__init__", + "msecs": 839.1594886779785, + "msg": "%s Got negative authentification feedback", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1539.501667022705, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-4" + } + ], + "msecs": 932.5621128082275, + "msg": "Performing Authentification", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1632.904291152954, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.09340262413024902 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,933", + "created": 1609969752.9333785, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Return Value of authentification method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Return Value of authentification method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,933", + "created": 1609969752.9330347, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Return Value of authentification method): False ()", + "module": "test", + "msecs": 933.0346584320068, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1633.3768367767334, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Return Value of authentification method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,933", + "created": 1609969752.9332173, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Return Value of authentification method): result = False ()", + "module": "test", + "msecs": 933.2172870635986, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1633.5594654083252, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 933.3784580230713, + "msg": "Return Value of authentification method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1633.7206363677979, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00016117095947265625 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,933", + "created": 1609969752.9339535, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of server is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,933", + "created": 1609969752.9336243, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of server): False ()", + "module": "test", + "msecs": 933.624267578125, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1633.9664459228516, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,933", + "created": 1609969752.933772, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of server): result = False ()", + "module": "test", + "msecs": 933.772087097168, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1634.1142654418945, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 933.9535236358643, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1634.2957019805908, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00018143653869628906 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,934", + "created": 1609969752.9344556, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of client is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,934", + "created": 1609969752.9341779, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of client): False ()", + "module": "test", + "msecs": 934.1778755187988, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1634.5200538635254, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:49:12,934", + "created": 1609969752.9343185, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of client): result = False ()", + "module": "test", + "msecs": 934.3185424804688, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1634.6607208251953, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 934.4556331634521, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1634.7978115081787, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00013709068298339844 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,934", + "created": 1609969752.9346693, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 107, + "message": "Identical secrets set", + "module": "test_communication", + "moduleLogger": [], + "msecs": 934.6692562103271, + "msg": "Identical secrets set", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1635.0114345550537, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:13,637", + "created": 1609969753.6379254, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 109, + "message": "Performing Authentification", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:12,934", + "created": 1609969752.9349241, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 934.9241256713867, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1635.2663040161133, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:12,935", + "created": 1609969752.9353256, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "module": "test_helpers", + "msecs": 935.3256225585938, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1635.6678009033203, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:13,086", + "created": 1609969753.086327, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "module": "test_helpers", + "msecs": 86.32707595825195, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1786.6692543029785, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-5" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:13,086", + "created": 1609969753.0867975, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 86.79747581481934, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1787.139654159546, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-5" + }, + { + "args": [ + "SP server:", + "__authentificate_create_seed__" + ], + "asctime": "2021-01-06 22:49:13,087", + "created": 1609969753.0870256, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_create_seed__ to process received data", + "module": "__init__", + "msecs": 87.02564239501953, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1787.367820739746, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-5" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed", + "status: okay", + "'b57aec62234fe96f003daf58d45caa885979c4fb9c328a975bc068efbc455ce2'" + ], + "asctime": "2021-01-06 22:49:13,087", + "created": 1609969753.0872633, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: authentification response, data_id: seed, status: okay, data: \"'b57aec62234fe96f003daf58d45caa885979c4fb9c328a975bc068efbc455ce2'\"", + "module": "__init__", + "msecs": 87.26334571838379, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1787.6055240631104, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-5" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:13,087", + "created": 1609969753.0877614, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 62 35 37 61 65 63 36 32 32 33 34 66 65 39 36 66 30 30 33 64 61 66 35 38 64 34 35 63 61 61 38 38 35 39 37 39 63 34 66 62 39 63 33 32 38 61 39 37 35 62 63 30 36 38 65 66 62 63 34 35 35 63 65 32 22 7d 37 a9 b8 63", + "module": "test_helpers", + "msecs": 87.76140213012695, + "msg": "Send data: (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 62 35 37 61 65 63 36 32 32 33 34 66 65 39 36 66 30 30 33 64 61 66 35 38 64 34 35 63 61 61 38 38 35 39 37 39 63 34 66 62 39 63 33 32 38 61 39 37 35 62 63 30 36 38 65 66 62 63 34 35 35 63 65 32 22 7d 37 a9 b8 63", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1788.1035804748535, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-5" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:13,238", + "created": 1609969753.2388594, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 62 35 37 61 65 63 36 32 32 33 34 66 65 39 36 66 30 30 33 64 61 66 35 38 64 34 35 63 61 61 38 38 35 39 37 39 63 34 66 62 39 63 33 32 38 61 39 37 35 62 63 30 36 38 65 66 62 63 34 35 35 63 65 32 22 7d 37 a9 b8 63", + "module": "test_helpers", + "msecs": 238.8594150543213, + "msg": "Receive data (124): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 62 35 37 61 65 63 36 32 32 33 34 66 65 39 36 66 30 30 33 64 61 66 35 38 64 34 35 63 61 61 38 38 35 39 37 39 63 34 66 62 39 63 33 32 38 61 39 37 35 62 63 30 36 38 65 66 62 63 34 35 35 63 65 32 22 7d 37 a9 b8 63", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1939.2015933990479, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-6" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed", + "status: okay", + "'b57aec62234fe96f003daf58d45caa885979c4fb9c328a975bc068efbc455ce2'" + ], + "asctime": "2021-01-06 22:49:13,239", + "created": 1609969753.2393477, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: authentification response, data_id: seed, status: okay, data: \"'b57aec62234fe96f003daf58d45caa885979c4fb9c328a975bc068efbc455ce2'\"", + "module": "__init__", + "msecs": 239.3476963043213, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1939.6898746490479, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-6" + }, + { + "args": [ + "SP client:", + "__authentificate_create_key__" + ], + "asctime": "2021-01-06 22:49:13,239", + "created": 1609969753.23958, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_create_key__ to process received data", + "module": "__init__", + "msecs": 239.5799160003662, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1939.9220943450928, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-6" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key", + "status: okay", + "'89cccf6a7300e968bc7eb90ffe7cb05897a65700e13bf8594657757783328a5f1efd7be32c8a0b5b461b6c8fe6af704fb3fa5faeedf3ea9473b3aa6c1007e648'" + ], + "asctime": "2021-01-06 22:49:13,239", + "created": 1609969753.2398224, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: authentification request, data_id: key, status: okay, data: \"'89cccf6a7300e968bc7eb90ffe7cb05897a65700e13bf8594657757783328a5f1efd7be32c8a0b5b461b6c8fe6af704fb3fa5faeedf3ea9473b3aa6c1007e648'\"", + "module": "__init__", + "msecs": 239.8223876953125, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1940.164566040039, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-6" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:13,240", + "created": 1609969753.240402, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 38 39 63 63 63 66 36 61 37 33 30 30 65 39 36 38 62 63 37 65 62 39 30 66 66 65 37 63 62 30 35 38 39 37 61 36 35 37 30 30 65 31 33 62 66 38 35 39 34 36 35 37 37 35 37 37 38 33 33 32 38 61 35 66 31 65 66 64 37 62 65 33 32 63 38 61 30 62 35 62 34 36 31 62 36 63 38 66 65 36 61 66 37 30 34 66 62 33 66 61 35 66 61 65 65 64 66 33 65 61 39 34 37 33 62 33 61 61 36 63 31 30 30 37 65 36 34 38 22 7d 13 b4 0f 76", + "module": "test_helpers", + "msecs": 240.4019832611084, + "msg": "Send data: (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 38 39 63 63 63 66 36 61 37 33 30 30 65 39 36 38 62 63 37 65 62 39 30 66 66 65 37 63 62 30 35 38 39 37 61 36 35 37 30 30 65 31 33 62 66 38 35 39 34 36 35 37 37 35 37 37 38 33 33 32 38 61 35 66 31 65 66 64 37 62 65 33 32 63 38 61 30 62 35 62 34 36 31 62 36 63 38 66 65 36 61 66 37 30 34 66 62 33 66 61 35 66 61 65 65 64 66 33 65 61 39 34 37 33 62 33 61 61 36 63 31 30 30 37 65 36 34 38 22 7d 13 b4 0f 76", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 1940.744161605835, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-6" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:13,391", + "created": 1609969753.3915448, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 38 39 63 63 63 66 36 61 37 33 30 30 65 39 36 38 62 63 37 65 62 39 30 66 66 65 37 63 62 30 35 38 39 37 61 36 35 37 30 30 65 31 33 62 66 38 35 39 34 36 35 37 37 35 37 37 38 33 33 32 38 61 35 66 31 65 66 64 37 62 65 33 32 63 38 61 30 62 35 62 34 36 31 62 36 63 38 66 65 36 61 66 37 30 34 66 62 33 66 61 35 66 61 65 65 64 66 33 65 61 39 34 37 33 62 33 61 61 36 63 31 30 30 37 65 36 34 38 22 7d 13 b4 0f 76", + "module": "test_helpers", + "msecs": 391.5448188781738, + "msg": "Receive data (188): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 38 39 63 63 63 66 36 61 37 33 30 30 65 39 36 38 62 63 37 65 62 39 30 66 66 65 37 63 62 30 35 38 39 37 61 36 35 37 30 30 65 31 33 62 66 38 35 39 34 36 35 37 37 35 37 37 38 33 33 32 38 61 35 66 31 65 66 64 37 62 65 33 32 63 38 61 30 62 35 62 34 36 31 62 36 63 38 66 65 36 61 66 37 30 34 66 62 33 66 61 35 66 61 65 65 64 66 33 65 61 39 34 37 33 62 33 61 61 36 63 31 30 30 37 65 36 34 38 22 7d 13 b4 0f 76", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2091.8869972229004, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-7" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key", + "status: okay", + "'89cccf6a7300e968bc7eb90ffe7cb05897a65700e13bf8594657757783328a5f1efd7be32c8a0b5b461b6c8fe6af704fb3fa5faeedf3ea9473b3aa6c1007e648'" + ], + "asctime": "2021-01-06 22:49:13,391", + "created": 1609969753.3919847, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: authentification request, data_id: key, status: okay, data: \"'89cccf6a7300e968bc7eb90ffe7cb05897a65700e13bf8594657757783328a5f1efd7be32c8a0b5b461b6c8fe6af704fb3fa5faeedf3ea9473b3aa6c1007e648'\"", + "module": "__init__", + "msecs": 391.9847011566162, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2092.326879501343, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-7" + }, + { + "args": [ + "SP server:", + "__authentificate_check_key__" + ], + "asctime": "2021-01-06 22:49:13,392", + "created": 1609969753.3921893, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __authentificate_check_key__ to process received data", + "module": "__init__", + "msecs": 392.18926429748535, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2092.531442642212, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-7" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key", + "status: okay", + "True" + ], + "asctime": "2021-01-06 22:49:13,392", + "created": 1609969753.3924103, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: authentification response, data_id: key, status: okay, data: \"True\"", + "module": "__init__", + "msecs": 392.4102783203125, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2092.752456665039, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-7" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:13,392", + "created": 1609969753.3927643, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", + "module": "test_helpers", + "msecs": 392.7643299102783, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2093.106508255005, + "stack_info": null, + "thread": 140247503591168, + "threadName": "Thread-7" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:13,543", + "created": 1609969753.543744, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", + "module": "test_helpers", + "msecs": 543.7440872192383, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 31 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 74 72 75 65 7d 94 fe 74 32", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2244.086265563965, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-8" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key", + "status: okay", + "True" + ], + "asctime": "2021-01-06 22:49:13,544", + "created": 1609969753.5443661, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: authentification response, data_id: key, status: okay, data: \"True\"", + "module": "__init__", + "msecs": 544.3661212921143, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2244.708299636841, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-8" + }, + { + "args": [ + "SP client:", + "__authentificate_process_feedback__" + ], + "asctime": "2021-01-06 22:49:13,544", + "created": 1609969753.5447624, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP client: Executing callback __authentificate_process_feedback__ to process received data", + "module": "__init__", + "msecs": 544.762372970581, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2245.1045513153076, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-8" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:13,545", + "created": 1609969753.5450249, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentificate_process_feedback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 350, + "message": "SP client: Got positive authentification feedback", + "module": "__init__", + "msecs": 545.0248718261719, + "msg": "%s Got positive authentification feedback", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2245.3670501708984, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-8" + } + ], + "msecs": 637.925386428833, + "msg": "Performing Authentification", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2338.2675647735596, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.09290051460266113 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:13,638", + "created": 1609969753.6387444, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Return Value of authentification method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Return Value of authentification method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:13,638", + "created": 1609969753.638399, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Return Value of authentification method): True ()", + "module": "test", + "msecs": 638.3988857269287, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2338.7410640716553, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Return Value of authentification method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:13,638", + "created": 1609969753.6385813, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Return Value of authentification method): result = True ()", + "module": "test", + "msecs": 638.5812759399414, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2338.923454284668, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 638.7443542480469, + "msg": "Return Value of authentification method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2339.0865325927734, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00016307830810546875 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:13,639", + "created": 1609969753.6392949, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of server is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of server", + "True", + "" + ], + "asctime": "2021-01-06 22:49:13,638", + "created": 1609969753.6389909, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of server): True ()", + "module": "test", + "msecs": 638.9908790588379, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2339.3330574035645, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of server", + "True", + "" + ], + "asctime": "2021-01-06 22:49:13,639", + "created": 1609969753.6391513, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of server): result = True ()", + "module": "test", + "msecs": 639.1513347625732, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2339.4935131073, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 639.2948627471924, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2339.637041091919, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014352798461914062 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:13,639", + "created": 1609969753.6398022, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of client is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of client", + "True", + "" + ], + "asctime": "2021-01-06 22:49:13,639", + "created": 1609969753.63952, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of client): True ()", + "module": "test", + "msecs": 639.5199298858643, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2339.862108230591, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of client", + "True", + "" + ], + "asctime": "2021-01-06 22:49:13,639", + "created": 1609969753.6396623, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of client): result = True ()", + "module": "test", + "msecs": 639.6622657775879, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2340.0044441223145, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 639.8022174835205, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2340.144395828247, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001399517059326172 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:13,640", + "created": 1609969753.640331, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 117, + "message": "Corrupting the authentification mechanism", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:13,640", + "created": 1609969753.6400154, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 640.0153636932373, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2340.357542037964, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:13,640", + "created": 1609969753.6401758, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 640.1758193969727, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2340.517997741699, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 640.3310298919678, + "msg": "Corrupting the authentification mechanism", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2340.6732082366943, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001552104949951172 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:15,646", + "created": 1609969755.6469076, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "manual_authentification", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 119, + "message": "Performing Authentification", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:13,640", + "created": 1609969753.640591, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 640.5909061431885, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2340.933084487915, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:13,640", + "created": 1609969753.640992, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "module": "test_helpers", + "msecs": 640.9919261932373, + "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2341.334104537964, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:13,792", + "created": 1609969753.7920032, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "module": "test_helpers", + "msecs": 792.0031547546387, + "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d fd 82 a2 a9", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2492.3453330993652, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-9" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed", + "status: okay", + "None" + ], + "asctime": "2021-01-06 22:49:13,792", + "created": 1609969753.7924554, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: authentification request, data_id: seed, status: okay, data: \"None\"", + "module": "__init__", + "msecs": 792.4554347991943, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2492.797613143921, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-9" + }, + { + "args": [ + "SP server:", + "__authentificate_create_seed__" + ], + "asctime": "2021-01-06 22:49:13,792", + "created": 1609969753.7926986, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 478, + "message": "SP server: Executing callback __authentificate_create_seed__ to process received data", + "module": "__init__", + "msecs": 792.6986217498779, + "msg": "%s Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 2493.0408000946045, + "stack_info": null, + "thread": 140247511983872, + "threadName": "Thread-9" + } + ], + "msecs": 646.9075679779053, + "msg": "Performing Authentification", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4347.249746322632, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 1.8542089462280273 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,647", + "created": 1609969755.6476648, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Return Value of authentification method is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Return Value of authentification method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,647", + "created": 1609969755.647323, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Return Value of authentification method): False ()", + "module": "test", + "msecs": 647.3228931427002, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4347.665071487427, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Return Value of authentification method", + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,647", + "created": 1609969755.6475058, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Return Value of authentification method): result = False ()", + "module": "test", + "msecs": 647.5057601928711, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4347.847938537598, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 647.6647853851318, + "msg": "Return Value of authentification method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4348.006963729858, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001590251922607422 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,648", + "created": 1609969755.6482418, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of server is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,647", + "created": 1609969755.6479092, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of server): False ()", + "module": "test", + "msecs": 647.9091644287109, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4348.2513427734375, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of server", + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,648", + "created": 1609969755.6480587, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of server): result = False ()", + "module": "test", + "msecs": 648.0586528778076, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4348.400831222534, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 648.2417583465576, + "msg": "Authentification state of server is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4348.583936691284, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00018310546875 + }, + { + "args": [ + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,648", + "created": 1609969755.6487546, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Authentification state of client is correct (Content False and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,648", + "created": 1609969755.648477, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Authentification state of client): False ()", + "module": "test", + "msecs": 648.4770774841309, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4348.819255828857, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Authentification state of client", + "False", + "" + ], + "asctime": "2021-01-06 22:49:15,648", + "created": 1609969755.648618, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Authentification state of client): result = False ()", + "module": "test", + "msecs": 648.6179828643799, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4348.960161209106, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 648.7545967102051, + "msg": "Authentification state of client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 4349.096775054932, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001366138458251953 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 3.4286391735076904, + "time_finished": "2021-01-06 22:49:15,648", + "time_start": "2021-01-06 22:49:12,220" + }, + "_k-Q4EE0oEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:22,567", + "created": 1609969762.5674975, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 40, + "message": "_k-Q4EE0oEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 567.4974918365479, + "msg": "_k-Q4EE0oEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11267.839670181274, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:22,574", + "created": 1609969762.574066, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:22,567", + "created": 1609969762.5679061, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 567.9061412811279, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11268.248319625854, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:22,568", + "created": 1609969762.568097, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 568.0971145629883, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11268.439292907715, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:22,568", + "created": 1609969762.5683155, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 568.3155059814453, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11268.657684326172, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:22,568", + "created": 1609969762.568473, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 568.4731006622314, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11268.815279006958, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:22,568", + "created": 1609969762.5686247, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 568.62473487854, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11268.966913223267, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:22,568", + "created": 1609969762.5687714, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 568.7713623046875, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11269.113540649414, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:22,568", + "created": 1609969762.5689325, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 568.9325332641602, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11269.274711608887, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:22,569", + "created": 1609969762.5690947, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 569.0946578979492, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11269.436836242676, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:22,569", + "created": 1609969762.5692525, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 569.2524909973145, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11269.594669342041, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:22,569", + "created": 1609969762.5694098, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 569.4098472595215, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11269.752025604248, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:22,569", + "created": 1609969762.5695493, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 569.5493221282959, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11269.891500473022, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:22,569", + "created": 1609969762.569724, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 569.7240829467773, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11270.066261291504, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:22,569", + "created": 1609969762.5699136, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 569.9136257171631, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11270.25580406189, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:22,570", + "created": 1609969762.5700731, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 570.073127746582, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11270.415306091309, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:22,570", + "created": 1609969762.5702276, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 570.2276229858398, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11270.569801330566, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:22,570", + "created": 1609969762.5703835, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 570.3835487365723, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11270.725727081299, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:22,570", + "created": 1609969762.570536, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 570.5358982086182, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11270.878076553345, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:22,570", + "created": 1609969762.5706816, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 570.6815719604492, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11271.023750305176, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:22,570", + "created": 1609969762.5708249, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 570.8248615264893, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11271.167039871216, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:22,570", + "created": 1609969762.5709658, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 570.9657669067383, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11271.307945251465, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:22,571", + "created": 1609969762.5712452, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 571.2451934814453, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11271.587371826172, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:22,571", + "created": 1609969762.5715144, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 571.514368057251, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11271.856546401978, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:22,571", + "created": 1609969762.571764, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 571.7639923095703, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11272.106170654297, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:22,571", + "created": 1609969762.571934, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 571.9339847564697, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11272.276163101196, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:22,572", + "created": 1609969762.5720913, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 572.0913410186768, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11272.433519363403, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:22,572", + "created": 1609969762.5722399, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 572.239875793457, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11272.582054138184, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:22,572", + "created": 1609969762.5724003, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 572.4003314971924, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11272.742509841919, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:22,572", + "created": 1609969762.5725636, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 572.563648223877, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11272.905826568604, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:22,572", + "created": 1609969762.5727224, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 572.7224349975586, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11273.064613342285, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:22,572", + "created": 1609969762.5728784, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 572.878360748291, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11273.220539093018, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:22,573", + "created": 1609969762.5730195, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 573.0195045471191, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11273.361682891846, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:22,573", + "created": 1609969762.5731957, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 573.1956958770752, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11273.537874221802, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:22,573", + "created": 1609969762.5733654, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 573.3654499053955, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11273.707628250122, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:22,573", + "created": 1609969762.573514, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 573.5139846801758, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11273.856163024902, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:22,573", + "created": 1609969762.5736673, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 573.6672878265381, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11274.009466171265, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:22,573", + "created": 1609969762.5738392, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 573.8391876220703, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11274.181365966797, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:22,573", + "created": 1609969762.5738883, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 573.8883018493652, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11274.230480194092, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:22,573", + "created": 1609969762.5739331, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 573.9331245422363, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11274.275302886963, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:22,573", + "created": 1609969762.5739799, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 573.9798545837402, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11274.322032928467, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:22,574", + "created": 1609969762.574024, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 574.023962020874, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11274.3661403656, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 574.0659236907959, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11274.408102035522, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.1961669921875e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,076", + "created": 1609969763.0764394, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 319, + "message": "Transfering a message client -> server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:22,574", + "created": 1609969762.5741844, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 574.1844177246094, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11274.526596069336, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:22,574", + "created": 1609969762.5743353, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "module": "test_helpers", + "msecs": 574.3353366851807, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11274.677515029907, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:22,574", + "created": 1609969762.574431, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "module": "test_helpers", + "msecs": 574.4309425354004, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11274.773120880127, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:22,574", + "created": 1609969762.574521, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 574.5210647583008, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11274.863243103027, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:22,574", + "created": 1609969762.5745904, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP server: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 574.5904445648193, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11274.932622909546, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "0.5", + "18", + "34" + ], + "asctime": "2021-01-06 22:49:23,076", + "created": 1609969763.0761619, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "receive", + "levelname": "WARNING", + "levelno": 30, + "lineno": 651, + "message": "SP client: TIMEOUT (0.5s): Requested data (service_id: 18; data_id: 34) not in buffer.", + "module": "__init__", + "msecs": 76.16186141967773, + "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11776.504039764404, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 76.43938064575195, + "msg": "Transfering a message client -> server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11776.781558990479, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00027751922607421875 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:23,077", + "created": 1609969763.077069, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:23,076", + "created": 1609969763.0767448, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Client send Method): True ()", + "module": "test", + "msecs": 76.74479484558105, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11777.086973190308, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:23,076", + "created": 1609969763.0769138, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Client send Method): result = True ()", + "module": "test", + "msecs": 76.91383361816406, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11777.25601196289, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 77.06904411315918, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11777.411222457886, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001552104949951172 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:23,077", + "created": 1609969763.0776105, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:23,077", + "created": 1609969763.0773227, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): None ()", + "module": "test", + "msecs": 77.32272148132324, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11777.66489982605, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "None", + "" + ], + "asctime": "2021-01-06 22:49:23,077", + "created": 1609969763.0774686, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = None ()", + "module": "test", + "msecs": 77.4686336517334, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11777.81081199646, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 77.61049270629883, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11777.952671051025, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001418590545654297 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,078", + "created": 1609969763.07804, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 324, + "message": "Adding service to server instance for the transmit message", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP server:", + "17", + "18" + ], + "asctime": "2021-01-06 22:49:23,077", + "created": 1609969763.0778978, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=17 and Response=18", + "module": "__init__", + "msecs": 77.89778709411621, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11778.239965438843, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 78.03988456726074, + "msg": "Adding service to server instance for the transmit message", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11778.382062911987, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014209747314453125 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,181", + "created": 1609969763.1815429, + "exc_info": null, + "exc_text": null, + "filename": "test_communication.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 328, + "message": "Transfering a message client -> server -> client", + "module": "test_communication", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:23,078", + "created": 1609969763.078357, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 78.35698127746582, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11778.699159622192, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,078", + "created": 1609969763.0788126, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "module": "test_helpers", + "msecs": 78.8125991821289, + "msg": "Send data: (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11779.154777526855, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,079", + "created": 1609969763.0791106, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "module": "test_helpers", + "msecs": 79.11062240600586, + "msg": "Receive data (88): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 37 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 6d 73 67 31 5f 64 61 74 61 5f 74 6f 5f 62 65 5f 74 72 61 6e 73 66 65 72 65 64 22 7d 4c bc bd 1b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11779.452800750732, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: 17, data_id: 34", + "status: okay", + "'msg1_data_to_be_transfered'" + ], + "asctime": "2021-01-06 22:49:23,079", + "created": 1609969763.079401, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: 17, data_id: 34, status: okay, data: \"'msg1_data_to_be_transfered'\"", + "module": "__init__", + "msecs": 79.40101623535156, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11779.743194580078, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,079", + "created": 1609969763.079589, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 460, + "message": "SP server: RX <- Message with no registered callback. Sending negative response.", + "module": "__init__", + "msecs": 79.5888900756836, + "msg": "%s RX <- Message with no registered callback. Sending negative response.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11779.93106842041, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: 18, data_id: 34", + "status: no callback for service, data buffered.", + "None" + ], + "asctime": "2021-01-06 22:49:23,079", + "created": 1609969763.0797837, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: 18, data_id: 34, status: no callback for service, data buffered., data: \"None\"", + "module": "__init__", + "msecs": 79.78367805480957, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11780.125856399536, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,080", + "created": 1609969763.0801275, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (64): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 38 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d bd 30 46 9b", + "module": "test_helpers", + "msecs": 80.12747764587402, + "msg": "Send data: (64): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 38 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d bd 30 46 9b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11780.4696559906, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,080", + "created": 1609969763.0803835, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (64): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 38 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d bd 30 46 9b", + "module": "test_helpers", + "msecs": 80.3835391998291, + "msg": "Receive data (64): 7b 22 64 61 74 61 5f 69 64 22 3a 20 33 34 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 38 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d bd 30 46 9b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11780.725717544556, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: 18, data_id: 34", + "status: no callback for service, data buffered.", + "None" + ], + "asctime": "2021-01-06 22:49:23,080", + "created": 1609969763.0806448, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: 18, data_id: 34, status: no callback for service, data buffered., data: \"None\"", + "module": "__init__", + "msecs": 80.64484596252441, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11780.987024307251, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: no callback for service, data buffered." + ], + "asctime": "2021-01-06 22:49:23,080", + "created": 1609969763.0808206, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: no callback for service, data buffered.", + "module": "__init__", + "msecs": 80.82056045532227, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11781.162738800049, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,081", + "created": 1609969763.081019, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 81.01892471313477, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11781.361103057861, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 181.54287338256836, + "msg": "Transfering a message client -> server -> client", + "name": "__tLogger__", + "pathname": "src/tests/test_communication.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11881.885051727295, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.1005239486694336 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2021-01-06 22:49:23,182", + "created": 1609969763.1823347, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Returnvalue of Client send Method is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:23,181", + "created": 1609969763.1819973, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Returnvalue of Client send Method): True ()", + "module": "test", + "msecs": 181.99729919433594, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11882.339477539062, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Returnvalue of Client send Method", + "True", + "" + ], + "asctime": "2021-01-06 22:49:23,182", + "created": 1609969763.1821797, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Returnvalue of Client send Method): result = True ()", + "module": "test", + "msecs": 182.17968940734863, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11882.521867752075, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 182.33466148376465, + "msg": "Returnvalue of Client send Method is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11882.676839828491, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00015497207641601562 + }, + { + "args": [ + "{'data_id': 34, 'service_id': 18, 'status': 1, 'data': None}", + "" + ], + "asctime": "2021-01-06 22:49:23,182", + "created": 1609969763.182884, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Received message on server side is correct (Content {'data_id': 34, 'service_id': 18, 'status': 1, 'data': None} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Received message on server side", + "{'data_id': 34, 'service_id': 18, 'status': 1, 'data': None}", + "" + ], + "asctime": "2021-01-06 22:49:23,182", + "created": 1609969763.1825798, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Received message on server side): {'data_id': 34, 'service_id': 18, 'status': 1, 'data': None} ()", + "module": "test", + "msecs": 182.57975578308105, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11882.921934127808, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Received message on server side", + "{'service_id': 18, 'data_id': 34, 'status': 1, 'data': None}", + "" + ], + "asctime": "2021-01-06 22:49:23,182", + "created": 1609969763.1827343, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Received message on server side): result = {'service_id': 18, 'data_id': 34, 'status': 1, 'data': None} ()", + "module": "test", + "msecs": 182.73425102233887, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11883.076429367065, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 182.88397789001465, + "msg": "Received message on server side is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11883.226156234741, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014972686767578125 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.6153864860534668, + "time_finished": "2021-01-06 22:49:23,182", + "time_start": "2021-01-06 22:49:22,567" + }, + "_k7opsE4LEeupHeIYRnC0qw": { + "args": null, + "asctime": "2021-01-06 22:49:23,725", + "created": 1609969763.7251153, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 48, + "message": "_k7opsE4LEeupHeIYRnC0qw", + "module": "__init__", + "moduleLogger": [], + "msecs": 725.1152992248535, + "msg": "_k7opsE4LEeupHeIYRnC0qw", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12425.45747756958, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:23,732", + "created": 1609969763.7320824, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,725", + "created": 1609969763.725527, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 725.5270481109619, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12425.869226455688, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:23,725", + "created": 1609969763.7257168, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 725.7168292999268, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12426.059007644653, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,725", + "created": 1609969763.725998, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 725.9979248046875, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12426.340103149414, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,726", + "created": 1609969763.7261581, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 726.1581420898438, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12426.50032043457, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,726", + "created": 1609969763.7263067, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 726.306676864624, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12426.64885520935, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,726", + "created": 1609969763.7264538, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 726.4537811279297, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12426.795959472656, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:23,726", + "created": 1609969763.7266147, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 726.6147136688232, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12426.95689201355, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:23,726", + "created": 1609969763.7267895, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 726.7894744873047, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12427.131652832031, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:23,726", + "created": 1609969763.7269752, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 726.9752025604248, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12427.317380905151, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:23,727", + "created": 1609969763.7271338, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 727.1337509155273, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12427.475929260254, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,727", + "created": 1609969763.727274, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 727.2739410400391, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12427.616119384766, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:23,727", + "created": 1609969763.7274315, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 727.4315357208252, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12427.773714065552, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,727", + "created": 1609969763.7275972, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 727.5972366333008, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12427.939414978027, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,727", + "created": 1609969763.7277412, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 727.7412414550781, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12428.083419799805, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:23,727", + "created": 1609969763.7278903, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 727.8902530670166, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12428.232431411743, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:23,728", + "created": 1609969763.7280436, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 728.0435562133789, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12428.385734558105, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:23,728", + "created": 1609969763.7281933, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 728.1932830810547, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12428.535461425781, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:23,728", + "created": 1609969763.7283366, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 728.3365726470947, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12428.678750991821, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:23,728", + "created": 1609969763.728476, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 728.4760475158691, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12428.818225860596, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,728", + "created": 1609969763.7286148, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 728.6148071289062, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12428.956985473633, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,728", + "created": 1609969763.7288952, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 728.8951873779297, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12429.237365722656, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:23,729", + "created": 1609969763.7290535, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 729.0534973144531, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12429.39567565918, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,729", + "created": 1609969763.729253, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 729.2530536651611, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12429.595232009888, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,729", + "created": 1609969763.7294014, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 729.4013500213623, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12429.743528366089, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,729", + "created": 1609969763.7295446, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 729.5446395874023, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12429.886817932129, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,729", + "created": 1609969763.729685, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 729.6850681304932, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12430.02724647522, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:23,729", + "created": 1609969763.7298555, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 729.8555374145508, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12430.197715759277, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:23,730", + "created": 1609969763.7300134, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 730.013370513916, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12430.355548858643, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:23,730", + "created": 1609969763.7301831, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 730.1831245422363, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12430.525302886963, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:23,730", + "created": 1609969763.7303464, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 730.3464412689209, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12430.688619613647, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,730", + "created": 1609969763.7305017, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 730.501651763916, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12430.843830108643, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:23,730", + "created": 1609969763.7306871, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 730.687141418457, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12431.029319763184, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,730", + "created": 1609969763.7308662, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 730.8661937713623, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12431.208372116089, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,731", + "created": 1609969763.7310221, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 731.0221195220947, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12431.364297866821, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:23,731", + "created": 1609969763.7311776, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 731.177568435669, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12431.519746780396, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:23,731", + "created": 1609969763.7313344, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 731.3344478607178, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12431.676626205444, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:23,731", + "created": 1609969763.7314909, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 731.4908504486084, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12431.833028793335, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:23,731", + "created": 1609969763.7316482, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 731.6482067108154, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12431.990385055542, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:23,731", + "created": 1609969763.731808, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 731.8079471588135, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12432.15012550354, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,731", + "created": 1609969763.7319496, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 731.9495677947998, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12432.291746139526, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 732.0823669433594, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12432.424545288086, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001327991485595703 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,732", + "created": 1609969763.7325647, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "all_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 157, + "message": "Registering a correct working Callback", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback__'", + "None", + "None" + ], + "asctime": "2021-01-06 22:49:23,732", + "created": 1609969763.7324142, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback__' for SID=None and DID=None", + "module": "__init__", + "msecs": 732.4142456054688, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12432.756423950195, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 732.5646877288818, + "msg": "Registering a correct working Callback", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12432.906866073608, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00015044212341308594 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,834", + "created": 1609969763.8345807, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "all_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:23,732", + "created": 1609969763.732832, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 732.8319549560547, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12433.174133300781, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,733", + "created": 1609969763.733223, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 733.2229614257812, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12433.565139770508, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,733", + "created": 1609969763.7334833, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 733.4833145141602, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12433.825492858887, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:23,733", + "created": 1609969763.7337637, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 733.7636947631836, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12434.10587310791, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback__" + ], + "asctime": "2021-01-06 22:49:23,733", + "created": 1609969763.7338705, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback__ to process received data", + "module": "__init__", + "msecs": 733.8705062866211, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12434.212684631348, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:23,733", + "created": 1609969763.7339296, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 733.9296340942383, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12434.271812438965, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,734", + "created": 1609969763.734033, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "module": "test_helpers", + "msecs": 734.0331077575684, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12434.375286102295, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,734", + "created": 1609969763.734109, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "module": "test_helpers", + "msecs": 734.1089248657227, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12434.45110321045, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:23,734", + "created": 1609969763.7341924, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 734.1923713684082, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12434.534549713135, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,734", + "created": 1609969763.734257, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 734.2569828033447, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12434.599161148071, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 834.580659866333, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12534.92283821106, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10032367706298828 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:23,835", + "created": 1609969763.8350353, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:23,834", + "created": 1609969763.8348324, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message stored inside callback): {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} ()", + "module": "test", + "msecs": 834.8324298858643, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12535.17460823059, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message stored inside callback", + "{'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0}", + "" + ], + "asctime": "2021-01-06 22:49:23,834", + "created": 1609969763.8349319, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message stored inside callback): result = {'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0} ()", + "module": "test", + "msecs": 834.9318504333496, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12535.274028778076, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 835.0353240966797, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12535.377502441406, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00010347366333007812 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33}", + "" + ], + "asctime": "2021-01-06 22:49:23,835", + "created": 1609969763.8353252, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33}", + "" + ], + "asctime": "2021-01-06 22:49:23,835", + "created": 1609969763.8351636, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33} ()", + "module": "test", + "msecs": 835.1635932922363, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12535.505771636963, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'data': 33, 'data_id': 0, 'service_id': 11, 'status': 0}", + "" + ], + "asctime": "2021-01-06 22:49:23,835", + "created": 1609969763.8352454, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'data': 33, 'data_id': 0, 'service_id': 11, 'status': 0} ()", + "module": "test", + "msecs": 835.2453708648682, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12535.587549209595, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 835.3252410888672, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12535.667419433594, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 7.987022399902344e-05 + } + ], + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.11020994186401367, + "time_finished": "2021-01-06 22:49:23,835", + "time_start": "2021-01-06 22:49:23,725" + }, + "_r9srME0vEeuiHtQbLi1mZg": { + "args": null, + "asctime": "2021-01-06 22:49:23,192", + "created": 1609969763.1923676, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 45, + "message": "_r9srME0vEeuiHtQbLi1mZg", + "module": "__init__", + "moduleLogger": [], + "msecs": 192.3675537109375, + "msg": "_r9srME0vEeuiHtQbLi1mZg", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11892.709732055664, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.1954107, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,192", + "created": 1609969763.1927311, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 192.73114204406738, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11893.073320388794, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:23,192", + "created": 1609969763.1929057, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 192.90566444396973, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11893.247842788696, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,193", + "created": 1609969763.1931171, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 193.1171417236328, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11893.45932006836, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,193", + "created": 1609969763.193272, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 193.27211380004883, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11893.614292144775, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,193", + "created": 1609969763.1934335, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 193.4335231781006, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11893.775701522827, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,193", + "created": 1609969763.1935885, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 193.5884952545166, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11893.930673599243, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:23,193", + "created": 1609969763.1937418, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 193.7417984008789, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.083976745605, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:23,193", + "created": 1609969763.193852, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 193.85194778442383, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.19412612915, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:23,193", + "created": 1609969763.1939006, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 193.90058517456055, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.242763519287, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:23,193", + "created": 1609969763.1939485, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 193.94850730895996, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.290685653687, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,193", + "created": 1609969763.1939917, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 193.99166107177734, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.333839416504, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.19404, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 194.04006004333496, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.382238388062, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.1940913, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 194.0913200378418, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.433498382568, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.1941361, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 194.1361427307129, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.47832107544, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.194182, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 194.1819190979004, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.524097442627, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.1942296, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 194.2296028137207, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.571781158447, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.1942806, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 194.28062438964844, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.622802734375, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.194332, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 194.33188438415527, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.674062728882, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.1943762, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 194.37623023986816, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.718408584595, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.194419, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 194.41890716552734, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.761085510254, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.194501, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 194.50092315673828, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.843101501465, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.1945496, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 194.549560546875, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.891738891602, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.1946104, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 194.6103572845459, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.952535629272, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.194656, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 194.6558952331543, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11894.99807357788, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.1947, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 194.7000026702881, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.042181015015, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.1947439, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 194.74387168884277, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.08605003357, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.1947937, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 194.793701171875, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.135879516602, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.1948428, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 194.84281539916992, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.184993743896, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.194894, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 194.89407539367676, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.236253738403, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.1949437, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 194.94366645812988, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.285844802856, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,194", + "created": 1609969763.1949868, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 194.98682022094727, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.328998565674, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.1950343, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 195.03426551818848, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.376443862915, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.1950855, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 195.0855255126953, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.427703857422, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.1951425, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 195.1425075531006, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.484685897827, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.1951802, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 195.18017768859863, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.522356033325, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.1952188, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 195.2188014984131, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.56097984314, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.1952577, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 195.25766372680664, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.599842071533, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.195297, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 195.2970027923584, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.639181137085, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.195336, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 195.33610343933105, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.678281784058, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.1953764, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 195.37639617919922, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.718574523926, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 195.41072845458984, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.752906799316, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 3.4332275390625e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.195534, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "specific_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 100, + "message": "Registering a correct working Callback", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback__'", "10", - "45054" + "0" ], - "asctime": "2020-12-26 10:11:44,086", - "created": 1608973904.0866222, + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.1954958, "exc_info": null, "exc_text": null, "filename": "__init__.py", - "funcName": "receive", - "levelname": "WARNING", - "levelno": 30, - "lineno": 387, - "message": " SP server: TIMEOUT (0.1s): Requested data (service_id: 10; data_id: 45054) not in buffer.", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback__' for SID=10 and DID=0", "module": "__init__", - "msecs": 86.62223815917969, - "msg": "%s TIMEOUT (%ss): Requested data (service_id: %s; data_id: %s) not in buffer.", + "msecs": 195.4958438873291, + "msg": "%s Adding callback %s for SID=%s and DID=%s", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 776.4179706573486, + "relativeCreated": 11895.838022232056, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 195.53399085998535, + "msg": "Registering a correct working Callback", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.876169204712, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 3.814697265625e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,296", + "created": 1609969763.2965207, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "specific_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 103, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.1955996, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 195.59955596923828, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11895.941734313965, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.1957042, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 195.70422172546387, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11896.04640007019, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.1957686, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 195.7685947418213, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11896.110773086548, + "stack_info": null, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe", + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.195843, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 195.84298133850098, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11896.185159683228, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback__" + ], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.195888, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback__ to process received data", + "module": "__init__", + "msecs": 195.88804244995117, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11896.230220794678, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:23,195", + "created": 1609969763.1959367, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 195.9366798400879, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11896.278858184814, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,196", + "created": 1609969763.1960237, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "module": "test_helpers", + "msecs": 196.02370262145996, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11896.365880966187, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,196", + "created": 1609969763.196087, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "module": "test_helpers", + "msecs": 196.08688354492188, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11896.429061889648, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:23,196", + "created": 1609969763.1961527, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 196.1526870727539, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11896.49486541748, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,196", + "created": 1609969763.196205, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 196.20490074157715, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11896.547079086304, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 296.5207099914551, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11996.862888336182, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10031580924987793 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:23,296", + "created": 1609969763.2969446, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:23,296", + "created": 1609969763.2967658, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message stored inside callback): {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} ()", + "module": "test", + "msecs": 296.7658042907715, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11997.107982635498, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message stored inside callback", + "{'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0}", + "" + ], + "asctime": "2021-01-06 22:49:23,296", + "created": 1609969763.2968602, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message stored inside callback): result = {'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0} ()", + "module": "test", + "msecs": 296.8602180480957, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11997.202396392822, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 296.94461822509766, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11997.286796569824, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.440017700195312e-05 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33}", + "" + ], + "asctime": "2021-01-06 22:49:23,297", + "created": 1609969763.2972398, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33}", + "" + ], + "asctime": "2021-01-06 22:49:23,297", + "created": 1609969763.2970788, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33} ()", + "module": "test", + "msecs": 297.07884788513184, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11997.421026229858, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'data': 33, 'data_id': 0, 'service_id': 11, 'status': 0}", + "" + ], + "asctime": "2021-01-06 22:49:23,297", + "created": 1609969763.2971566, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'data': 33, 'data_id': 0, 'service_id': 11, 'status': 0} ()", + "module": "test", + "msecs": 297.15657234191895, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11997.498750686646, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 297.2397804260254, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11997.581958770752, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.320808410644531e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,297", + "created": 1609969763.2974646, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "specific_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 109, + "message": "Overwriting existing Callback using one with faulty return values", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback__'", + "10", + "0", + "'__callback_error__'" + ], + "asctime": "2021-01-06 22:49:23,297", + "created": 1609969763.2973852, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "WARNING", + "levelno": 30, + "lineno": 158, + "message": "SP server: Overwriting existing callback '__callback__' for service_id (10) and data_id (0) to '__callback_error__'!", + "module": "__init__", + "msecs": 297.38521575927734, + "msg": "%s Overwriting existing callback %s for service_id (%s) and data_id (%s) to %s!", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11997.727394104004, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 297.46460914611816, + "msg": "Overwriting existing Callback using one with faulty return values", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11997.806787490845, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 7.939338684082031e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,399", + "created": 1609969763.3994107, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "specific_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 112, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:23,297", + "created": 1609969763.297603, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 297.60289192199707, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11997.945070266724, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,297", + "created": 1609969763.297827, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 297.82700538635254, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11998.16918373108, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,297", + "created": 1609969763.2979572, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 297.957181930542, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11998.299360275269, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:23,298", + "created": 1609969763.298108, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 298.1081008911133, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11998.45027923584, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback_error__" + ], + "asctime": "2021-01-06 22:49:23,298", + "created": 1609969763.2981987, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback_error__ to process received data", + "module": "__init__", + "msecs": 298.1986999511719, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11998.540878295898, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,298", + "created": 1609969763.2983007, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 468, + "message": "SP server: RX <- Exception raised. Check callback __callback_error__ and it's return values for service_id 10 and data_id 0", + "module": "__init__", + "msecs": 298.30074310302734, + "msg": "SP server: RX <- Exception raised. Check callback __callback_error__ and it's return values for service_id 10 and data_id 0", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11998.642921447754, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: callback error.", + "None" + ], + "asctime": "2021-01-06 22:49:23,298", + "created": 1609969763.298406, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: read data response, data_id: 0, status: callback error., data: \"None\"", + "module": "__init__", + "msecs": 298.40588569641113, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11998.748064041138, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,298", + "created": 1609969763.2985876, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d a1 a2 87 f3", + "module": "test_helpers", + "msecs": 298.5875606536865, + "msg": "Send data: (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d a1 a2 87 f3", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11998.929738998413, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,298", + "created": 1609969763.2987142, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d a1 a2 87 f3", + "module": "test_helpers", + "msecs": 298.71416091918945, + "msg": "Receive data (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 32 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d a1 a2 87 f3", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11999.056339263916, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: callback error.", + "None" + ], + "asctime": "2021-01-06 22:49:23,298", + "created": 1609969763.2988453, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: read data response, data_id: 0, status: callback error., data: \"None\"", + "module": "__init__", + "msecs": 298.8452911376953, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11999.187469482422, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: callback error." + ], + "asctime": "2021-01-06 22:49:23,298", + "created": 1609969763.298926, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: callback error.", + "module": "__init__", + "msecs": 298.92611503601074, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11999.268293380737, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,299", + "created": 1609969763.2990189, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 299.01885986328125, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 11999.361038208008, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 399.4107246398926, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12099.75290298462, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10039186477661133 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:23,400", + "created": 1609969763.4000685, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:23,399", + "created": 1609969763.3997626, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message stored inside callback): {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} ()", + "module": "test", + "msecs": 399.7626304626465, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12100.104808807373, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message stored inside callback", + "{'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0}", + "" + ], + "asctime": "2021-01-06 22:49:23,399", + "created": 1609969763.3999145, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message stored inside callback): result = {'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0} ()", + "module": "test", + "msecs": 399.9145030975342, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12100.25668144226, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 400.0685214996338, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12100.41069984436, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00015401840209960938 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 11, 'status': 2, 'data': None}", + "" + ], + "asctime": "2021-01-06 22:49:23,400", + "created": 1609969763.4005175, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {'data_id': 0, 'service_id': 11, 'status': 2, 'data': None} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{'data_id': 0, 'service_id': 11, 'status': 2, 'data': None}", + "" + ], + "asctime": "2021-01-06 22:49:23,400", + "created": 1609969763.4002585, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {'data_id': 0, 'service_id': 11, 'status': 2, 'data': None} ()", + "module": "test", + "msecs": 400.25854110717773, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12100.600719451904, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'data': None, 'data_id': 0, 'service_id': 11, 'status': 2}", + "" + ], + "asctime": "2021-01-06 22:49:23,400", + "created": 1609969763.400389, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'data': None, 'data_id': 0, 'service_id': 11, 'status': 2} ()", + "module": "test", + "msecs": 400.3889560699463, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12100.731134414673, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 400.51746368408203, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12100.859642028809, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001285076141357422 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,400", + "created": 1609969763.400858, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "specific_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 118, + "message": "Removing the registered Callback", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback_error__'", + "10", + "0" + ], + "asctime": "2021-01-06 22:49:23,400", + "created": 1609969763.400736, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "WARNING", + "levelno": 30, + "lineno": 154, + "message": "SP server: Deleting existing callback '__callback_error__' for service_id (10) and data_id (0)!", + "module": "__init__", + "msecs": 400.73609352111816, + "msg": "%s Deleting existing callback %s for service_id (%s) and data_id (%s)!", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12101.078271865845, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 400.85792541503906, + "msg": "Removing the registered Callback", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12101.200103759766, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00012183189392089844 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,503", + "created": 1609969763.503587, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "specific_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 121, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:23,401", + "created": 1609969763.401064, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 401.0639190673828, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12101.40609741211, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,401", + "created": 1609969763.4013755, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 401.37553215026855, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12101.717710494995, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,401", + "created": 1609969763.4015777, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 401.5777111053467, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12101.919889450073, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:23,401", + "created": 1609969763.4018252, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 401.8251895904541, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12102.16736793518, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,401", + "created": 1609969763.4019735, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 460, + "message": "SP server: RX <- Message with no registered callback. Sending negative response.", + "module": "__init__", + "msecs": 401.9734859466553, + "msg": "%s RX <- Message with no registered callback. Sending negative response.", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12102.315664291382, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: no callback for service, data buffered.", + "None" + ], + "asctime": "2021-01-06 22:49:23,402", + "created": 1609969763.402127, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: read data response, data_id: 0, status: no callback for service, data buffered., data: \"None\"", + "module": "__init__", + "msecs": 402.1270275115967, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12102.469205856323, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,402", + "created": 1609969763.4024162, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 88 6a 33 01", + "module": "test_helpers", + "msecs": 402.4162292480469, + "msg": "Send data: (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 88 6a 33 01", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12102.758407592773, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,402", + "created": 1609969763.4026155, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 88 6a 33 01", + "module": "test_helpers", + "msecs": 402.6155471801758, + "msg": "Receive data (63): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 31 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 88 6a 33 01", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12102.957725524902, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: no callback for service, data buffered.", + "None" + ], + "asctime": "2021-01-06 22:49:23,402", + "created": 1609969763.4028344, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: read data response, data_id: 0, status: no callback for service, data buffered., data: \"None\"", + "module": "__init__", + "msecs": 402.834415435791, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12103.176593780518, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: no callback for service, data buffered." + ], + "asctime": "2021-01-06 22:49:23,402", + "created": 1609969763.402964, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: no callback for service, data buffered.", + "module": "__init__", + "msecs": 402.96411514282227, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12103.306293487549, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,403", + "created": 1609969763.403122, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 403.1219482421875, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12103.464126586914, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 503.587007522583, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12203.92918586731, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10046505928039551 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2021-01-06 22:49:23,504", + "created": 1609969763.5043426, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", "None", "" ], - "asctime": "2020-12-26 10:11:44,086", - "created": 1608973904.086949, + "asctime": "2021-01-06 22:49:23,503", + "created": 1609969763.5039992, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -34040,27 +89253,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe): None ()", + "message": "Result (Message stored inside callback): None ()", "module": "test", - "msecs": 86.94911003112793, + "msecs": 503.9992332458496, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 776.7448425292969, + "relativeCreated": 12204.341411590576, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe", + "Message stored inside callback", "None", "" ], - "asctime": "2020-12-26 10:11:44,087", - "created": 1608973904.0871189, + "asctime": "2021-01-06 22:49:23,504", + "created": 1609969763.5041802, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -34068,2150 +89281,129 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe): result = None ()", + "message": "Expectation (Message stored inside callback): result = None ()", "module": "test", - "msecs": 87.11886405944824, + "msecs": 504.1801929473877, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 776.9145965576172, + "relativeCreated": 12204.522371292114, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 87.27431297302246, - "msg": "Return Value (response instance) for struct_json_protocol.receive with data data_id 0xaffe is correct (Content %s and Type is %s).", + "msecs": 504.34255599975586, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 777.0700454711914, + "relativeCreated": 12204.684734344482, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.00015544891357421875 + "time_consumption": 0.00016236305236816406 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 11, 'status': 1, 'data': None}", + "" + ], + "asctime": "2021-01-06 22:49:23,504", + "created": 1609969763.5048912, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {'data_id': 0, 'service_id': 11, 'status': 1, 'data': None} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{'data_id': 0, 'service_id': 11, 'status': 1, 'data': None}", + "" + ], + "asctime": "2021-01-06 22:49:23,504", + "created": 1609969763.5045855, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {'data_id': 0, 'service_id': 11, 'status': 1, 'data': None} ()", + "module": "test", + "msecs": 504.58550453186035, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12204.927682876587, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'data': None, 'data_id': 0, 'service_id': 11, 'status': 1}", + "" + ], + "asctime": "2021-01-06 22:49:23,504", + "created": 1609969763.5047414, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'data': None, 'data_id': 0, 'service_id': 11, 'status': 1} ()", + "module": "test", + "msecs": 504.7414302825928, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12205.08360862732, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 504.89115715026855, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12205.233335494995, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00014972686767578125 } ], - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.7084767818450928, - "time_finished": "2020-12-26 10:11:44,087", - "time_start": "2020-12-26 10:11:43,378" + "time_consumption": 0.31252360343933105, + "time_finished": "2021-01-06 22:49:23,504", + "time_start": "2021-01-06 22:49:23,192" }, - "socket_protocol: Client setting the channel name.": { + "_tb5akE4LEeupHeIYRnC0qw": { "args": null, - "asctime": "2020-12-26 10:11:55,036", - "created": 1608973915.0360408, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 50, - "message": "socket_protocol: Client setting the channel name.", - "module": "__init__", - "moduleLogger": [], - "msecs": 36.0407829284668, - "msg": "socket_protocol: Client setting the channel name.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11725.836515426636, - "stack_info": null, - "testcaseLogger": [ - { - "args": [], - "asctime": "2020-12-26 10:11:55,344", - "created": 1608973915.3448455, - "exc_info": null, - "exc_text": null, - "filename": "test_channel_name.py", - "funcName": "test_channel_name", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 58, - "message": "Initiating communication including channel_name exchange.", - "module": "test_channel_name", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:55,036", - "created": 1608973915.0363746, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 36.374568939208984, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11726.170301437378, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:55,036", - "created": 1608973915.0366857, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 36.68570518493652, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11726.481437683105, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "'__channel_name_response__'", - "6", - "0", - "'ut_response_callback'" - ], - "asctime": "2020-12-26 10:11:55,036", - "created": 1608973915.0369065, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "add", - "levelname": "WARNING", - "levelno": 30, - "lineno": 91, - "message": "Overwriting existing callback '__channel_name_response__' for service_id (6) and data_id (0) to 'ut_response_callback'!", - "module": "__init__", - "msecs": 36.90648078918457, - "msg": "Overwriting existing callback %s for service_id (%s) and data_id (%s) to %s!", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11726.702213287354, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:55,037", - "created": 1608973915.0371692, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 37.16921806335449, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11726.964950561523, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:55,037", - "created": 1608973915.037476, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP client: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 37.4760627746582, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11727.271795272827, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:55,037", - "created": 1608973915.0376382, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 37.638187408447266, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11727.433919906616, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 5, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:55,037", - "created": 1608973915.0377839, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 5, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 37.78386116027832, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11727.579593658447, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:55,038", - "created": 1608973915.0381067, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d c9 eb 19 5c", - "module": "test_helpers", - "msecs": 38.106679916381836, - "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d c9 eb 19 5c", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11727.90241241455, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:55,038", - "created": 1608973915.0386927, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 38.69271278381348, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11728.488445281982, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:55,189", - "created": 1608973915.1890094, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d c9 eb 19 5c", - "module": "test_helpers", - "msecs": 189.009428024292, - "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d c9 eb 19 5c", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11878.805160522461, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-34" - }, - { - "args": [ - " SP client:", - "0", - "5", - "0", - "None" - ], - "asctime": "2020-12-26 10:11:55,189", - "created": 1608973915.189412, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP client: RX <- status: 0, service_id: 5, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 189.41211700439453, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11879.207849502563, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-34" - }, - { - "args": [ - " SP client:", - "__channel_name_request__" - ], - "asctime": "2020-12-26 10:11:55,189", - "created": 1608973915.1896207, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP client: Executing callback __channel_name_request__ to process received data", - "module": "__init__", - "msecs": 189.6207332611084, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11879.416465759277, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-34" - }, - { - "args": [ - " SP client:", - 0, - 6, - 0, - "'ut_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:55,189", - "created": 1608973915.189815, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP client: TX -> status: 0, service_id: 6, data_id: 0, data: \"'ut_client_set_channel_name'\"", - "module": "__init__", - "msecs": 189.81504440307617, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11879.610776901245, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-34" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:55,190", - "created": 1608973915.1902099, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (86): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d db 90 55 74", - "module": "test_helpers", - "msecs": 190.20986557006836, - "msg": "Send data: (86): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d db 90 55 74", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11880.005598068237, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-34" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:55,341", - "created": 1608973915.3412554, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (86): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d db 90 55 74", - "module": "test_helpers", - "msecs": 341.25542640686035, - "msg": "Receive data (86): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d db 90 55 74", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12031.05115890503, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-35" - }, - { - "args": [ - " SP server:", - "0", - "6", - "0", - "'ut_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:55,341", - "created": 1608973915.341658, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 6, data_id: 0, data: \"'ut_client_set_channel_name'\"", - "module": "__init__", - "msecs": 341.6581153869629, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12031.453847885132, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-35" - }, - { - "args": [ - " SP server:", - "ut_response_callback" - ], - "asctime": "2020-12-26 10:11:55,341", - "created": 1608973915.3418858, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback ut_response_callback to process received data", - "module": "__init__", - "msecs": 341.8858051300049, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12031.681537628174, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-35" - }, - { - "args": [ - " SP server:", - "'ut_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:55,342", - "created": 1608973915.3421648, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__channel_name_response__", - "levelname": "INFO", - "levelno": 20, - "lineno": 273, - "message": " SP server: channel name is now 'ut_client_set_channel_name'", - "module": "__init__", - "msecs": 342.1647548675537, - "msg": "%s channel name is now %s", - "name": "root.socket_protocol.ut_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12031.960487365723, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-35" - } - ], - "msecs": 344.8455333709717, - "msg": "Initiating communication including channel_name exchange.", - "name": "__tLogger__", - "pathname": "src/tests/test_channel_name.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12034.64126586914, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0026807785034179688 - }, - { - "args": [ - "'ut_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,345", - "created": 1608973915.3456476, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Channel name for server is correct (Content 'ut_client_set_channel_name' and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Channel name for server", - "'ut_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,345", - "created": 1608973915.3453128, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Channel name for server): 'ut_client_set_channel_name' ()", - "module": "test", - "msecs": 345.31283378601074, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12035.10856628418, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Channel name for server", - "'ut_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,345", - "created": 1608973915.3454916, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Channel name for server): result = 'ut_client_set_channel_name' ()", - "module": "test", - "msecs": 345.4916477203369, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12035.287380218506, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 345.64757347106934, - "msg": "Channel name for server is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12035.443305969238, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00015592575073242188 - }, - { - "args": [ - "'ut_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,346", - "created": 1608973915.346201, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Channel name for client is correct (Content 'ut_client_set_channel_name' and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Channel name for client", - "'ut_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,345", - "created": 1608973915.3459136, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Channel name for client): 'ut_client_set_channel_name' ()", - "module": "test", - "msecs": 345.9136486053467, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12035.709381103516, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Channel name for client", - "'ut_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,346", - "created": 1608973915.3460631, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Channel name for client): result = 'ut_client_set_channel_name' ()", - "module": "test", - "msecs": 346.06313705444336, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12035.858869552612, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 346.20094299316406, - "msg": "Channel name for client is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12035.996675491333, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00013780593872070312 - } - ], - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.31016016006469727, - "time_finished": "2020-12-26 10:11:55,346", - "time_start": "2020-12-26 10:11:55,036" - }, - "socket_protocol: Server and Client setting different channel names.": { - "args": null, - "asctime": "2020-12-26 10:11:55,346", - "created": 1608973915.346605, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 51, - "message": "socket_protocol: Server and Client setting different channel names.", - "module": "__init__", - "moduleLogger": [], - "msecs": 346.6050624847412, - "msg": "socket_protocol: Server and Client setting different channel names.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12036.40079498291, - "stack_info": null, - "testcaseLogger": [ - { - "args": [], - "asctime": "2020-12-26 10:11:55,655", - "created": 1608973915.6559138, - "exc_info": null, - "exc_text": null, - "filename": "test_channel_name.py", - "funcName": "test_channel_name", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 58, - "message": "Initiating communication including channel_name exchange.", - "module": "test_channel_name", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:55,347", - "created": 1608973915.3470314, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 347.0313549041748, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12036.827087402344, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:55,347", - "created": 1608973915.3473983, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 347.3982810974121, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12037.194013595581, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "'__channel_name_response__'", - "6", - "0", - "'ut_response_callback'" - ], - "asctime": "2020-12-26 10:11:55,347", - "created": 1608973915.3476298, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "add", - "levelname": "WARNING", - "levelno": 30, - "lineno": 91, - "message": "Overwriting existing callback '__channel_name_response__' for service_id (6) and data_id (0) to 'ut_response_callback'!", - "module": "__init__", - "msecs": 347.6297855377197, - "msg": "Overwriting existing callback %s for service_id (%s) and data_id (%s) to %s!", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12037.425518035889, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:55,347", - "created": 1608973915.3479233, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 347.92327880859375, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.foo", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12037.719011306763, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:55,348", - "created": 1608973915.3482568, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP client: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 348.25682640075684, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.foo", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12038.052558898926, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:55,348", - "created": 1608973915.3484418, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 348.44183921813965, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12038.237571716309, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 5, - 0, - "'ut_server_and_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:55,348", - "created": 1608973915.3486028, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 5, data_id: 0, data: \"'ut_server_and_client_set_channel_name'\"", - "module": "__init__", - "msecs": 348.6027717590332, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12038.398504257202, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:55,349", - "created": 1608973915.349039, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (97): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d fc 87 b8 63", - "module": "test_helpers", - "msecs": 349.03907775878906, - "msg": "Send data: (97): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d fc 87 b8 63", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12038.834810256958, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:55,349", - "created": 1608973915.349687, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 349.6870994567871, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.foo", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12039.482831954956, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:55,500", - "created": 1608973915.500041, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (97): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d fc 87 b8 63", - "module": "test_helpers", - "msecs": 500.04100799560547, - "msg": "Receive data (97): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d fc 87 b8 63", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12189.836740493774, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-36" - }, - { - "args": [ - " SP client:", - "0", - "5", - "0", - "'ut_server_and_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:55,500", - "created": 1608973915.5004447, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP client: RX <- status: 0, service_id: 5, data_id: 0, data: \"'ut_server_and_client_set_channel_name'\"", - "module": "__init__", - "msecs": 500.4446506500244, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.foo", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12190.240383148193, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-36" - }, - { - "args": [ - " SP client:", - "__channel_name_request__" - ], - "asctime": "2020-12-26 10:11:55,500", - "created": 1608973915.5006776, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP client: Executing callback __channel_name_request__ to process received data", - "module": "__init__", - "msecs": 500.67758560180664, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.foo", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12190.473318099976, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-36" - }, - { - "args": [ - " SP client:", - "'foo'", - "'ut_server_and_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:55,500", - "created": 1608973915.5009804, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__channel_name_request__", - "levelname": "WARNING", - "levelno": 30, - "lineno": 264, - "message": " SP client: overwriting user defined channel name from 'foo' to 'ut_server_and_client_set_channel_name'", - "module": "__init__", - "msecs": 500.9803771972656, - "msg": "%s overwriting user defined channel name from %s to %s", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12190.776109695435, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-36" - }, - { - "args": [ - " SP client:", - 0, - 6, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:55,501", - "created": 1608973915.5011535, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP client: TX -> status: 0, service_id: 6, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 501.15346908569336, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12190.949201583862, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-36" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:55,501", - "created": 1608973915.5015252, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 6c e3 72 30", - "module": "test_helpers", - "msecs": 501.5251636505127, - "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 6c e3 72 30", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12191.320896148682, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-36" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:55,652", - "created": 1608973915.6524947, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 6c e3 72 30", - "module": "test_helpers", - "msecs": 652.4946689605713, - "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 6c e3 72 30", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12342.29040145874, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-37" - }, - { - "args": [ - " SP server:", - "0", - "6", - "0", - "None" - ], - "asctime": "2020-12-26 10:11:55,652", - "created": 1608973915.6529493, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 6, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 652.949333190918, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12342.745065689087, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-37" - }, - { - "args": [ - " SP server:", - "ut_response_callback" - ], - "asctime": "2020-12-26 10:11:55,653", - "created": 1608973915.6531696, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback ut_response_callback to process received data", - "module": "__init__", - "msecs": 653.1696319580078, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12342.965364456177, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-37" - } - ], - "msecs": 655.9138298034668, - "msg": "Initiating communication including channel_name exchange.", - "name": "__tLogger__", - "pathname": "src/tests/test_channel_name.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12345.709562301636, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0027441978454589844 - }, - { - "args": [ - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,656", - "created": 1608973915.6567063, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Channel name for server is correct (Content 'ut_server_and_client_set_channel_name' and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Channel name for server", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,656", - "created": 1608973915.656368, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Channel name for server): 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 656.3680171966553, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12346.163749694824, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Channel name for server", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,656", - "created": 1608973915.6565485, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Channel name for server): result = 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 656.5485000610352, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12346.344232559204, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 656.7063331604004, - "msg": "Channel name for server is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12346.50206565857, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00015783309936523438 - }, - { - "args": [ - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,657", - "created": 1608973915.6572888, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Channel name for client is correct (Content 'ut_server_and_client_set_channel_name' and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Channel name for client", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,657", - "created": 1608973915.657002, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Channel name for client): 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 657.0019721984863, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12346.797704696655, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Channel name for client", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,657", - "created": 1608973915.65715, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Channel name for client): result = 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 657.1500301361084, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12346.945762634277, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 657.2887897491455, - "msg": "Channel name for client is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12347.084522247314, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00013875961303710938 - } - ], - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.3106837272644043, - "time_finished": "2020-12-26 10:11:55,657", - "time_start": "2020-12-26 10:11:55,346" - }, - "socket_protocol: Server and Client setting the same channel name.": { - "args": null, - "asctime": "2020-12-26 10:11:55,657", - "created": 1608973915.6577017, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testrun", - "levelname": "INFO", - "levelno": 20, - "lineno": 52, - "message": "socket_protocol: Server and Client setting the same channel name.", - "module": "__init__", - "moduleLogger": [], - "msecs": 657.7017307281494, - "msg": "socket_protocol: Server and Client setting the same channel name.", - "name": "__tLogger__", - "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12347.497463226318, - "stack_info": null, - "testcaseLogger": [ - { - "args": [], - "asctime": "2020-12-26 10:11:55,966", - "created": 1608973915.9663775, - "exc_info": null, - "exc_text": null, - "filename": "test_channel_name.py", - "funcName": "test_channel_name", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 58, - "message": "Initiating communication including channel_name exchange.", - "module": "test_channel_name", - "moduleLogger": [ - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:55,658", - "created": 1608973915.6580803, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 658.0803394317627, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12347.876071929932, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:55,658", - "created": 1608973915.6584363, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 658.4362983703613, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12348.23203086853, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "'__channel_name_response__'", - "6", - "0", - "'ut_response_callback'" - ], - "asctime": "2020-12-26 10:11:55,658", - "created": 1608973915.6586344, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "add", - "levelname": "WARNING", - "levelno": 30, - "lineno": 91, - "message": "Overwriting existing callback '__channel_name_response__' for service_id (6) and data_id (0) to 'ut_response_callback'!", - "module": "__init__", - "msecs": 658.6344242095947, - "msg": "Overwriting existing callback %s for service_id (%s) and data_id (%s) to %s!", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12348.430156707764, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:55,658", - "created": 1608973915.6588838, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 658.883810043335, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12348.679542541504, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:55,659", - "created": 1608973915.6592257, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP client: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 659.2257022857666, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12349.021434783936, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:55,659", - "created": 1608973915.6594055, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 659.4054698944092, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12349.201202392578, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 5, - 0, - "'ut_server_and_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:55,659", - "created": 1608973915.6595688, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 5, data_id: 0, data: \"'ut_server_and_client_set_channel_name'\"", - "module": "__init__", - "msecs": 659.5687866210938, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12349.364519119263, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:55,659", - "created": 1608973915.6599848, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (97): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d fc 87 b8 63", - "module": "test_helpers", - "msecs": 659.984827041626, - "msg": "Send data: (97): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d fc 87 b8 63", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12349.780559539795, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:55,660", - "created": 1608973915.6604733, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 660.4733467102051, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12350.269079208374, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:55,810", - "created": 1608973915.8109453, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (97): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d fc 87 b8 63", - "module": "test_helpers", - "msecs": 810.9452724456787, - "msg": "Receive data (97): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 61 6e 64 5f 63 6c 69 65 6e 74 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d fc 87 b8 63", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12500.741004943848, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-38" - }, - { - "args": [ - " SP client:", - "0", - "5", - "0", - "'ut_server_and_client_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:55,811", - "created": 1608973915.8113465, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP client: RX <- status: 0, service_id: 5, data_id: 0, data: \"'ut_server_and_client_set_channel_name'\"", - "module": "__init__", - "msecs": 811.3465309143066, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12501.142263412476, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-38" - }, - { - "args": [ - " SP client:", - "__channel_name_request__" - ], - "asctime": "2020-12-26 10:11:55,811", - "created": 1608973915.8115551, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP client: Executing callback __channel_name_request__ to process received data", - "module": "__init__", - "msecs": 811.5551471710205, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12501.35087966919, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-38" - }, - { - "args": [ - " SP client:", - 0, - 6, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:55,811", - "created": 1608973915.8118222, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP client: TX -> status: 0, service_id: 6, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 811.8221759796143, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12501.617908477783, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-38" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:55,812", - "created": 1608973915.8121803, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 6c e3 72 30", - "module": "test_helpers", - "msecs": 812.1802806854248, - "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 6c e3 72 30", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12501.976013183594, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-38" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:55,963", - "created": 1608973915.9632127, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 6c e3 72 30", - "module": "test_helpers", - "msecs": 963.2127285003662, - "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 6c e3 72 30", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12653.008460998535, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-39" - }, - { - "args": [ - " SP server:", - "0", - "6", - "0", - "None" - ], - "asctime": "2020-12-26 10:11:55,963", - "created": 1608973915.9636147, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 6, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 963.6147022247314, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12653.4104347229, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-39" - }, - { - "args": [ - " SP server:", - "ut_response_callback" - ], - "asctime": "2020-12-26 10:11:55,963", - "created": 1608973915.9638371, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback ut_response_callback to process received data", - "module": "__init__", - "msecs": 963.8371467590332, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.ut_server_and_client_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12653.632879257202, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-39" - } - ], - "msecs": 966.3774967193604, - "msg": "Initiating communication including channel_name exchange.", - "name": "__tLogger__", - "pathname": "src/tests/test_channel_name.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12656.17322921753, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.0025403499603271484 - }, - { - "args": [ - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,967", - "created": 1608973915.967172, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Channel name for server is correct (Content 'ut_server_and_client_set_channel_name' and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Channel name for server", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,966", - "created": 1608973915.966837, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Channel name for server): 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 966.8369293212891, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12656.632661819458, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Channel name for server", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,967", - "created": 1608973915.9670155, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Channel name for server): result = 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 967.0155048370361, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12656.811237335205, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 967.1719074249268, - "msg": "Channel name for server is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12656.967639923096, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.000156402587890625 - }, - { - "args": [ - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,967", - "created": 1608973915.9678686, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 142, - "message": "Channel name for client is correct (Content 'ut_server_and_client_set_channel_name' and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Channel name for client", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,967", - "created": 1608973915.9674292, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_result__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 22, - "message": "Result (Channel name for client): 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 967.4291610717773, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12657.224893569946, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - "Channel name for client", - "'ut_server_and_client_set_channel_name'", - "" - ], - "asctime": "2020-12-26 10:11:55,967", - "created": 1608973915.9676673, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation_equivalency__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Channel name for client): result = 'ut_server_and_client_set_channel_name' ()", - "module": "test", - "msecs": 967.6673412322998, - "msg": "Expectation (%s): result = %s (%s)", - "name": "__unittest__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12657.463073730469, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - } - ], - "msecs": 967.8685665130615, - "msg": "Channel name for client is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "src/unittest/test.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 12657.66429901123, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.00020122528076171875 - } - ], - "thread": 139748523513664, - "threadName": "MainThread", - "time_consumption": 0.3101668357849121, - "time_finished": "2020-12-26 10:11:55,967", - "time_start": "2020-12-26 10:11:55,657" - }, - "socket_protocol: Server setting the channel name.": { - "args": null, - "asctime": "2020-12-26 10:11:54,725", - "created": 1608973914.7250314, + "asctime": "2021-01-06 22:49:23,835", + "created": 1609969763.835561, "exc_info": null, "exc_text": null, "filename": "__init__.py", @@ -36219,552 +89411,2160 @@ "levelname": "INFO", "levelno": 20, "lineno": 49, - "message": "socket_protocol: Server setting the channel name.", + "message": "_tb5akE4LEeupHeIYRnC0qw", "module": "__init__", "moduleLogger": [], - "msecs": 725.0313758850098, - "msg": "socket_protocol: Server setting the channel name.", + "msecs": 835.5610370635986, + "msg": "_tb5akE4LEeupHeIYRnC0qw", "name": "__tLogger__", "pathname": "/user_data/data/dirk/prj/unittest/socket_protocol/unittest/src/tests/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11414.827108383179, + "relativeCreated": 12535.903215408325, "stack_info": null, "testcaseLogger": [ { "args": [], - "asctime": "2020-12-26 10:11:55,033", - "created": 1608973915.0339434, + "asctime": "2021-01-06 22:49:23,839", + "created": 1609969763.8392131, "exc_info": null, "exc_text": null, - "filename": "test_channel_name.py", - "funcName": "test_channel_name", + "filename": "test_helpers.py", + "funcName": "set_up_socket_protocol", "levelname": "DEBUG", "levelno": 10, - "lineno": 58, - "message": "Initiating communication including channel_name exchange.", - "module": "test_channel_name", + "lineno": 98, + "message": "Setting up communication", + "module": "test_helpers", "moduleLogger": [ { "args": [ - " SP server:" + "SP server:" ], - "asctime": "2020-12-26 10:11:54,725", - "created": 1608973914.7254598, + "asctime": "2021-01-06 22:49:23,835", + "created": 1609969763.8357806, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__clean_receive_buffer__", "levelname": "DEBUG", "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", + "lineno": 417, + "message": "SP server: Cleaning up receive-buffer", "module": "__init__", - "msecs": 725.4598140716553, + "msecs": 835.7806205749512, "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_set_channel_name", + "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11415.255546569824, + "relativeCreated": 12536.122798919678, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - " SP server:" + "SP server:", + "authentification request", + "authentification response" ], - "asctime": "2020-12-26 10:11:54,725", - "created": 1608973914.7258458, + "asctime": "2021-01-06 22:49:23,835", + "created": 1609969763.8358834, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 835.883378982544, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12536.22555732727, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,836", + "created": 1609969763.8360019, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 836.0018730163574, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12536.344051361084, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,836", + "created": 1609969763.836085, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 836.0850811004639, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12536.42725944519, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,836", + "created": 1609969763.8361707, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 836.1706733703613, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12536.512851715088, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,836", + "created": 1609969763.83625, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 836.2500667572021, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12536.592245101929, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:23,836", + "created": 1609969763.8363428, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 836.3428115844727, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12536.6849899292, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:23,836", + "created": 1609969763.83643, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 836.4300727844238, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12536.77225112915, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:23,836", + "created": 1609969763.8365135, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 836.5135192871094, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12536.855697631836, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:23,836", + "created": 1609969763.8365982, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 836.5981578826904, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12536.940336227417, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,836", + "created": 1609969763.8366735, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "__authentification_state_reset__", "levelname": "INFO", "levelno": 20, - "lineno": 277, - "message": " SP server: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", + "lineno": 363, + "message": "SP server: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", "module": "__init__", - "msecs": 725.8458137512207, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.ut_server_set_channel_name", + "msecs": 836.6734981536865, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11415.64154624939, + "relativeCreated": 12537.015676498413, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "'__channel_name_response__'", - "6", - "0", - "'ut_response_callback'" + "SP server:", + "channel name request", + "channel name response" ], - "asctime": "2020-12-26 10:11:54,726", - "created": 1608973914.7260678, + "asctime": "2021-01-06 22:49:23,836", + "created": 1609969763.8367658, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 836.7657661437988, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12537.107944488525, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,836", + "created": 1609969763.8368638, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 836.8637561798096, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12537.205934524536, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,836", + "created": 1609969763.8369424, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP server: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 836.9424343109131, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12537.28461265564, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:23,837", + "created": 1609969763.8370228, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 837.0227813720703, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12537.364959716797, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:23,837", + "created": 1609969763.837105, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 837.1050357818604, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12537.447214126587, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:23,837", + "created": 1609969763.837191, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 837.191104888916, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12537.533283233643, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:23,837", + "created": 1609969763.8372698, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 837.2697830200195, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12537.611961364746, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:23,837", + "created": 1609969763.8373456, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP server: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 837.3456001281738, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12537.6877784729, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:" + ], + "asctime": "2021-01-06 22:49:23,837", + "created": 1609969763.8374207, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP server: Initialisation finished.", + "module": "__init__", + "msecs": 837.4207019805908, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12537.762880325317, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,837", + "created": 1609969763.837565, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__clean_receive_buffer__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 417, + "message": "SP client: Cleaning up receive-buffer", + "module": "__init__", + "msecs": 837.5649452209473, + "msg": "%s Cleaning up receive-buffer", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12537.907123565674, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "authentification request", + "authentification response" + ], + "asctime": "2021-01-06 22:49:23,837", + "created": 1609969763.8376489, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=authentification request and Response=authentification response", + "module": "__init__", + "msecs": 837.648868560791, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12537.991046905518, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,837", + "created": 1609969763.8377547, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 837.7547264099121, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12538.096904754639, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: seed" + ], + "asctime": "2021-01-06 22:49:23,837", + "created": 1609969763.8378553, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: seed) to the authentification whitelist", + "module": "__init__", + "msecs": 837.855339050293, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12538.19751739502, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification request, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,837", + "created": 1609969763.8379385, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification request, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 837.9385471343994, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12538.280725479126, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: authentification response, data_id: key" + ], + "asctime": "2021-01-06 22:49:23,838", + "created": 1609969763.8380134, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: authentification response, data_id: key) to the authentification whitelist", + "module": "__init__", + "msecs": 838.0134105682373, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12538.355588912964, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_seed__'", + "0", + "0" + ], + "asctime": "2021-01-06 22:49:23,838", + "created": 1609969763.8380928, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_seed__' for SID=0 and DID=0", + "module": "__init__", + "msecs": 838.0928039550781, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12538.434982299805, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_create_key__'", + "1", + "0" + ], + "asctime": "2021-01-06 22:49:23,838", + "created": 1609969763.838175, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_create_key__' for SID=1 and DID=0", + "module": "__init__", + "msecs": 838.1750583648682, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12538.517236709595, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_check_key__'", + "0", + "1" + ], + "asctime": "2021-01-06 22:49:23,838", + "created": 1609969763.8382688, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_check_key__' for SID=0 and DID=1", + "module": "__init__", + "msecs": 838.2687568664551, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12538.610935211182, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__authentificate_process_feedback__'", + "1", + "1" + ], + "asctime": "2021-01-06 22:49:23,838", + "created": 1609969763.8383493, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__authentificate_process_feedback__' for SID=1 and DID=1", + "module": "__init__", + "msecs": 838.3493423461914, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12538.691520690918, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,838", + "created": 1609969763.8384218, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__authentification_state_reset__", + "levelname": "INFO", + "levelno": 20, + "lineno": 363, + "message": "SP client: Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "module": "__init__", + "msecs": 838.4218215942383, + "msg": "%s Resetting authentification state to AUTH_STATE_UNTRUSTED_CONNECTION", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12538.763999938965, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "channel name request", + "channel name response" + ], + "asctime": "2021-01-06 22:49:23,838", + "created": 1609969763.8385031, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=channel name request and Response=channel name response", + "module": "__init__", + "msecs": 838.5031223297119, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12538.845300674438, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name request, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,838", + "created": 1609969763.8385897, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name request, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 838.5896682739258, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12538.931846618652, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: channel name response, data_id: name" + ], + "asctime": "2021-01-06 22:49:23,838", + "created": 1609969763.8386726, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_msg_to_auth_whitelist_", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 539, + "message": "SP client: Adding Message (service: channel name response, data_id: name) to the authentification whitelist", + "module": "__init__", + "msecs": 838.6726379394531, + "msg": "%s Adding Message (%s) to the authentification whitelist", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12539.01481628418, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_request__'", + "8", + "0" + ], + "asctime": "2021-01-06 22:49:23,838", + "created": 1609969763.8387518, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_request__' for SID=8 and DID=0", + "module": "__init__", + "msecs": 838.7517929077148, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12539.093971252441, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "'__channel_name_response__'", + "9", + "0" + ], + "asctime": "2021-01-06 22:49:23,838", + "created": 1609969763.8388326, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP client: Adding callback '__channel_name_response__' for SID=9 and DID=0", + "module": "__init__", + "msecs": 838.8326168060303, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12539.174795150757, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "read data request", + "read data response" + ], + "asctime": "2021-01-06 22:49:23,838", + "created": 1609969763.8389182, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=read data request and Response=read data response", + "module": "__init__", + "msecs": 838.9182090759277, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12539.260387420654, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "write data request", + "write data response" + ], + "asctime": "2021-01-06 22:49:23,838", + "created": 1609969763.8389933, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=write data request and Response=write data response", + "module": "__init__", + "msecs": 838.9933109283447, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12539.335489273071, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "execute request", + "execute response" + ], + "asctime": "2021-01-06 22:49:23,839", + "created": 1609969763.839066, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add_service", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 562, + "message": "SP client: Adding Service with Request=execute request and Response=execute response", + "module": "__init__", + "msecs": 839.0660285949707, + "msg": "%s Adding Service with Request=%s and Response=%s", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12539.408206939697, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,839", + "created": 1609969763.839144, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__init__", + "levelname": "INFO", + "levelno": 20, + "lineno": 315, + "message": "SP client: Initialisation finished.", + "module": "__init__", + "msecs": 839.1439914703369, + "msg": "%s Initialisation finished.", + "name": "root.socket_protocol", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12539.486169815063, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 839.2131328582764, + "msg": "Setting up communication", + "name": "__tLogger__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12539.555311203003, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 6.914138793945312e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,839", + "created": 1609969763.839738, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 174, + "message": "Registering all kind of Callbacks", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback3__'", + "None", + "None" + ], + "asctime": "2021-01-06 22:49:23,839", + "created": 1609969763.8393815, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback3__' for SID=None and DID=None", + "module": "__init__", + "msecs": 839.3814563751221, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12539.723634719849, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__callback2__'", + "None", + "0" + ], + "asctime": "2021-01-06 22:49:23,839", + "created": 1609969763.8394778, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback2__' for SID=None and DID=0", + "module": "__init__", + "msecs": 839.4777774810791, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12539.819955825806, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__callback1__'", + "10", + "None" + ], + "asctime": "2021-01-06 22:49:23,839", + "created": 1609969763.8395755, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback1__' for SID=10 and DID=None", + "module": "__init__", + "msecs": 839.5755290985107, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12539.917707443237, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "'__callback__'", + "10", + "0" + ], + "asctime": "2021-01-06 22:49:23,839", + "created": 1609969763.8396657, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 160, + "message": "SP server: Adding callback '__callback__' for SID=10 and DID=0", + "module": "__init__", + "msecs": 839.6656513214111, + "msg": "%s Adding callback %s for SID=%s and DID=%s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12540.007829666138, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 839.7378921508789, + "msg": "Registering all kind of Callbacks", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12540.080070495605, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 7.224082946777344e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,941", + "created": 1609969763.9414227, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 178, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:23,839", + "created": 1609969763.8398778, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 839.8778438568115, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12540.220022201538, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,840", + "created": 1609969763.8400953, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 840.0952816009521, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12540.437459945679, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,840", + "created": 1609969763.840236, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 840.2359485626221, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12540.578126907349, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:23,840", + "created": 1609969763.8403888, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 840.3887748718262, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12540.730953216553, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback__" + ], + "asctime": "2021-01-06 22:49:23,840", + "created": 1609969763.8404832, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback__ to process received data", + "module": "__init__", + "msecs": 840.4831886291504, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12540.825366973877, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:23,840", + "created": 1609969763.8405852, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 840.5852317810059, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12540.927410125732, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,840", + "created": 1609969763.8407636, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "module": "test_helpers", + "msecs": 840.7635688781738, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12541.1057472229, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,840", + "created": 1609969763.8408964, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "module": "test_helpers", + "msecs": 840.8963680267334, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 33 7d e4 e1 8c bb", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12541.23854637146, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: okay", + "33" + ], + "asctime": "2021-01-06 22:49:23,841", + "created": 1609969763.8410392, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: read data response, data_id: 0, status: okay, data: \"33\"", + "module": "__init__", + "msecs": 841.0391807556152, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12541.381359100342, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,841", + "created": 1609969763.84115, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 841.1500453948975, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12541.492223739624, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 941.422700881958, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12641.764879226685, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10027265548706055 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:23,941", + "created": 1609969763.941682, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:23,941", + "created": 1609969763.9415874, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message stored inside callback): {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} ()", + "module": "test", + "msecs": 941.5874481201172, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12641.929626464844, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message stored inside callback", + "{'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0}", + "" + ], + "asctime": "2021-01-06 22:49:23,941", + "created": 1609969763.9416373, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message stored inside callback): result = {'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0} ()", + "module": "test", + "msecs": 941.6372776031494, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12641.979455947876, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 941.6821002960205, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12642.024278640747, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.482269287109375e-05 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33}", + "" + ], + "asctime": "2021-01-06 22:49:23,941", + "created": 1609969763.9418497, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33}", + "" + ], + "asctime": "2021-01-06 22:49:23,941", + "created": 1609969763.9417534, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {'data_id': 0, 'service_id': 11, 'status': 0, 'data': 33} ()", + "module": "test", + "msecs": 941.7533874511719, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12642.095565795898, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'data': 33, 'data_id': 0, 'service_id': 11, 'status': 0}", + "" + ], + "asctime": "2021-01-06 22:49:23,941", + "created": 1609969763.9418094, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'data': 33, 'data_id': 0, 'service_id': 11, 'status': 0} ()", + "module": "test", + "msecs": 941.8094158172607, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12642.151594161987, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 941.8497085571289, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12642.191886901855, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 4.029273986816406e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,941", + "created": 1609969763.941966, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 184, + "message": "Removing Callback for a specific Data- and Service-ID", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback__'", + "10", + "0" + ], + "asctime": "2021-01-06 22:49:23,941", + "created": 1609969763.9419262, "exc_info": null, "exc_text": null, "filename": "__init__.py", "funcName": "add", "levelname": "WARNING", "levelno": 30, - "lineno": 91, - "message": "Overwriting existing callback '__channel_name_response__' for service_id (6) and data_id (0) to 'ut_response_callback'!", + "lineno": 154, + "message": "SP server: Deleting existing callback '__callback__' for service_id (10) and data_id (0)!", "module": "__init__", - "msecs": 726.0677814483643, - "msg": "Overwriting existing callback %s for service_id (%s) and data_id (%s) to %s!", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11415.863513946533, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:54,726", - "created": 1608973914.7263231, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 726.323127746582, - "msg": "%s Cleaning up receive-buffer", + "msecs": 941.9262409210205, + "msg": "%s Deleting existing callback %s for service_id (%s) and data_id (%s)!", "name": "root.socket_protocol.all_others", "pathname": "src/socket_protocol/__init__.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11416.118860244751, + "relativeCreated": 12642.268419265747, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:54,726", - "created": 1608973914.7266412, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__authentification_state_reset__", - "levelname": "INFO", - "levelno": 20, - "lineno": 277, - "message": " SP client: Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "module": "__init__", - "msecs": 726.6411781311035, - "msg": "%s Resetting authentification state to AUTH_STATE_UNKNOWN_CLIENT", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11416.436910629272, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:" - ], - "asctime": "2020-12-26 10:11:54,726", - "created": 1608973914.726814, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP server: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 726.8140316009521, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11416.609764099121, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP server:", - 0, - 5, - 0, - "'ut_server_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:54,726", - "created": 1608973914.7269955, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP server: TX -> status: 0, service_id: 5, data_id: 0, data: \"'ut_server_set_channel_name'\"", - "module": "__init__", - "msecs": 726.9954681396484, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11416.791200637817, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:54,727", - "created": 1608973914.7274053, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (86): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d 6e a8 f6 56", - "module": "test_helpers", - "msecs": 727.405309677124, - "msg": "Send data: (86): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d 6e a8 f6 56", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11417.201042175293, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [ - " SP client:" - ], - "asctime": "2020-12-26 10:11:54,728", - "created": 1608973914.7280889, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__clean_receive_buffer__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 373, - "message": " SP client: Cleaning up receive-buffer", - "module": "__init__", - "msecs": 728.0888557434082, - "msg": "%s Cleaning up receive-buffer", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11417.884588241577, - "stack_info": null, - "thread": 139748523513664, - "threadName": "MainThread" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:54,878", - "created": 1608973914.8784702, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (86): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d 6e a8 f6 56", - "module": "test_helpers", - "msecs": 878.4701824188232, - "msg": "Receive data (86): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 35 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 22 75 74 5f 73 65 72 76 65 72 5f 73 65 74 5f 63 68 61 6e 6e 65 6c 5f 6e 61 6d 65 22 7d 6e a8 f6 56", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11568.265914916992, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-32" - }, - { - "args": [ - " SP client:", - "0", - "5", - "0", - "'ut_server_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:54,878", - "created": 1608973914.8788922, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP client: RX <- status: 0, service_id: 5, data_id: 0, data: \"'ut_server_set_channel_name'\"", - "module": "__init__", - "msecs": 878.892183303833, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11568.687915802002, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-32" - }, - { - "args": [ - " SP client:", - "__channel_name_request__" - ], - "asctime": "2020-12-26 10:11:54,879", - "created": 1608973914.8791187, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 342, - "message": " SP client: Executing callback __channel_name_request__ to process received data", - "module": "__init__", - "msecs": 879.1186809539795, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.all_others", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11568.914413452148, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-32" - }, - { - "args": [ - " SP client:", - "'ut_server_set_channel_name'" - ], - "asctime": "2020-12-26 10:11:54,879", - "created": 1608973914.8793771, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__channel_name_request__", - "levelname": "INFO", - "levelno": 20, - "lineno": 266, - "message": " SP client: channel name is now 'ut_server_set_channel_name'", - "module": "__init__", - "msecs": 879.3771266937256, - "msg": "%s channel name is now %s", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11569.172859191895, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-32" - }, - { - "args": [ - " SP client:", - 0, - 6, - 0, - "None" - ], - "asctime": "2020-12-26 10:11:54,879", - "created": 1608973914.879545, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "send", - "levelname": "INFO", - "levelno": 20, - "lineno": 412, - "message": " SP client: TX -> status: 0, service_id: 6, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 879.5449733734131, - "msg": "%s TX -> status: %d, service_id: %d, data_id: %d, data: \"%s\"", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11569.340705871582, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-32" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:54,879", - "created": 1608973914.87991, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "send", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 63, - "message": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 6c e3 72 30", - "module": "test_helpers", - "msecs": 879.9099922180176, - "msg": "Send data: (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 6c e3 72 30", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11569.705724716187, - "stack_info": null, - "thread": 139748489201408, - "threadName": "Thread-32" - }, - { - "args": [], - "asctime": "2020-12-26 10:11:55,030", - "created": 1608973915.0308764, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "receive", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 74, - "message": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 6c e3 72 30", - "module": "test_helpers", - "msecs": 30.87639808654785, - "msg": "Receive data (62): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 36 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 6e 75 6c 6c 7d 6c e3 72 30", - "name": "__unittest__", - "pathname": "src/tests/test_helpers.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11720.672130584717, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-33" - }, - { - "args": [ - " SP server:", - "0", - "6", - "0", - "None" - ], - "asctime": "2020-12-26 10:11:55,031", - "created": 1608973915.031237, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "INFO", - "levelno": 20, - "lineno": 319, - "message": " SP server: RX <- status: 0, service_id: 6, data_id: 0, data: \"None\"", - "module": "__init__", - "msecs": 31.236886978149414, - "msg": "%s RX <- status: %s, service_id: %s, data_id: %s, data: \"%s\"", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11721.032619476318, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-33" - }, - { - "args": [ - " SP server:", - "ut_response_callback" - ], - "asctime": "2020-12-26 10:11:55,031", - "created": 1608973915.031431, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "__data_available_callback__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 359, - "message": " SP server: Executing callback ut_response_callback to process received data", - "module": "__init__", - "msecs": 31.430959701538086, - "msg": "%s Executing callback %s to process received data", - "name": "root.socket_protocol.ut_server_set_channel_name", - "pathname": "src/socket_protocol/__init__.py", - "process": 260919, - "processName": "MainProcess", - "relativeCreated": 11721.226692199707, - "stack_info": null, - "thread": 139748497594112, - "threadName": "Thread-33" } ], - "msecs": 33.94341468811035, - "msg": "Initiating communication including channel_name exchange.", + "msecs": 941.9660568237305, + "msg": "Removing Callback for a specific Data- and Service-ID", "name": "__tLogger__", - "pathname": "src/tests/test_channel_name.py", - "process": 260919, + "pathname": "src/tests/test_callbacks.py", + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11723.73914718628, + "relativeCreated": 12642.308235168457, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.0025124549865722656 + "time_consumption": 3.981590270996094e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,043", + "created": 1609969764.0430546, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 187, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:23,942", + "created": 1609969763.9420385, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 942.0385360717773, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12642.380714416504, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,942", + "created": 1609969763.9421513, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 942.1513080596924, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12642.493486404419, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,942", + "created": 1609969763.9422185, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 942.218542098999, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12642.560720443726, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:23,942", + "created": 1609969763.9422965, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 942.2965049743652, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12642.638683319092, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback1__" + ], + "asctime": "2021-01-06 22:49:23,942", + "created": 1609969763.9423444, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback1__ to process received data", + "module": "__init__", + "msecs": 942.3444271087646, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12642.686605453491, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: operation not permitted", + "34" + ], + "asctime": "2021-01-06 22:49:23,942", + "created": 1609969763.9423952, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: read data response, data_id: 0, status: operation not permitted, data: \"34\"", + "module": "__init__", + "msecs": 942.3952102661133, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12642.73738861084, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,942", + "created": 1609969763.9424856, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 33 34 7d 53 62 51 ca", + "module": "test_helpers", + "msecs": 942.4855709075928, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 33 34 7d 53 62 51 ca", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12642.82774925232, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:23,942", + "created": 1609969763.9425519, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 33 34 7d 53 62 51 ca", + "module": "test_helpers", + "msecs": 942.551851272583, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 33 34 7d 53 62 51 ca", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12642.89402961731, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: operation not permitted", + "34" + ], + "asctime": "2021-01-06 22:49:23,942", + "created": 1609969763.9426188, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: read data response, data_id: 0, status: operation not permitted, data: \"34\"", + "module": "__init__", + "msecs": 942.6188468933105, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12642.961025238037, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: operation not permitted" + ], + "asctime": "2021-01-06 22:49:23,942", + "created": 1609969763.9426663, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: operation not permitted", + "module": "__init__", + "msecs": 942.6662921905518, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12643.008470535278, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:23,942", + "created": 1609969763.942741, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 942.7409172058105, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12643.083095550537, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 43.05458068847656, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12743.396759033203, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10031366348266602 }, { "args": [ - "'ut_server_set_channel_name'", - "" + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" ], - "asctime": "2020-12-26 10:11:55,035", - "created": 1608973915.0351858, + "asctime": "2021-01-06 22:49:24,043", + "created": 1609969764.0434809, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Channel name for server is correct (Content 'ut_server_set_channel_name' and Type is ).", + "lineno": 144, + "message": "Message stored inside callback is correct (Content {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Channel name for server", - "'ut_server_set_channel_name'", - "" + "Message stored inside callback", + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" ], - "asctime": "2020-12-26 10:11:55,034", - "created": 1608973915.0348597, + "asctime": "2021-01-06 22:49:24,043", + "created": 1609969764.0432885, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -36772,27 +91572,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Channel name for server): 'ut_server_set_channel_name' ()", + "message": "Result (Message stored inside callback): {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} ()", "module": "test", - "msecs": 34.859657287597656, + "msecs": 43.288469314575195, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11724.655389785767, + "relativeCreated": 12743.630647659302, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Channel name for server", - "'ut_server_set_channel_name'", - "" + "Message stored inside callback", + "{'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0}", + "" ], - "asctime": "2020-12-26 10:11:55,035", - "created": 1608973915.0350358, + "asctime": "2021-01-06 22:49:24,043", + "created": 1609969764.0433822, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -36800,57 +91600,57 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Channel name for server): result = 'ut_server_set_channel_name' ()", + "message": "Expectation (Message stored inside callback): result = {'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0} ()", "module": "test", - "msecs": 35.03584861755371, + "msecs": 43.38216781616211, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11724.831581115723, + "relativeCreated": 12743.724346160889, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 35.185813903808594, - "msg": "Channel name for server is correct (Content %s and Type is %s).", + "msecs": 43.480873107910156, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11724.981546401978, + "relativeCreated": 12743.823051452637, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.0001499652862548828 + "time_consumption": 9.870529174804688e-05 }, { "args": [ - "'ut_server_set_channel_name'", - "" + "{'data_id': 0, 'service_id': 11, 'status': 6, 'data': 34}", + "" ], - "asctime": "2020-12-26 10:11:55,035", - "created": 1608973915.0356703, + "asctime": "2021-01-06 22:49:24,043", + "created": 1609969764.0437605, "exc_info": null, "exc_text": null, "filename": "test.py", "funcName": "equivalency_chk", "levelname": "INFO", "levelno": 20, - "lineno": 142, - "message": "Channel name for client is correct (Content 'ut_server_set_channel_name' and Type is ).", + "lineno": 144, + "message": "Message received by client is correct (Content {'data_id': 0, 'service_id': 11, 'status': 6, 'data': 34} and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Channel name for client", - "'ut_server_set_channel_name'", - "" + "Message received by client", + "{'data_id': 0, 'service_id': 11, 'status': 6, 'data': 34}", + "" ], - "asctime": "2020-12-26 10:11:55,035", - "created": 1608973915.0354097, + "asctime": "2021-01-06 22:49:24,043", + "created": 1609969764.0436006, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -36858,27 +91658,27 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Channel name for client): 'ut_server_set_channel_name' ()", + "message": "Result (Message received by client): {'data_id': 0, 'service_id': 11, 'status': 6, 'data': 34} ()", "module": "test", - "msecs": 35.40968894958496, + "msecs": 43.60055923461914, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11725.205421447754, + "relativeCreated": 12743.942737579346, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" }, { "args": [ - "Channel name for client", - "'ut_server_set_channel_name'", - "" + "Message received by client", + "{'data': 34, 'data_id': 0, 'service_id': 11, 'status': 6}", + "" ], - "asctime": "2020-12-26 10:11:55,035", - "created": 1608973915.035544, + "asctime": "2021-01-06 22:49:24,043", + "created": 1609969764.043681, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -36886,65 +91686,1136 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Channel name for client): result = 'ut_server_set_channel_name' ()", + "message": "Expectation (Message received by client): result = {'data': 34, 'data_id': 0, 'service_id': 11, 'status': 6} ()", "module": "test", - "msecs": 35.54391860961914, + "msecs": 43.68090629577637, "msg": "Expectation (%s): result = %s (%s)", "name": "__unittest__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11725.339651107788, + "relativeCreated": 12744.023084640503, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread" } ], - "msecs": 35.67028045654297, - "msg": "Channel name for client is correct (Content %s and Type is %s).", + "msecs": 43.76053810119629, + "msg": "Message received by client is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "src/unittest/test.py", - "process": 260919, + "process": 125842, "processName": "MainProcess", - "relativeCreated": 11725.466012954712, + "relativeCreated": 12744.102716445923, "stack_info": null, - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.00012636184692382812 + "time_consumption": 7.963180541992188e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,043", + "created": 1609969764.043978, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 193, + "message": "Removing Callback for a specific Service-ID and all Data-IDs", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback1__'", + "10", + "None" + ], + "asctime": "2021-01-06 22:49:24,043", + "created": 1609969764.0438938, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "WARNING", + "levelno": 30, + "lineno": 154, + "message": "SP server: Deleting existing callback '__callback1__' for service_id (10) and data_id (None)!", + "module": "__init__", + "msecs": 43.89381408691406, + "msg": "%s Deleting existing callback %s for service_id (%s) and data_id (%s)!", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12744.23599243164, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 43.977975845336914, + "msg": "Removing Callback for a specific Service-ID and all Data-IDs", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12744.320154190063, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 8.416175842285156e-05 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,145", + "created": 1609969764.145824, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 196, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:24,044", + "created": 1609969764.0441103, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 44.11029815673828, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12744.452476501465, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,044", + "created": 1609969764.0443113, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 44.3112850189209, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12744.653463363647, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,044", + "created": 1609969764.044439, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 44.439077377319336, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12744.781255722046, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:24,044", + "created": 1609969764.044579, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 44.57902908325195, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12744.921207427979, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback2__" + ], + "asctime": "2021-01-06 22:49:24,044", + "created": 1609969764.044672, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback2__ to process received data", + "module": "__init__", + "msecs": 44.67201232910156, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12745.014190673828, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: operation not permitted", + "35" + ], + "asctime": "2021-01-06 22:49:24,044", + "created": 1609969764.0447662, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: read data response, data_id: 0, status: operation not permitted, data: \"35\"", + "module": "__init__", + "msecs": 44.76618766784668, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12745.108366012573, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,044", + "created": 1609969764.0449376, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 33 35 7d 4a 79 60 8b", + "module": "test_helpers", + "msecs": 44.9376106262207, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 33 35 7d 4a 79 60 8b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12745.279788970947, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,045", + "created": 1609969764.0450702, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 33 35 7d 4a 79 60 8b", + "module": "test_helpers", + "msecs": 45.07017135620117, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 36 2c 20 22 64 61 74 61 22 3a 20 33 35 7d 4a 79 60 8b", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12745.412349700928, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: operation not permitted", + "35" + ], + "asctime": "2021-01-06 22:49:24,045", + "created": 1609969764.0451999, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: read data response, data_id: 0, status: operation not permitted, data: \"35\"", + "module": "__init__", + "msecs": 45.19987106323242, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12745.542049407959, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "status: operation not permitted" + ], + "asctime": "2021-01-06 22:49:24,045", + "created": 1609969764.0452802, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 453, + "message": "SP client: RX <- Message has a peculiar status: status: operation not permitted", + "module": "__init__", + "msecs": 45.28021812438965, + "msg": "%s RX <- Message has a peculiar status: %s", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12745.622396469116, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,045", + "created": 1609969764.0453722, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 45.37224769592285, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12745.71442604065, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 145.82395553588867, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12846.166133880615, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10045170783996582 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:24,146", + "created": 1609969764.1466632, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:24,146", + "created": 1609969764.146285, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message stored inside callback): {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} ()", + "module": "test", + "msecs": 146.2850570678711, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12846.627235412598, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message stored inside callback", + "{'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0}", + "" + ], + "asctime": "2021-01-06 22:49:24,146", + "created": 1609969764.146472, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message stored inside callback): result = {'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0} ()", + "module": "test", + "msecs": 146.47197723388672, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12846.814155578613, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 146.66318893432617, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12847.005367279053, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.00019121170043945312 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 11, 'status': 6, 'data': 35}", + "" + ], + "asctime": "2021-01-06 22:49:24,147", + "created": 1609969764.1472194, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {'data_id': 0, 'service_id': 11, 'status': 6, 'data': 35} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{'data_id': 0, 'service_id': 11, 'status': 6, 'data': 35}", + "" + ], + "asctime": "2021-01-06 22:49:24,146", + "created": 1609969764.1469045, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {'data_id': 0, 'service_id': 11, 'status': 6, 'data': 35} ()", + "module": "test", + "msecs": 146.90446853637695, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12847.246646881104, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'data': 35, 'data_id': 0, 'service_id': 11, 'status': 6}", + "" + ], + "asctime": "2021-01-06 22:49:24,147", + "created": 1609969764.1470566, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'data': 35, 'data_id': 0, 'service_id': 11, 'status': 6} ()", + "module": "test", + "msecs": 147.05657958984375, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12847.39875793457, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 147.21941947937012, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12847.561597824097, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001628398895263672 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,147", + "created": 1609969764.1476352, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 202, + "message": "Removing Callback for a specific Data-ID and all Serice-IDs", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP server:", + "'__callback2__'", + "None", + "0" + ], + "asctime": "2021-01-06 22:49:24,147", + "created": 1609969764.1474838, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "add", + "levelname": "WARNING", + "levelno": 30, + "lineno": 154, + "message": "SP server: Deleting existing callback '__callback2__' for service_id (None) and data_id (0)!", + "module": "__init__", + "msecs": 147.48382568359375, + "msg": "%s Deleting existing callback %s for service_id (%s) and data_id (%s)!", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12847.82600402832, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 147.63522148132324, + "msg": "Removing Callback for a specific Data-ID and all Serice-IDs", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12847.97739982605, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001513957977294922 + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,250", + "created": 1609969764.2504723, + "exc_info": null, + "exc_text": null, + "filename": "test_callbacks.py", + "funcName": "choice_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 205, + "message": "Transfering data", + "module": "test_callbacks", + "moduleLogger": [ + { + "args": [ + "SP client:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:24,147", + "created": 1609969764.1478963, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP client: TX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 147.89628982543945, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12848.238468170166, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,148", + "created": 1609969764.1482797, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 148.27966690063477, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12848.621845245361, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,148", + "created": 1609969764.1485317, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "module": "test_helpers", + "msecs": 148.53167533874512, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 30 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 31 7d b8 5b f5 78", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12848.873853683472, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data request, data_id: 0", + "status: okay", + "31" + ], + "asctime": "2021-01-06 22:49:24,148", + "created": 1609969764.1488254, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP server: RX <- service: read data request, data_id: 0, status: okay, data: \"31\"", + "module": "__init__", + "msecs": 148.82540702819824, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12849.167585372925, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "__callback3__" + ], + "asctime": "2021-01-06 22:49:24,149", + "created": 1609969764.1490207, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 465, + "message": "SP server: RX <- Executing callback __callback3__ to process received data", + "module": "__init__", + "msecs": 149.02067184448242, + "msg": "%s RX <- Executing callback %s to process received data", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12849.362850189209, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP server:", + "service: read data response, data_id: 0", + "status: okay", + "36" + ], + "asctime": "2021-01-06 22:49:24,149", + "created": 1609969764.1492217, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "send", + "levelname": "INFO", + "levelno": 20, + "lineno": 714, + "message": "SP server: TX <- service: read data response, data_id: 0, status: okay, data: \"36\"", + "module": "__init__", + "msecs": 149.22165870666504, + "msg": "%s TX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12849.563837051392, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,149", + "created": 1609969764.149556, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "send", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 73, + "message": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 36 7d 99 96 78 fe", + "module": "test_helpers", + "msecs": 149.55592155456543, + "msg": "Send data: (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 36 7d 99 96 78 fe", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12849.898099899292, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2021-01-06 22:49:24,149", + "created": 1609969764.1498437, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "receive", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 84, + "message": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 36 7d 99 96 78 fe", + "module": "test_helpers", + "msecs": 149.84369277954102, + "msg": "Receive data (61): 7b 22 64 61 74 61 5f 69 64 22 3a 20 30 2c 20 22 73 65 72 76 69 63 65 5f 69 64 22 3a 20 31 31 2c 20 22 73 74 61 74 75 73 22 3a 20 30 2c 20 22 64 61 74 61 22 3a 20 33 36 7d 99 96 78 fe", + "name": "__unittest__", + "pathname": "src/tests/test_helpers.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12850.185871124268, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:", + "service: read data response, data_id: 0", + "status: okay", + "36" + ], + "asctime": "2021-01-06 22:49:24,149", + "created": 1609969764.1499956, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__data_available_callback__", + "levelname": "INFO", + "levelno": 20, + "lineno": 445, + "message": "SP client: RX <- service: read data response, data_id: 0, status: okay, data: \"36\"", + "module": "__init__", + "msecs": 149.9955654144287, + "msg": "%s RX <- %s, %s, data: \"%s\"", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12850.337743759155, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "SP client:" + ], + "asctime": "2021-01-06 22:49:24,150", + "created": 1609969764.1501107, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "__buffer_received_data__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 375, + "message": "SP client: Message data is stored in buffer and is now ready to be retrieved by receive method", + "module": "__init__", + "msecs": 150.11072158813477, + "msg": "%s Message data is stored in buffer and is now ready to be retrieved by receive method", + "name": "root.socket_protocol.all_others", + "pathname": "src/socket_protocol/__init__.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12850.452899932861, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 250.4723072052002, + "msg": "Transfering data", + "name": "__tLogger__", + "pathname": "src/tests/test_callbacks.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12950.814485549927, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.10036158561706543 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:24,251", + "created": 1609969764.2512639, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message stored inside callback is correct (Content {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message stored inside callback", + "{'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31}", + "" + ], + "asctime": "2021-01-06 22:49:24,250", + "created": 1609969764.2509089, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message stored inside callback): {'data_id': 0, 'service_id': 10, 'status': 0, 'data': 31} ()", + "module": "test", + "msecs": 250.90885162353516, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12951.251029968262, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message stored inside callback", + "{'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0}", + "" + ], + "asctime": "2021-01-06 22:49:24,251", + "created": 1609969764.251096, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message stored inside callback): result = {'data': 31, 'data_id': 0, 'service_id': 10, 'status': 0} ()", + "module": "test", + "msecs": 251.09601020812988, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12951.438188552856, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 251.26385688781738, + "msg": "Message stored inside callback is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12951.606035232544, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001678466796875 + }, + { + "args": [ + "{'data_id': 0, 'service_id': 11, 'status': 0, 'data': 36}", + "" + ], + "asctime": "2021-01-06 22:49:24,251", + "created": 1609969764.2518337, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 144, + "message": "Message received by client is correct (Content {'data_id': 0, 'service_id': 11, 'status': 0, 'data': 36} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Message received by client", + "{'data_id': 0, 'service_id': 11, 'status': 0, 'data': 36}", + "" + ], + "asctime": "2021-01-06 22:49:24,251", + "created": 1609969764.251504, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Message received by client): {'data_id': 0, 'service_id': 11, 'status': 0, 'data': 36} ()", + "module": "test", + "msecs": 251.50394439697266, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12951.8461227417, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + }, + { + "args": [ + "Message received by client", + "{'data': 36, 'data_id': 0, 'service_id': 11, 'status': 0}", + "" + ], + "asctime": "2021-01-06 22:49:24,251", + "created": 1609969764.2516868, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Message received by client): result = {'data': 36, 'data_id': 0, 'service_id': 11, 'status': 0} ()", + "module": "test", + "msecs": 251.68681144714355, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12952.02898979187, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread" + } + ], + "msecs": 251.83367729187012, + "msg": "Message received by client is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "src/unittest/test.py", + "process": 125842, + "processName": "MainProcess", + "relativeCreated": 12952.175855636597, + "stack_info": null, + "thread": 140247539738432, + "threadName": "MainThread", + "time_consumption": 0.0001468658447265625 } ], - "thread": 139748523513664, + "thread": 140247539738432, "threadName": "MainThread", - "time_consumption": 0.3106389045715332, - "time_finished": "2020-12-26 10:11:55,035", - "time_start": "2020-12-26 10:11:54,725" + "time_consumption": 0.4162726402282715, + "time_finished": "2021-01-06 22:49:24,251", + "time_start": "2021-01-06 22:49:23,835" } }, "testrun_id": "p3", - "time_consumption": 12.580554962158203, + "time_consumption": 13.58837604522705, "uid_list_sorted": [ - "socket_protocol.struct_json_protocol: Send and receive check.", - "socket_protocol.pure_json_protocol: Send and receive check.", - "socket_protocol.pure_json_protocol: Send and receive check including authentification.", - "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id and data_id.", - "socket_protocol.pure_json_protocol: Wildcard Callback registration for service_id.", - "socket_protocol.pure_json_protocol: Wildcard Callback registration for data_id.", - "socket_protocol.pure_json_protocol: Register a second Callback with the same service_id.", - "socket_protocol.struct_json_protocol: Send and receive check (Twice for coverage of buffer initialisation).", - "socket_protocol.pure_json_protocol: Checksum corumpation while sending.", - "socket_protocol.pure_json_protocol: Timeout measurement for authentification and send method.", - "socket_protocol.pure_json_protocol: No Callback at response instance for the request.", - "socket_protocol.pure_json_protocol: Authentification required, but not processed/ correctly processed.", - "socket_protocol.pure_json_protocol: Authentification processed without secret.", - "socket_protocol.pure_json_protocol: Incompatible Callback return value(s).", - "socket_protocol: Server setting the channel name.", - "socket_protocol: Client setting the channel name.", - "socket_protocol: Server and Client setting different channel names.", - "socket_protocol: Server and Client setting the same channel name." + "_XzMFcHYZEem_kd-7nxt1sg", + "_7izDUEzYEeuiHtQbLi1mZg", + "_-UtxUEzYEeuiHtQbLi1mZg", + "_AlIUwEzZEeuiHtQbLi1mZg", + "_2pi_8EzZEeuiHtQbLi1mZg", + "_ZJMD8EzaEeuiHtQbLi1mZg", + "_j-npsE0MEeuiHtQbLi1mZg", + "_4w4SsE1DEeuiHtQbLi1mZg", + "_Pn3WgE0NEeuiHtQbLi1mZg", + "_CZeooE0YEeuiHtQbLi1mZg", + "_Lmn-kE0hEeuiHtQbLi1mZg", + "_k-Q4EE0oEeuiHtQbLi1mZg", + "_ZOW3ME0vEeuiHtQbLi1mZg", + "_r9srME0vEeuiHtQbLi1mZg", + "_Tb-78E4LEeupHeIYRnC0qw", + "_YfrfUE4LEeupHeIYRnC0qw", + "_k7opsE4LEeupHeIYRnC0qw", + "_tb5akE4LEeupHeIYRnC0qw", + "_aA508E4gEeupHeIYRnC0qw", + "_elO7wE4gEeupHeIYRnC0qw", + "_gvJ1oE4gEeupHeIYRnC0qw", + "_YhmzIE4lEeupHeIYRnC0qw" ] } ], "unittest_information": { - "Version": "9553e12e9d4099ace581b5decf091c01" + "Version": "937ff4d1e2cef1eec3e4f65a89281dc2" } } \ No newline at end of file diff --git a/_testresults_/unittest.pdf b/_testresults_/unittest.pdf index d04f0545b0b7e6419a5d0b0ee8962825d9698b7c..4ab710a67cc3375dc224836d4f103c2a7f09d18c 100644 GIT binary patch delta 520447 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�O;h0MhlG=KuUB zd7hZBp7P=@Y?m1=FeUL7bpd*T6#DNtw)=e?i#}kK)bBAgM?mZWqBCoB)@Re@`Pb7& z<5VrtlWL%ifQ>F?Fb~oplgM|QSn3d!8!>RaK_Y9PeYYPwvm2ZqlKQW&??~>uuWxLA zYH9sBkj~oE6HUez5I39YphMTmg^T z_YgyN<0{>C=gxh3Ps)l6yK3sAejv6Qw-*bV2Dho97h5#Sgam2I$A1ai6$_x*D`!??Uu)9DjlOL!1SH zYhC$Y^w7Saak-l|@WI>L8yeh~Q{~d0GsJ~5oL4gEq^3S zqQb4YGg{x7^`xG*) z!-R-@-(k`vaJUMA^IPbQT88MSl7uq$|GW!P1)6Yo0!)+xO*{q1?l9Qym{=ijxG|!W zww@TZgRw{j@uIN`_p*H=>I>}!6k?aPGaW^U<&#O7LfYqIpZAlLGrPF#$odnS+z+%o zD{UOdkd>G0Hf?N5lbtQ&stP(m$?VL1nxQI&l)Lsux4d!DYTCQ*>gh^X_XH*}e;$aV zSJ6G+0d_x3T_wS|e0OtC&ZGSgDLb$HhEb=vZ`6KT=p~V(e>YB)!`(05SBx0y+y~@_ zNiXjmTUQWWA=dU{bvenb7y{v$94&CrkuRQA%0^aDXJh;CVqoUaQsqFolKMc_o zM^(3B=@<G+dt@)gL6G zax;>582x>lc|b2B0%F)= z(?TxO0te^202ItwCJ2=2T{7622Y=8&nuBp-n0A7-!$gvvKa&R?oVcM9gyY}>3L!0l z%smFUkG_tx?piYrOnZ{A+fN)KYX6#Y3IF~LGk_+lDRZPC+d4SfoO<@YVDmtD?U()h zf2_v;7GqAP)P8AT6j0{xl-_?L-2drH<3RKMHg!FrV24?5i+`&?sx?C~R{hAgRXZTX z&5Wv=lg{SzzkEY6*HkLW-1Z+$!6U+oN(W+hxcOSZBwLVUe0lq%R*^q~Zbvs6?-SQ> zX-J|Q3t2LD#Qq6KqZ5Kihw@)Zya>O39?Bb^nX#Bg4RIa?Q8=={dILV~o@0sBAKw6pK)apxDVB&^3Pf&p_?KBL_!kI_Hf=ua2d zyAnv=)i`B;FbdFG_wPz_%{C|8gAtEaKKlAIj=R8#9Rti_?+&@|bRPL!5;a-c!-h_i zrrDWS?F2u7CRswn_K!!GTx5SGU#NIHhuh%6-SCV_#U`5nUgy&_i-FeAPt*FFeNc=S zS4}oU@>oS{RUeL}GC(#4tYDfVT4c|*eDO`&+NcW*sn2IAniR^M@W&Vai;B6;o_YXVmFNq<2c<+jDC1)3Pdt>#Ey3^qm1D8K?$C z#Lym!UPfbxC^ty2J`;+%e~amFYWfQP@@w3HP&kOSc@x4J3e_0s*?11$WmHrFCpV}A z#x_<_te+bPV9YTP$u@!y7?6S8#hZhj+D_m$Ev~DSt6Xq>!+kpa8H9|{MSoBoz#G>M z4>+}o_a^c$qS|JJAoi;lE=VuNxMLaTDOTrQVHcTH)4|_vD_Ip!((4;9D=Vl1ap6<| zA{(~E#YMSm)({woL_mUrj8MO>ZZBj7uT~ugo$*s z0sTQvmhV-r_F65sF@t=x!NfR$25G`WsG$58Z(~Ln26tW?*)`zCGX`t<0VR5Thq4JR zEK*Sb6bhy$6u}J?(|KyIDj35_A#enC_1!_P?S+yB{-RScWX3bIvTI+wxs4J*oo@6( zIRKx3qLXXv8d5~i!D#PS=Vb}N$VMth_tXgcVI&v!*A1r4YOC5OfR!9AfgbL)xRTI? z4#}K|_wc#wke?=3;U&P>u(vG9=+6!CG*7mWgt`wu01JE-V&N{Bil_;Kb2fjH6r)uCg5&p$PZWIP&&m726yPreQO&_jd&t+3(0jrRMdJ;-F0x)y z*`N$pJ$(a%ueG9^QCt-1Ig; zT(OKbH9b@*H?-0<|4fk`@So<L&rIIFayJO~S^J-3!jSO{`o6#m{_2k4t&X`|8&qB^rUuqhU^?Z=QE3 zyGcUeQ$eWYt!JPuKA^)RU9d@N__r;_0w~O#;bf4{d3}xKfV1whIfjSdHcwmSTl1QJ zWHPaR1c|jEwTP=5)Y)^b7~INAVq_z|eZ)=<9_vA5xD()AU@UKc%NiI?7#e2y=lbXsR zzlEZ~__r0{T=3Ot09vd6@-~Pm6!vR z=D(70F*M(QU1_d`W-OdDMIurY^WsGQgB*Ooh}8$hX80u@S@eIOvu-E3-1eI-QIVvi zY!6mhPkx`s4Lfc@HpTe{;?&$KbQz5Q z1>%-Y3v$I#buVuGc`VhGJyU?5T%X;-7Ea$!T6kLhYLEhSXw{@OS{1Pm_I(137atV_m2Pk*sf`Q zUjH*H_xpjhW&F~_sP3;1j7Fxd1(u?42^k61Vx|5dRp+j;`pq=|6nua>O*G0<+kx@6 z&Dojrw?p$}PE_|Y;`+D@q?}Fk;-l(Uxn4zpeqzj=fMr;v9}&ME zIj1Kigp}%n6?aWzLG+FiD(umsfwtsyeoAtWV7c6J1zDnAEDflr-Cte`^JPfvlCU{p#~N_R9p2H1aG-;vEjBzrHOs*vz$; za~e7%sgQq)?EJQj?s0_^D)?)*2A z0;1-K5`J-502D0^a*i8XV(8y zKOS<9fp;#sgK~H)m&y&Mh}L=gKOCT>DB)x^D!&)DZ%kl1FRDcj7f|iEnyd=cj9lIGMuY#$4Q*n zd$RXO#l?KW1~ zjU8e%3G~2(VGG%nx|~OHN*t=2QcyLg+;IJ*bsQy1|H0aD>%#af6A3wz0=}>^sS?0> zQjQG9tl>u$RsXN^rtby(6Ya4i9e1f`hU1fd#b%T+XBXkey(&=Sp+5}=SgRy~*Xo&# z8RMi)&`&4GlcicO51ImZOY<{f%(vS@CSh{+0QD6JXdB;5F$5xY!q~iF>o} z0@1bJ5qzTBU=VH)1;?@5N+?^5IT&Gz4TUpiYNaRTy(sESW3KTvcX%ujyfKycb7nsz zA;fP#H*z#R4QVSs7vS}*1!H!tS^j=1Y1C$8`;PbuNW%P@$Tz@acgK?c1rN~{*EsSg zz7}k~2{rN7sJK~nA`uS>us0jURq&-c3QBdj!l)#b00kxDgaRYYB^r(d=`6JxoX`_3 zg2LtGoUbTMTty|LI7y`F$H+7)&`k<`SfPB0Jc_!C4rQ`aee!z1T+0vO1Gk$Yd~f~I zdy`rNSH6&Xvk10u;(4R$BMr(9;)n4^Gqxv+1))(Vquh&8!qy=dpe%`*`3mfZeclZ- z!Y{lKr1~A?<&q@g7Zhc#@ZI24ItmEr`2+#c;Zpv;w{mvwctk2hE~fvVijDbOg|JBj z(6-j$MEaLx9C;F#be@X>qlkmGgQZU+L$nnoaMF~qScUHvdb@s~x>~R6!Yy~{GU=1x zSuWvr{>vs=T~(Z5bsiq1dPyFSDn>{(VXmlxD@B}-q_3Fma?Ji1 zQKX`B4Npo=GoHpofn+9*5|1W_hKdNVksm}e7#M`=XF{&T6~;ZaH5)?xi6AFyg5VG4 z|6SF+FJC8uwCPnTXE|!Rk$fyxz8I4ws7omoO59Ylq_NvlFjaf`_{DV7K*g`q%C zyg^t@!P)k&Qt`Po`CnAMV{|0{7xgU)cvEFkL@#-?CN|if^mmI8E#j&Q~w>nsGU5`vy);6OMRY>#5uE7&F{Wg<7zyT)^ zDKtKE^~G>kSSUprIT_Ft2`mXR#sU2nZf3w#<6SA-CLC?Z4f;khUznr*d97O}!pA2p zQ&qA6mTbHh8ZoW5%8^SX^+Dc(v2lebPY1f4?!{ebR7qdBhJFV=VX=68DNITUlWq2C z5HY_t34zfFORU}f)oXzW5fmWEraP&Oic$y&6!?*t#|&cT)LU9nHfWLH1h6T|6Ko!+#V9XJ=acsu(-3-#Ce1SB9jbc_eJl8 z?c$SSR*Ql&jCW(-oZtT((ba2|n1wxpQ3-NjLD5q~05QGC!`!c32;xyZ8IDx>-1EaUADM$&|Jj6oo<+1 zO|OLsjwQ9cW)EX?MLik}X`;H|jf)C1ZRgr-KN(Vwdl8k`boh$eyBToELxdm{tBR_zOACPWrwErkbtM)w z0%7#@XMa~;FJCClct2NjUq)?GcEK)@rgX2tUI(_5qY$Z?L-fpkG*{r6!8|&x_5^RZ zeiP4+KrpsBz$4Tk)$;8yFJ;D8`wjJiq=sW55(;NbOT7BiVZoO=8PdwlwR0iC!P-sk z>~Cd)d==@}H^nJ_QIYJ7H6#t3gSHf2hTYn=p&Gjx zv_J4pXTlL#d%Gm|{G8OkjA9Cl@;1aIGlI5+);ogPe8#$)ndyGgl^__Gc*Vun5m*1w zvx6Gnp~69(h`GyuASJb5qqyu~bXtOUS_(#LrJ1WdlV6~EKN|-Y4f!Rjn+6Zr@kXqz zP4gz_Xbms-ehx=Cs5W27F0}Mu#nOH}cp{B!NPb_f*%uXE4w0nJBK)XK{>@7hd~gjP9%08?qdHacg0!e4p!OYZB2{*Q*!H0gPoc9OJRB8Xcme)}6JR#r zHE6o3lC(g%@8kw_m2b5yyvb$Tu`%1rb2>{va3K$o13}&R4H!;w#V>*8{w9xg+vR`4 zKE`|N^6VlRmq4+IN&o3*y*Z+v)`%9v5>jLIr_@x5EZ+lX!20Z17oy=>`#sA83YLSK z!yL!$xc7p{q!_Wy=!>P;pY&VABPlv00aRquYYZB~*Nn36!ec1BB3Xp0!f;TwcRCG({B!{f9qOO{ba zppe#j=6-OVcakIM`t~ddx8SS8H{Ld4i$p0Hu==k61MP#V&|YT0afBO}$IP|OOjQbc zW}XaZQ8G>ASx(vY=B?{KtuHfs2Rx8BFKwdAs2E7+`)Bw&jFp?_p*YsF633F$$edpk zo35N=SYF!B?7J#fZB$jGeN<(7_=)<>C{Kq_@sUGM{F)1AU2US{_2Z2>$pAIffcX04 z3(rh+2LaacSZt18SB_kUbaa>1PPX4<^jfLjuzVN%@$|&Yie!j>o;tcjWIq*jr~9Zj z{vnV<-OKHO^AP@(Z*zvDr^$*r?&i!WaG^2I<}bYdHuGr&@|?@M(selR+92hiYs$Yw zPcyXAbg%T9)l&xDuS`!96U19|I}oAj#X$8 zt1+#}3|t@5nL(Sr`jZuJIy&YJLPzkaLAJ=P0dlmGl!^`lG~v$r zchqX4g|hhzDo1eXg+MAYWgs7*)yNys%*}vJp0Z}KHSpwiVG91xG}lWvj(UG{M1)Vx zxCqTGi4|2;RNf-KtuGo)myGkfD6FI1~E89~%P$z$=$kAp8`@u$LfY8a^ z{b0N_U+Z@;x$o5IowIh@-LpQyy%HMBqu=@Wkq!a(NJcjq#dZC@SV{GsK=1?yEPs`Ymm?&Y!GQ336wZe1v^xyg z^ z+vdJXepZg_f&#!D1+3UDdR6tUh7vVX+q~YcFmSWJ%z~e=DGaru+=o@mHE!N32)kA! z)^!DxjzW#x@dRZQ+z^~VHLgVB(K{HSQJQoS?+H4ZWEG@0j^b9wglasC|J?^VFuQQ} zqZ>4mt~t^X4m7}%Cf%S z4bkpqe#5PavC0IOVHYeUv5_k81&c`*SQZ>IMTVOXoL;6TQayM>SFy>0@ZqfNVTUK& z#aRFH#hlMLE};_Ub%XZX3j-ucq1$FuA)vw z)i-6w2fCTROr7WtrynWNNm*{3cFlAIJ=1NI>l2A@7KxRXi|W4k?rHRk;{25?ecXLFnb^lylP(IOHB zqFS&}jA6uhAckv17lv5QGASr*q@EB zvdO{)KMKilr(}UoJW%@h)p_&*aNN2vN}uVls9ZlkE~r|uiQIIUW&RG9{7hl2_`tXC zs{MF~ZT0wz3nHoe`Sm{}uW#P7;tz(4*XPX>1Ls|Qv|!jMlPmbMME^wFBD`E?93mk> z%`PiviU#a;|C#P4_C!wLZ4N7+v4jWt{UJUHRYUx3ylkhfhM4r5t*$7s3u~HkCnzmY|6eSn-`5(kfH=qq+t|cRK2^P)2ZpMVu4|$|v)}Ju znPR+gIVt;cM_X6q)YK*~={*NIQ-gA>s5wJ4eIZy_irI?t$Uq%%G3 zd>Orm|B-Sgo}eLR)3^WSbxSc|jxnChR5e;fb#P~a2)+9Ijkp1Ia{ju%{C#gW3jUwj ziYwyt%bzZY7JKG?TQ`yPnbU^JW(@79AOsRe1bx6U=AhvJ5=#N=`@%l}YLgh>b0+`K zY_-VJ&h)!!00V;GFTob6;4IXeaimyjPc%SoHvoaeYt zXBx@&7Z}1ARZ6X?*)N-=`=nd^@_K0AL~~b7y;NmHLQvbxY#J26^}VfiSY4Y_d;u}T zjWpLONkcuM74~tqM$_}T;0s3AqSrHViYTW92lav_zy(u(9ZIAf&z`u^5c)cX56e~&Eq(nYh z!oKto>l2K1sH5c1Gp;=N_&svqPwe{YG~oA%+%KaW5k-Fidjg&bp1!R~eQum5HW%_{ z`PKUa2Imt#lN|O+l7*179D7?0m%fbu&DP62><#incnwqIxP8~0;FR`l zTW^sa_9n`_!i)jR_U<=uTf?kvrKu)DG~&e?qqP-I$)Tn7{4sVQf9~Lz9?@oi0VEj9 zXj*`Atcg}($yR4P0vCQ#HEWYm12W}%QUsA1UI2~vg~hK&|IP{{H!!mn4isrshP zuU!u`PczCa?_rF4vked3x~Sj4J<}DvRvi8{x~w>tYZrC4ENgV{4YLV(<=%+Ps$Qs` zJ#fOo3(;Y+AjE~lf?KG5PLNcE>sV86x$BAJ5 zZv`a#DVg_J8Oo4+=e|YJKluJTPUG4xuu=Z{W+SMs`5}0s(R5$&50FrSZ6?_lE7B7* zZ5*X0o@df2+IWXcqWzldhe`2}5SnV=H!DX>VSp)O*orihdF#F?FHSD;%O(crS*O7- z_NAI1RjYFb4bQ&OZuXo053Z|k1@rc`If(o9P+h0FBg2ZwPL)?TqO@rRuo63b#E;Mt z_Azy_f|OUC#zpyrYrwe7LV#~Z2qhYlk$dC93#~a{Hcy#(VoZ3crDlt_#t1KgY}(C8 zf$fB+?G?)C7RMg6oTkJLHA^mQ2^!E~JnNfe+ARqlW76F&w^R&Rt&^T~`5(lx{F=)$ zqTeTK!hDetSvAC+SRe-Xo^T~GWK2^{PMS>C_9-R-9VHG?l?Jx-PtZB;N>b)L#DcKvSM1Hu~FJ&2cdT0)vp_-0qj!i?b)L zRZ*9nF^{(E=hZ8R?3b85+mhqk+5;A`SfDOy3YN@jeZ!95{tQNKi_C# zrLUx;03GI?M4;s&+R7^3CIr}ZNgeIyfMZojnVJ2m`OcE%{R49ZIyHm zhG|t8#D`!Wyr+WiNlXL#f-Mf*GW@-G9S0=K>2UDq&{*>2VS!&uJ&oEgB!F_H*}Tj% z1l&r#fywTAM<0^|k0RJ4`-br7qhwv>0{&3GoN3NIH1!cV*+Znp&giQT)phXEr8 z*&cq)KE#O!!}YS0H96(s@Q?!u)?Lg^0&DL@V$D5b|O#ziCs{j~#99#EG|g z%Tj%^m14c@N60KVHvH|g8OV?hvZLcPEkl{eu{Jj#Y)EL4%nx=|%q5^fgaiS=~!pzEoxW ze$bo57TA&T&iCp6sG)qMD=&v+ocLPhoZ~lH#dN+)co+R?5Q529AO_Q4oRBWe%HW&0 zVfg;cs%U?G>(iIGN#464dWAYB#q%?D>|wZN>v%b{Dkn4QXyJ}nz=0TX3H2d-}ZKSlfCdV3g(b~?<_Mf?Z?S; zqDr9g{VoO<+L4vExcolnO}kdgu>2i^jT_2Vvb=+9XZg(U8`P!uwTH@aP4z!e6}5ze z_J9@lTSPD!)k(p^&h?6-FUTvUD*a98t=nY~cFAjB2K{WY0LE))Ybk;=G zn3`_dEvFVn#(m=?XD^2K2U;{s5cYvYzlu-VMtCSezgo1lt~(PbdV1jY6w)$lgif$= zu?kHJTRkNV4AF}9yZf)WjQv9VdaVsH%8H8@R6cBsq|w?!+kN0juSB!qr=L)l8Bn9$ zU8qH`&)3E(?Vtk#AuC!{iAQX`IAe)mazBIJHSU9)yFRl@+$th!Qr`!#%xj{}xI&OM z^kGvW(QiyYFY@U0vj^Iu8}D}`n%siOS-;_h@}2#+_2gw%FA3|w2*@TBt$e;T3$i7m zbUH?VcskVF&2Trrs0&+dz+w4XAkdTy(jq+P>W0IB;1K&3rC}O>58ElmqQ0yjIkr(w zXg$N{6x2*uO=$7PF0>C{PZtG$7d!Gt^lx5Jj8NP0Xg{S0cP)3eJE(*!tdc{#9kizP z2X4vnK>7;ZQ7wtwVU{_t=)L~eSyDLn%Ry2ifiZv)EDlq$hacO9cm!bw)(bOFoL=qv8eq76Z*g3`v^b;= zh%z)}T@3nc8;I9InPG#`g&j5!TkN?QP(;1n2I)kxk%aSq_ils-DlF5m>eCDKj=aR0 zv>;lm72Vf#ctMuT6WHsb)q{~hh_mre!|Sk_S%7OcE)fQBM_oyFwLr)Ulo_D63CvXPZ45Kp0SaiOr(D+$Tf-*W1_v74ABLE$kJtg6o9O-XA#=mZvzT>wY__|bOD z&`*z|Z;0G=O@7JGJDGhW!l6aIaDN!R5I> zvPOc3Qf@WZdx@Ek86655ZW(&5LZPxrpJ0&(5TT*B6cRL3*MM)~QgmcUQe1KFwd=BU zGNhR@Kyxc{lxUG3KxIEk>0*~$iHa+#0weR?=AJu2)vX4LyiT>=9@N~mR|QK8W=`uw z9CTT}hv;0Hg&UOk<3-fCRL_5xKMjO-YXoUB=f%=P$~{B%x=^@RgYmQS7zycS#=V$?biephDGNP&D&FB?bAU8Pa9 zY*o+wT}wMwP$$b;um?5ec&xcR2>jzw?SFRZ@2mg}QBh_e6%bt0Jwp^0xSx`q=2zxoS%Gx;*Ub|a_hMR_*~#if&b zvir;`%dbK*Lc=Xn0V&N7+6<%*=PSayol0!akI3 z0FQhdOT2N1>Ep}}5UEz8)DV6Du$Fq>Tbu8gi;g1hhb{3DW)2xJ+_TCyfx;HSxYvR6 z>OQ{}XY54chFHScYlKZO+nh)zF!r803nU(vPB8sgie`9Y=+HXeT4ug%7fNKm zG+WY}mYm&mJ}G==r6t7BGf|-Ny|yq&0B$yW$rDTlhynPK>-q|^V&pAm$$n*h#NI<6 za$?-^?u|kM{+oNS{*%gqu`qG`Uv>QdXYv7IlDS1FtZc-)to`$=#!|lhc@$1a`8W7z z-p8Koz3L`ANN>p2N@-cMg9Si~E2o8b?YE~<7O(h8H1!%P71jfK3)WSirly8>`86|0 z6{V;1B>@-u({tzg~kU~d>vaMl)@u@_8hVCB5Y;WZt4 zAS85-=FRbD<{QU}lA}198T4}5Md?OzR?1a+4+rAS)o!;VB*&2+Zei@?;Q&g7YduW_ zku!%y%-p*!FdNG5)_mj^vV0;MJz1mR7UQG7YXCAw@FiS+{!eR_)`GoAr=6SO*K`qH zQQT7-qiVrU*&i;2Y4+M}$poFZeCgouromt}Be@&@m{ zr6zNu5*|S|8~!4LOk_lOlkboGwbPMZ1~Att3$x)BSYerIjcxenLe%zMDO6-0!_Ez# zl3=5|dq!mEt;ot8hG(-b1+lX+B#=zNCs18#H~n0IsHr`fcc zPI+YMfrq4eyk&DJycb0x{bk|?Mm= zO8Vvbs4?FLo63uuUs!O`+G$qek;RA2-J_AgVP%jbbhebH-P8)C5oWU((brX*{(8^K zcAwqL;-K33N%=4uT<@2ZkfLo#s^8E+13+lWfZxCh<#C;CH6WK;4nSe2cCk{E!vb`} z26>o3@^}P>`-)M9l+zHZ!;J5@7gLq;_nF(^Nyk^D1Hj~IZB(|&=>FE9J5|Vb8t%G` z8TAGtqGrDS#@LL$crWz_^km4clV>|~lwB9?A?z;A>8pASx63}t{=6kHul6cW%|X7T z1M=DdypLIfwx+l27N;(6sF7gzkcg>_)!54-LkCnmxf5=UNPMiw3udHfnX-%$N?Z|* z2%`@%JPk#uUFrGraxoQs60(ssRMkGARsgOH)FF3Fr~vQ#@tJe6eNKm_wClq@^N`+^iwHBL1mx5sH`X-4DHVjT{K-#2v z+VfCjzvjPcqFq-zLJC;t$iq&}QOW=a*j#W~l_4VoMqaveY`E8&DvWcQ9~t>^TF3NG z%9d-W74&j3A^6io6)mKs>}0D7Y!dEWsb>5Srz(aDorF=c%P3&s@Qfz>Ix~ew7HXfQ{#sYc0G|3}b z{D(g!OuE+ug;QZY2G(aNY9~I7?qj1xD!At??n7*^0Q1xv1eW_)hAkK*7fFI0m$FEV z8Lm`afcbdkM~GgqVkr}#TQ zjYFmu?uQ~qJk`A&xfts7!+RBjf{k zX+qybd0ffUOqlt+I~+dbXBv{zKimvQn$ryk8VFMwGa7&n=&&b&^5t)KR4ffpuG&H*T^42G zjfSodk8Lg^gA6UTyFA`OuYf+>Dyz&Ymd4+wEhERNV z<%=1^eu(&NuRq;IuRzwKNM;}MWNcCVYZ(;(wG7|=lissGEcDgX4K$J}kVv{WwUw7AgPWVFB@AOG63TN5t|G>!*||*3pc7ZlBh<4aIIRpV&1%3^OdrPp5?|g z3;d!ABukUTonDr`*HTsauDQ2sF^J~nMLo!KHMhg(3HCK_VXTy~&;-2$keR-Q32Fa^35BQPYM()!m>vP5Qkkjf zWU=zCFY;Uri)K!$h7%aF0VjV|4C&5bcQWj9)pv#%)n*Af&S(rZ`>EyJS<{?EGAv(v z@vpPUE|Iq{8>=xEYP-5J+?;q|ck^{zi^-~+jd!|njTNsd~sx*!SngjPT%%%#I1l>?6G zqgf&bbWBc?gl$>SR34rCCO{>=N(twuUwqaYE|DrW_YXTG1~QbDut8VSk;d3$Ce9;m z17C^S{-Ukx?w%0$7P=omK3`m`k-W1xxLnUrbE;>}^d-wM#Mzktii!CDiU|sREMht{ zTd=8I38#3!8l`db4z(#k?CCX}30mO+wshN`?0QzRq^Qf6`-feT1 z4;4gmkX0YgFwz2nI0fur-TJP5!8z6l7Uh&fsLssbnF@IJYb?r;DoMNThQG~SXKQh2 z#qHPQ$>@{C&69kz;6VU%avageZxq)Lid{u)Q86?H3E7yO#7Eq#&agzE9^TYM(!O%+ zcF4Wz_f4snlfjg{xkM~e6DmQrlF9yY#W-bu8D$dE2DtRy-Q;9Lz)>^Xzw=`IKj%eR z0DR}6sblv`83 zkJtaQ?i*e`iGvt%TB!-7Oh)DbhWt%C{feqkL`JVC9V?13^f`$v*vGEJ?#!filK$b4 zfR3JYVhfqf-{&*Zr?!uRKwP&k|N3#NK6u9@cE9cY0t|kv2dvY%W@3R9xH&=L3? zCD)3Os@aCp9>c@Dv}%lo*0h9urU!oh^H@9e%c~Y*J$s6YwbI``-C;nh*J}ts>zEX* zWQ562of+%4CH!e#e#rxm12wrIdbJj7&AOJn;ej^|w5dkaJwzJPK~RB-Nfr-*{Oi&AwE(4HCn6CThy(w6HSmloOAv)hVUofJP|rz( zBw!~;wB`KT-a?^5sX<1&HFZLx8Jpl-1{|maf1W$F1Ep@B809QYatL^fEkWgXu9iB) zLDNh8UXmNqfLag)u1qr$eI&xZ0SFsl!Qod*G zamYnn5^YOTBi#xtV1Qu8Nb4-8UjfSR(=|6{jz7u%G#nsM6OEbyu$WZDaAw1AGz@`G z+4hQ-S3X{;UPWfPW@6V=G>CM}0wVk3LMk?0#$*}zrH=$^=oYd-GmV`JN#4d%#uyH;e#f z|H>)y{Aw#W{tMFm$FlpszCALQ4A!R#B$V?;C^EAA18C1{p3OyDl(glQg%6);J=@(y ztGN+avq&}eX;0t7yLR8ZDLL7svk;1{TxF6C^pBCVz?QnYY4f^tIl6|Ziv3ghfi`j? zt-@xaFiOq4{iXXf^%XYp4Y|_nyL)+dV;+4)pnvbH|D#ObViO7!SfB8_s#{7gJ)`+A&x&djIyk>{|;b z(LYTme|_s&WyP)a4rD3fOTnA#uf-+lw&xdJywJ581u%xj?zdu=NsctlM@zq4zt6(kU~<9-|31m1=>d!~s3Hv*k!Q6r=m;~ZVjIX-lDB6AQhemr;Qu9$@S_7I{E0WxN5V8lzXlGT zKREY&s?>fh#i6ucb2$QvnKOncGxIx4kRx(ZaCG30=c>i6B`^@?5YcT5?^+p#!(L*w`?=yTp$6F1(?90Dokkg6rS-3@oZ%rvQ2+ zq8$u3G+i-LodH*6d&E$RWv0Sbm>!b9E`8c7C%n4SJPaN^PM2{g`h`YocZ_+=1LVNG z3GoL7cv`}g_La=2ZZUbIKr1GMPvoseTDg_1_fE6|yd&b!Nnv0u;OKxdBpxUFTH6jx z_=J)%xj_j@Um}$55KC!qnh+^&xFNB8uz)Ml@9t>C(SE+Rk9Q5UDa6>|iCR{uC1?pc z_`{(_e2_epxRR>PX#(Iz)e>T>I?*WP53d`3@UKn`Q z!!S$Aa(9bC@){tLpQ+hm3P5tGOIPOEx3RPeA=U#Aia`kH0#Lq)DVI<{4Ny#XjB8=NeRw0MM%Rkd<_%N0>IiQ3JFu2Brgk8AQf<@k|r znyjVzfk=TNAm!o=RVA|6CG)ldj9HC3W(p_N=*c*T_ud)o3V!NU%QI#82Jc)uKTM+7 zIM1wI{7`X#RGGl6@mWP4!nqK%iGChSd<0NrXqE+-iYnVt>iVAsjM?MW4pCg+y)cuC zx>FdN78@Nf+GhcY=8>0pCiX6z(UIM!hZzl# ziHro-GQ7(Zesf+Q|2gZ|NOw}p_Z(cE&Y*Uf&5AZPm@{8A#6*# zb2s~_a9OTy+-yf3QsaLLVW3(ykvs7@cypc&IWX+>0Nr~s!P+Kd$Jx0R*%TtS&7w?d z^}*Z=Hv$}Mj!WE3@hoR(0Gt8jpnKl8;b2_fWtHD#2TxjNO<;#K+wAZt0ui%Qd0P$S zn`EIQt#WJIK-{y}^Ot6PmTiM$>X3s;-+(?%E8gqS?*;MFzRNNV73!;81S6{{wdNGZ z0R388SXYPa(y)7WQqBUJRGchOPn2@T(G(PJ9Sc^UX--%8ffv2tl~ov`D)LZ;^+GDrfkClxojxfmx!(%KkTS#{p3wQ2ok^MNt0m(^oIdy)^)*FvWkooo{y0 z*touAqgSAQK4Tojg2vDxr{Xu*XM=S)y)h0_seI`r+^U!b3u{Ku+zA~VgvJA8R9-qF z5X5AxjPSpD{za$#s^_Sn?5zJsdm!tw_C-QF)2uI3VnqkgZRRRisI*R#wJx4gj|G;b zYr%_mkS)l4_+bL5BMWUOQ0A9w%=uUVK@*5?7qEJ>+onRnnxrztxI2__Pm_PyaOLZS zAX2r!Y0~|m0(1ue03BEpPo^wLhrz8TadmPt_FTv5LBtmnN2xh9bm0PlLa(p zNA$FFobMx9&3@%LZRNNwp;HJ9!|~ey`Y5H8NI%4l^Zg?~{GsO!{8upt-tAKTSmSU(^U(WL&MZ;cgVzQP? z*;y;Yv8x29ORBRy5JvCL|J+o&IdWY{pZ+;HikclI_{G?s5)OyPvSDWZYeO1a{&?UQbjH!Gb*>-2x!k=>Q zOH^5J!uT(}>x;9L+ORdv!!0g2R1)bw>H7#Dsnk&E7h!kVXmA}FKgvtqpwh}1AEhLV zjI&#xK7h|Z9FOAng#-YDUA2nj`#jViBkvEzP#}fH&zT{8d(bB~go8ne`WJ-zKhk1T zb@OcXcC~qpr|cR|RT$QPaz!}9&F4>vCTCF|2V;#g_hn@TXe#89kiMAuzwmtFUd*N?}f+?-;4GwHaHRXT#4UM7aM-RZ5@eIJE%t^~` zgbyR5w7!_{Mm-ON7^@}|nn}5BR}ru{Nou^GdEpTet2%{vXmNBniW6+kO?u$g{)|t2 z*lbk>r7}*(A$+Us9yBG5#ucW*{AkFA0^Nf)O%AKuI83%5lg{Qzfx(K?+no_0=k|3a*OSJ-j8+#gwdZySpYg*3$L$ zpzN#_B^_dlMT@gSP3LM$02Ms7$CI#|P2Q*`=dq*h1Xnpx+JCazw^|d6;fq0rw z9?aHz=Olx0EV`@k;CA*VIm29*Cb0mnOTTt+UKK}x@KXQrcZlI@ND306^V6dYW%2Q# z1P2f_{vpai+r}!IWX?hBlLN6$SAb#4Q}1=7Jh;zP3s1vG;xhZ)%G6{gkanCy0+e<@ zmoBAFbk!%zkWcvT9!+*JO>6FF(61a;;CDINEi!h_m|RcQhewRapjWjztJB^Lbh?+C z@OZbWikkCKQ@*qS$x8J4U5SAYRg~ofMxvX=(^Cn)Vv1JQf(8DQ*L97_1CFS{ew|^x zGGIe~>XV_JYnB|7vSnkxTTMxVE66=9m?FjF(URw6HzIgU?lBbL4e9iatU{i*sP%ugmWn z1m*VHb?Wc7!CrR0{CwC0bMd?ftBxx0#|71hg`0+;qX-)fKP@6{OS-iUn|f3Oh)jTCg6|tBRZz>K z25X=Gk_paYx(eA620BDSMyh0Pe77DR?;G4)uUI?B3jk7M-D~KJz#h!IvGbs)Uqqx8 zF^7aC<8UO|5;9K3+H8hm4ts(VX7l@Qtnyf^+ZLW&~l(=byaRn(~IJrOg$HPEn6B*r>6Tj4hH=+llL0Za3rW&YZ-$X=b?_ zF#}pn6&uTq?tU4A1wmf5d-xd7zWN+qD{UEf6^BmEH!SncJBPxY(Y*$WsFi!`bq2g# z(vBS}#D(Imfq5IrM$s_TwVlvYXaM_zf$v<*-$s~#7~~PyN!xYi$qAkE= zRl`D7VLlG}#!Iul@lslD&4q|$R!Sj*M>pwFR1OaPpvmI};B0)>KakI&qQZK{p3Jsax=$PV_^UT0d zoy%0Q>EvC`DHBi7BvOF+VpWt*SN)AeF6lb}%99Z@AX7WQ+I_(x?N=~o+uT5;K`<+_ zQKElJTU?rI`(-v~Ret2!`TFK+$K=z#eTNJ)trPik&5ZUPjub|iQ|Y%A0A%^3fx){& zePxp4bfrfpJ2;%h9oXzm0+0xcYhY%;Vp$Hs)g9n~xKG6~hSEcv)kP+YArNy)) zBt6EnY%q@-1KjZ3qR9+w1ID{6X1p3)vqPfzPr>xRHbsz!z$5yH2G%osg}hfGNh!bl zy~1vd=v7#^bx0h}b;;)S@Nv;~Nh0xk{dJ28p+*unN)v8GQM`3V$4XV_+)kh}pf2!7 zsT~*=ogY;&xhdl%^q zK3t#eg0It`-EaJ1gNO$_L%J|OYT!V<(}F^%5wWGbq->a8DGrDwOZj>_^KO5ju0_9p ztmpE#|Mh^{J6Ye{d)$AFzjy??w{kSUH*^y|HjQq`^=;fEc+B%(n)7+g^BRe`gm-2L zq+jn>WNm`YkG&iA|37TKQ*h)B)b$(NwrwX9+qP}nNyknmw(W^+Pi&hL+d6sP_p4Li zsX8}()z#G(UA_Nn@3np_WM(c9Pny8ct~k&oMycL7{y^&T7oja8bDac;)?(J?Ah-p! z+K11!?ivbW9Ht(PxKR48LUS#twO;SKHs&wg^THq!+cBzUhH2gT z)HP=3P=Rq;7oZ+C>ja|l=iSvvEXMWGRDo0kWvgOjVj-ChAWPF4IAU7wtwTt}nh zW(u~%HRNr0;q}CzYr@iwqbFQtY{;K>_HaT3To*~WfHeDRdAfrUA@aAjZ$+H5 zV6+_+40vds8_6qH)i7XxNmC1ZdSlbJ_-}}}J3>~EEzkc|7hD|wqb@+%f7XUS>2Er~ zg5-aYuN(e7NmG{RTh*$Re8nb7%VxHBFkUQ+b*yYI8y?-S&)oLaA-PO$I}D^sRq~$P z*Xhs6wEcfH19Q=+F(G_G3S8Sxm!}V=&hlc#38|{$3lkA6u~20R%6Q~-nbU=ww*nJg zR`6f1sWnt>f$}6gZK^tbkFQq?C!0zd`6zma_Yd z6gr&d$A9SNk>&Q!iayy=xtusSng-rY%EyElu=sR z-XV2E$xAEl76~|4AO+-m38W57vLS*2jGKO-V2i#Mqk@Dw>3;x}5yGwKzz-4m_g;8r z^?^0x6i@lNwuAe+#5d!6bsVCCR94<_!)=C=CR-YGknHZesnDvz&WxK;L$bhnFv1*xSA?`M)jUbq$sBt1R`MOD zqst|JRdnKhVdcjvzP><+Nk?5jzHV&rWP{GbPsN|Mi!fMuB+B)o7Z>QFYxlBK1tb7w zsny+43g^A|5v`s&14jIBtuxzSw)xP;KFv24Sr*fJko0FQDt3r$G#ojzdZ6&GJsTq# z_VZ&f|K%mww zhJHYkbA;^DVd+zYAJZzP^6IXa+ObvVozHidfK{cdmOb|=5(-C-+p7-{gYH=w0aqVj7HPD<+mGrnwzX zY4f1rlmU0r<0Q?&CPNpH)hU394^&|!=%2R)EmIA(pu>&HocTTrZ?j}Cv&B&fpw8q= z-|p;6#3Ug1#0#|6T9#cgyv2}f{HgIXklfL~5w9>tNU|x#d`~)UP}QJ{W7(=FD#J#4 zRd!sU`Qtc@XDy5;XBQ2GzY+32RsEx-&c`O;4)O3p-}xz$+~RcVkPcvkavFjknoXWe zyp-Ap{6HrLlVFM@KzrTy!#+#+?*d$nKJ4Ud>i+}igVW&(uxVT<^}AyD;uY{vLg6Sd>~IR^AaD~J%524UZVd~I+>ItGd&9I422 z_Zu1ReFsE{ZGf$ii2 zw*Lz(^?!uOl(wFOE<2Lnj=`RU=k5BvU4^i91&kyS@j4{YxCk|^YG4DE9Qn(0c6+BB zhg`gFB04R5!}Vi5U+%9_lbssy6m?tC(K_GEREBgMBsF)N|{(1B#sBOg#T#iV`pza79 zx*?Du?KoD&Ia?G}By|l{5MUQOG4T%YsdbQTMH=aB2bK#631rNaRCEb3Tj);dTD_uj zXB4CS{d8D=)uM|y{Z#XGw5FyM6LRiEYOF;7j;&Lp@m3OeKDHSn==WFybyRCVr?xWiL0LVcbWky39BiN)g3mWo8cFbR>H(}Vxlme1*Czif+M@&S` z6DbutEbQ?OHrVJKh{nA4u+GnOsDEP$VxpSkTdVKuM2;%Wm$=_#TC!kYj~*0u&8Np-{GEl`StbBuq2Pkucw#?4<}&hN)Z z$CcSBkIyp($&Xc21{z1cp{3bpOFIDj*_*f4DeF)2(k)%x?qIgGK#g-kj_a0d#vR*j zdTTv>zt-2s%X5p3-f^u#SbS}0e)v-W`^YbIAHPUqB&4nWJbhhT=KZw>pJFMgM!j~{ zTT&T}59`mnPezT2`&I`=e}kGlJ4V2kE(7b+{o~5H!?HoH8*kHn(=9y4=(HLU_M<*- zDF|Z~g-6i}G1%t9a1rCgTh(Qiot6M&UboM;%$LY_>qhij)6@FV{li+3_M#e~Dwvv( z?#x^*TvqepB7uIu9NxgN^>IAEw{meazFmW&dnH$(KYBeJfBmK_+e}=u?dd>4;D<3# z2Mm__t4>d^>-*sMJz)4Ph`lUo%NhaJT&j-`s+Y}GS8H8f z?J+L!PT~_lwek6>K9iNzKPVH>y&+*et(!w(R=J(x563Peag!j-Zz%y~cCW>Lj=V^x zH03~d#$BmAS*fLfn ze}5CJM=QNg&0*10kQ%F3eZ6R-vrt`8bc!&w6;DY&LP5BNDgWE8j=QXBpX{KLce*#s zowy2b>qc_2tC-{nFHr~FZ}SH?&spc;X()Qj8vnKN|48pw4(8S>tJ~W3EBQqSOXX^< z0aVYEl{N;-$+&j8`5Jf%m4!~4DhaltY>MD$?(V=PMSj&2IazY6v+4)4R9-ZUmkMGO zgKAQ6hL1rb5Fgs1kg@(uj(LC>39vW%|S@?frG<}GKg(6cD7L{D-5cj&6XW`V{IVIm$l?#xA#ZgwbJk~hUZKD5o%Z3g zp1~by+O*OA8Pjpyq-xd(TB;$aeW{D)DpBEgFU7$XJ=tMkW{lr<#HStE3s$*N7Hl*<-8i!QWw*vj!Na$FY@JW^~zQ{L`YS zCPB+#siR zcIkQ}i&O>2{E(=wn>T%pJ$1<^pobn!VQ#@WSXRoNZN2zJvpwA~wDc&`v}P;D8qE$c zf#!68u#oc4(E<7~|A4ZYNS75SDjBuVNv?XT7)WGmKv(1(4V(A2ZHZwa^D?c?({o86Yk&9_;VXN{{se&fjb zTcG?j%ey`r-Wj;Ipz|WB=C5fNn}~k)erFOO>Kk7eU@x-WEWlu^%wWLoU9@RJ4UjsNko2eeP}uNj&gy3g?4A8t)he!9O`* zASLrAl|W+Fd&qcIzXY}RqDuUxCgLQXrlAO6KQ4MZs4F6E;Q`KzcFWW1;H~elRJ6U# z3z6biaT(7b0d9RhZDSwNnH)fdDp8ZQ-9UeIWBY^~O$4W>vn^1a_lc zU}ED6n3dTZ7LtpU3AKe6qHZt43YC`98JD&q_L*=-`b?s3-g2ChK5TST>Xq#{A-v2t zhc1+Ez%boYU8|cW6Pf%pKH)^eANIa&VpZ&8>6IROi&ILk7040P%LSdnAXH9`Qz{9c z5YPe%q+s6jm*?3e&!o=q(wQX#W-q)@Y=hmKCY`-C7( z3h*m>$P$bm*NBazVyXt1VQOfS+?uoa1popZXlxrhN1`gK_*CsVD(UhnzI$LlF0ykJ zs#wLNbT*|N%l-G=nfEe|+9!`rD9>*7lW&%OXW;ESK8^XX3f0&x$?%Qw&pOd2B#rlv zgw}&=)qIA{Vq>Q@^yW2I%6rukDlv6G*%>q(D#|s{A_DxxTnut|3Nc#bIkUG75nw)( zQc3sS)Hk22{S+ZFo=UPa>_rvGo-<}Ipkz9;IM$do=LEJmtHQA}L}8tDgQj0fj)!nMd!1ecyRU4-yL%KR4#5Ctu10_oj!I#9ZR=fBU)c!l*+K0~ zu13g&GM0~EfskWx%urtOED_T;z%*U=n}&^7;YXR#u)(2LHucFK-pJ}B?_RvJcv0up z^$B`d+=XfW^$0?+(){O7F;g9jiEx2mt0&PrCb+WJg=^)seg*%1CAgbgaefZk@3u|D zF&jVMS)gc}@1gA7(L5WF4RM@H1XaOHDSS$pF)knxXf!C@dj=<9l(Pp6s2<9TOu;L^ zT&PF6s9_8+dLPe)fp`S}w}NS?Xb_<92kiX_4n*kNrl$+khVHA0iJ4E!(6_Y@(&tWr zqWwiC%a*zAB-_A#^RBCZ8Yu9A|74O6CPNj?B-79jn@!wGjX(2&0bCW<+ZalzeUJZ7 zanSq!qb}0omVhCCeDT0%KQrMMds4wqDXW&I+C4lZY92v)8U|d>c^@@w4W-eFn7aU++fnUK3SE9gd(PHIw4 zp*C;Ex7%4sX|QGpr+adcYj+<>snmuyO7u@qP>VE7*sDic1b8JeXuzuF4A3fktN_J* zBa;`4%T9h$Qjt7JRDNUwwKHnOR{<>YARdqL`vWSP)jqn`La6f5PCGjSa#*3lEX_qvIIC zVs)?^D@}Vc_U~hntGDSTuo_NCI|%x8uxtP1qLGCH2iY(s!$(OCVCf7&VPFocDOTRu z%m@2Ux6qYYF%KtGwjg^B)`n49>6|-~^E^a<9fZM+br0%WdsGut&};w` zS9ZikC;Gfb-tKA?zbxCQ^k&5TE!G+*Xy3dOr-l+$@K2+i?HY^~SHS>0QKya$mDFT0 zWUi?2YFmptN5+`B1*()N$SN3*kIraEL=qQL?r!o85i^Y&fMRDj-en+z^<1pN&}oyU z@~9G@bD{-+mbQ!aSb+?6Z%sT%u9?P_&`6L2B)0hvFP#ZDJCo|Ic`Rj$F?hUmKo1AV zejq*90Bgvj9tff`kwIB!;WspB1h=Bu0>4dZypzXSd&LgB(k@OPH-AtpNmPu@MQgnU zetb0eW&!UG;Mx)HMM1cCXwTgYENG1A0|mPixn(8ROE@xqE?9&ftab$F`^?lSEBcLv zcoa|KlXlF@o$}P_#a=ikJw%-YzKxg*U~e<@X+pcfz%m+1PriI)#Zi%ESK!g^2{*|Z z(+g)UVH$|IK?t(r4gTW64xQg1Y%}0ZiH@b4%=AYUuw706o_oUZ?XKO|jtv$}4#mAd z7~U6*B-85tlDl?7LvM$u%js(^TR%&eZodQ@W|*59B@nn2B2JQOTN7(qguE^{{u(d$ z{M;YFSu-}FDTpH8$)hwApce_SJAQR-kgTdS3+4avbsR-51Xp!a8n~$YTnh`M%7U|~=524T5DKtdz%_cqhAlX7Fp=DBc zcWL!k>cqJtah`c6pj)TdrH^+noDN4ybG6q?tiAs#H67`7zgDn=k#%S|@@`K9G90-e z2UZdUL+echgA)&a{}m7+)z_YDIk3u^03_K4aBR6WZdo&gEQ)Rv3I~UCTAsyt1Kn_j zMC=3Y^o3&$g@X$9bIi-IFf^ahhWhDd@fJW1po3cz@kK>8WT8l=fFuE-6Rx}yK%A8f zXO1U%!uJF+X|t*Wy$AYmr!uN~EAs@xka+PR#Gb`xoNnpZo`J4wc37-^U?u(R9Yn+e zP_R)W3?c4%N`PR0!@dB^#Y^CyrHe6p-2dS-@20xbK62xnxSYyn9jm?cT}jJsZK!QQF! zy}s;U)Ym5OPo=;DV&t2UHB^_uR*`A`>K(=GuX5pH3Ir>^JX`d*v^j zWjw>JKK|4l%6H8+n5o0qZgtg-*YPg?n9I#2sU(bwaGn#-)lw1SLi#-R-w=-Qxd=@D zuzpp!fMIyge%+UdXazu(#Ub6z=Q6;thZrORTQT(RURo|-3l+-m?VFtZo8 z|GO9kMEcVz6bbAL+u?R+|K^Wd1aXfTq!ODn`L84$lv4ZmcGuuE2!=tRCf!ZWjQ9Dv zQ3MmAIPHn`LltsM|NpeW!5g(|X%{PX%*WjF^Q@k%fx}v}l`STXC2eM~5IXH)SN=I* zQs6WMQlJ540)dznh|1Cg!1HoyIcVH+Z=)F{^vT=hgqhW|lH)PkQ-7uVM#T!jLyv6H zeR;x~L%hFb`uf@NWCSfO@G9_=RTV2r+$`BkP2F>}>R|rWk=4u&q;n4^c~Mik+2Z1K zaj5UpaC)MS+@;??zR9|nZrvxuNfg7dzcb4wF47n@%*RZUG`9H$L>EUi6h}0Es>ho@ zy9|yEL1s7YQbV+GMo4RbV z*eCIIHP?%4o)7X0p1+di8*Y$9-*2cnJ)h1vNJozM?O$08vsAOq+Gdmj#ugGx3@#3%UVI>j1c`%DWh;Y~`@ z8X)pyv*mgrhM&(P!5JBBhKq9!gl%D|-cA%c36?{bOEum75uyx=ifJR6VIC0XJr04w ztjl93mm7BlWNcWgOmtS~cz79jvM<=0&ReL{mpeC7ii0iQ?oypG?~(3#EaGxL%5c>9 zc1VxY>HhJLCZka`+Drl=rgVbJ@$piLlmc2`6*$sq&f7J@m&Z$_zi+;-dQGHxOu$s6 zjLtF3dBUGzNTzutM#7g(&X>S!tjHH8%;)QU9@kj}WH*$0+Ye4&Dd!gEuGd;CdPV6k z1=Ci=tZ>NxKb-E?KAT8}R7miPM(% zu~V~U`WY0;6hi~4PYCiff60PU<*b9~u|X|ZCcZ@M(e&l59!l8gKxLb#<@DMNEQ{p% z=vB-B9NHg%Hr>1a3MYehTg^tdArce$7R^sE>TtOQM=6|0>nYTS&@bRKb*j|p`*?w& z+&JYUobZ#}^(&4F-?_bzYwgrR-o^<(cBhXHMhxBrrd#;3_u$?I1f?_AP$m5yOAc|{CB$q&WIm%M*iOnLgLptN z4L!7Q;D|`smzE3j?06xB&y9VhbojYT)mBD)+6(rKC)ADd+_cDpezk{1O4AE|Wfbp4 z&BuOagtA+B_)T@CG)Vh+&2Ur1sXslri~w;5!5oh>tqs>9D0$7Y_$}ZW;S^@+NW%*T z=tJB8=nVbPWNgM04~&Fz_0B+N$K-L+B%dIZLX zDDLf3Ez|xzoBP6XV3wI7#Mgrx=nySJ?}KU3>O{|srbQ}|$5gL8BNCWj)=&xNsJMOi zK(TC+$x(&B@l4s|u22OGP7cJa;B${Q{ zo;VL1_CLEty1#ei^;__lA|zqO2s5!euc8n>oCHs~&rB$#;JpP~bIZ1?o7EB1Fl0)@`Wi&<-D7t)s?ZPCf&=ilP@QJ85fR(k?fcLdY;OcEd z$_uhhsrojP0tNAs>C}DeL-5vJiA^Hrl&i|D(2j3^y3jjFwX2@+WN48lD}RMi&&sEfSm4_PQ3hF0_1wPcE%)NV{W|&j^Owcjlyq^X@WF&PlDi=T zTGYyj@Wn`iK}A!F6Mw0JUl8rQv~1rhjb(uek@GF%a%V9<3#pHTTVIT!WGecS#$B`@ z2*$kRw*#QXB5NKB)jiL3BNDW3Bp8@7O02k%5(!LdA3~Q{$~@8XE6A7q8HrL4>O=X z)+wfZv#w@`jX}S~(3K!<*Ji1ud%-g?c-<88E)Z}W^!NQpNy|FlxScRbtyzG$l|vmR zpnlW5`joLmSx{fDo9)irZOtb)3%#K!ysyWwR=B5u-Il7Hs?Z|ndHOK&l&O|&MlHRA znnGf-(XrA>^_OxC#xLV8FDsre|KP|vL2K>WmHuQslo9&ufy#{&tmX?U(Z5AlR??Yb zEeC*5xt}6Jct73@k);|dC8lH#audPO06GQby6G4JW^*mk1+fw!R~EQHu!uct0|DoB z2^$qCu=>g|0k(>`G!$UR>O=&-_pYFFkwE#>lkp;T z(Hzy*&CIY%_VNW46wd=GPxu#HqO1Nc3Rgfmu74b+M|91hITM*bWq$&elO=!r?!%w= z_g8pCB#1+%FlRTk5YSy?s&M$Unl+K{x8d>~LoQGgwixK%YjJl+JeB7q=%zy$(!xV^ zdWn2939@|Ngyy`~B)op`3leX%zsSkKq%&g9V9bTnBF-_kH44JcIM!c;lGD((v{C^1 zi58axyubpM@;^e(T)Xr|CltQ~i{jP4iT^TB+1%R@E>KhSU^SOsQSzEMo!7{nlG1*@ z6ANV1uG*ZC2;e;>Ebc(O?!}OdJY9c1+Hf9WTH1mmU z_hoSjiNKX4qoy;J#hQC~csN?@W)c@UDr2`+uMp~O0&)OaV(eYh3lMa9$TENo5Gc$; zT?RElh>+F563TlUZP?Y{7OrlvF!h|Kirsr6#dWuoqDbKiTtW2$&PZm*irxIf5hSKi1(aJ#kQ8I1G(i$>J)ey{)xy){B1+ zGr1{`*cEa7+M*ja3$|JQX2}5RqhvAXF^?gvqN?q1r$G$+(H&q}lVD|OTo#5T3qU@M z)Z*uVV^(=J1$;mu-Y?(3m@GC7>=xXiiiAfHilBQD&K$gfi=39uvp%sOT!G5AMY%+n z5tMW;xvVi;|FXSanP7Z$e$lDHQy(Uq&H{0e%gI*QssJ@O5wp82>0AcrX#PR@1`_F= zkYNTH(%t;iU`H+kR<%#_pwo@c`V_gK8_llkHf~do`cLx*dNg|*;loUYt0*(1Bq2VI zr0!K~!yFhSi0@+f(2U>^vEwjpms4_cMi;s?PAG6lCq~NfIQZ}C3NXiYvBLr8o7kuE zi@f|p+N{q3YHV5$ zch`Hy@vld}_g@te3EBcxgk%WWi8v_h3~D43mADBRDvl}*Kr?6&at%KBeVtu5U6gH4 zzSBm{L1Pz6NbCgywoB6OZ2NAVkJIXCWunCAjOPf#Ms4M^20*>@UCIK_HYUP(dx9$~ zTBFikGc`8zrHXMTG>EvY_DDRl*y-!!`8(lnO%NA4g7u6JaMu7N*cdoFC^Uj(LwaOY(q}qc z1KPL9>)9qRaCCmTKGm$w%s5Tc2#do1Ks>^e961y*IJ=-9$HaNN%97WSogEbV>tyf2 z{H+g~>G3ZYNIkE3I&)RI=^@sTvSG@D+;S^u0C#DVL!)nf((#cR?Qf?KSM#PYc4YZa z7#G@ifUz?+F^a^Fuq=U*D2bQiBrTH55GJ1dC7oX!?zUU}P^*i}9RzB{U!WZlnsgCD&4 znF~6AlpwG3LB^IlA5is>wHN#PuKd}GYoHI`;@=L>RAo~3RAKPz>^m=2P%<)vOGAbT zh~DJZzyTUeF!1zi2DChAI70k^7WmOh%TnzhLk~Xi6uDtxui9F(9~VI%b))yv6vNgAGhFFBl zGM?`T`S@tR9utVr#5c6#=xmx`W)Af$R1=jk-h$3=_XSh3?oCfEb^G15EA;J=3R4Fg?>Wunvq1=3jNDb%srL2n^j;@ZeDD_%21* z=Z*|!6m@bkE?%_~7d0LX1kFicNCl?K>v{2jXZv2CIW_G?8MTVgDT|`WO9ek#fJ@0) z^*HCU(tCQqyWT(}V&&U~EXL$zQ@+M=CeD}@L3%#98Qh~#*J8dKMh|=@STz%v zS=^5{YsK!H&gB}T%+wrCIrei=0Muj$)Gwi#lXeIVE47?*5fxwClov~D?Nb|V1f>xo zvdqdhbqbmq*~ffm?6UUva2zUNaK$4++j0chv+11Fx^@dw^Ighw1QVY#u%na4kT96} zHak^>@@rOC{}o-U%$btSRU!lxf$qTEW@LX#hpHT_{v{Da^g($uA{yjAowiFE1xrP& zrY6VGM@WPft$T2;4uc%NRZ%4vJ390-fK|Ja_j7?+rf(=7m?Y86^8Go(qAE$6A=k#Vh| zXQt}YopXQAYN)7{emZ%l=)0-+c$2Vuxsg*?ELDr%brDw_gdUWd#DpxG`3$~L;WCMr zR)&+FM^DrikrLl%UF-zla=q2aiBh{+6#xx%X6nA;nwZ-@&uN4IpuMC01@fCnm>A2t zm;miyK>XC}e8GYM{@*^2H+_?n>n|H`0%Fh@D+fIM)~{N9_X-iTC~5>5#`os*2vml3Gom&}GyU|D5GT!{j=Cl#t2g#R(PLC1ddc4w$YQIl5D zBo^r}|Fr;EXG0+Md%{%;=@e8-#0}>{i&ADK6%D3})AepaA9Bkh34usBHn$R`LQ-Nf zadjb59?G8g-6l+wdN1XCBXS5P2XB@!TprDueYiXB@VA4JyMtl2zxP1{?P$;i>e#-P zl@WGc^Xle3{ah2c>b}5#P>Ay;REYC|{PX^Y9}gdZ-*txX&js@d?>w!FN5fgrX6jU( z2|c!;lz3vVn=_f@(yAibb6ZPz>mle_0!(51uPZ#}G||C5mO|EU=PADlYzh zRtx#mEL1rVdYhz^kY#XSk_w(xL>erysFwuGhWkCY(BG~ESI@;4Qd=oV0WZvX5(O>^ zBoh=+*ANs7waz1mRAYuDOC=3+dNeJ3ODUf@kkbDf+LRKp`zv*4KX>j#7Al6RkEH#m zv=TW@i~}={2efl9cPF?SlfU1U97n8DjRUmieWe8R$llty+H9Nt1EpMNC-Y_tH`l4_K zlWG-Y*yQ$M87(Ru#0Ux>vhev3$D{bB-gBL(HwrHi3LgSS1T|2}=+%!dx0YPfl7h+A zO;<9Hk=4Vj53#ikVyG;oz~%tNGPUk$`r;Y*9`~J1uN)6-D3kc-$8zO#i{>iZ7Ag%8 z4Y=)nS&SWQa~M`pJRBibT?SU2EVe`%>aNZSI;7K-M;?QhAZ z^C!qE?P3}%T30e;WGdf#XS_s@DJEL6(JU>w5_kcw>D_?gQn}B_jq2c9xvsbsL(9Kg zx5Hg^`-J!hgTlT{x7WPI1geV8U|~jGl3C>DyN(r>CcVS!MPv=myuS_+mo*f($&b%HJP7um8%>umr~xv+xj@C1ZnRq^8T@F z?ZzDS0bH*^WGBQZMWvex{@hRGI9{5buRy26W?yhtjm0hU^j3ZdXdzafnWhfUUpJE! zVA$xAhKWo*Ntc*19)N_1-#y!7BE(Ib>Si2 z%}Ottd^26Fd?wv8sj?DOR&^N6R4VFZKmR%I2w#`DW=77dWOd#@E{{%H_$X$0U$9P2 zd!23JmnQd9IW4YKAwE}QNrfR5vjXUh%#Jr{YK(ABWLl52>erT&YM zGf%@9P*NRA&fJ_S)-DQm>$mnX^v)IBO_{qAb zioIm`RZjT4>OtySOBl$y#1)d)aqNVT@@C+X`v||X1&_rc3Eg4_N>MO0r-gSE?CYCh zuu=D&0G-5x+QMq|^I}v?3xEquw1+;0Nsm*^Akl+0zh}{`EUF>hT5ApO7#LyJc90o^ z5$-HM%MtcZ(op-h?YE1mq8bJPLq03*;mwH^A+e`e9rCUnpsg}AgEVx zs3t=|sJIG+p|#%d15#?gN+D`t8hLv=8E!&Iy4k)BJno)P+VlToD^PCUT?L!2@+iE~ z2IEc{+06Wp!Xn|i4A3Lfz!HkaSubMu>U4jmuettJ;dB3ine>T3lTAu(mVK}$CrXzr z6ipr0c8y26|9j!>y=Qt&uUHgp-&@BENC-&q3}RiaQOYm&1O?prn7(bfT<|M-wCEJg zk_!^}_XOAM^ixw$hoycb7kyMDecl?d4u}7yC76Yk4$Bal7y!BFrd@ig)wcW1>mqr0#M!!VEO$(Juu}b??apA3->Q%>*}0J*xU|Z~?%Z&p*`9Jg z+JID;Ob?Bh6ri9;Dk+VckttM(p7?h-JSW0}r~6Nhig&atVg``Mpc@RD#XCkDU4u+t zF3gQD9t3jX^&kWADGba7OduR{ZtWmcv}%cH_Cl;;3WSrmawQNkh80cUt)^W_DFqae zmGnIuSA*C<7|G<3I23MR-A2vpFb9Jtbh%JR%ie%e*ZE{C_`FkER5*CU8m8$YnKO!z^(&VE$?=K5 zWOvK1sJMlJ>V!m>XxEutiGHrsF@m`AwOND^a&?Cu*(QID&-nA`bQWBD@mQFBr(wbf z4DiH-6F%*_wPpV;rXkM;!Moj%d&;KkuaH!I$|8U&fSu2IsML!nA((T3sngR{ zgw(BAKrpld>FeRvdT|zaReN>iwo%j^}>6CoVb>a~R| z8l6P*Py7Yqn_r}Q{=BJ-M_m-D&{}CPgBNaM7~;t}3RCx0FTu{&IZF37eE4GiC6!0l zuIA^T?8mPPlU|s5s35`ElQiHPBIUA0s|2!}{+p9I*uye4a}LL#=| zT!?3T_b3O*AmFr1rEvY<}LP2vBgTmLt_!F2jMWn2y!kU~K zhnae9_U<7u4_q&pXlU;l#rmcG$98YfBAFTYd^U<1)i%&*s1jLVw9*euN68FOL~iN# zr|o8|SIwh?Y(x@J1*`M3q67MC`r$#61iN8dwSVv1-0WYc`*vMY!@n`!YNJEvdycrV znF_lqnfD&3wPZiEpwDK&p_ev(-k`hpOm6>gH%KU&IK-%%uVSjFpV{-YjNTydY54SW+R}QHG#yOrGZ(W>sEFjCN+2Wi!5O zkDjY5Ay(3G0%0U@mE{Gce0a278(=@P5>{oP6+Al)fp_Qolq6nzNKNdBLAix!o#|FxN^6xPbO{}{UqjWK5(HA=fH8SI6 z(UeOiBIScUWU0bmn+N(#m2f=CoV??NXvG5K|NQW(>0PC!InQ(yJz4k#NMmy z;Cy$kc}4FA#urGZR-a9yUEJIQ4B0&Y>HdG%j`!52Pi&bip1C4IjwjtDiuehf6jC2B zmAUgy?lz4IkM7+gwNd9AuhvHvwn`4P=NnTskN1MjUh~R!c#hNBCkQe9cSLhz0ZW`M z)0Msp@`wPK;Xb+RUGm|W+xfaVniC&b15CTiPO-HY2v3DJbDYlkb^wU(uWfltJOr9> zXYC<1ECG4608p#{hrM%bvaDO%Y^BXg+qP|^(zb1Lr)}F-WoD&q+qP{~s`ELg-+sHJ z`xkVa4?AMT{=8z&xvqQ6aVZyc(ViJXbGvb7KxxtLJKf!9_H~P1^x33dICZ9~{p7%h$l z%W<`@S?vWsbIW7*!!EiSFXi{g*>cW_JB+)ARir*t&K7H4Aa({jeSm5;HdU_Y#|7(> zNK7{fM=nif695w!3`ZUfLfe>)5jJltXyUz$(yY0<;1a=(sH=Z{QtO9+Z37UYn}-v3 z3#h5*8_z-JZa*N8Dw&`~S`nh-nX~I>8^rU6b)0bhV$V=c5BT+mEO0=q1Zvf5jd}_( z+X2ptlN-W13*petZNqI!0EW(Y_Idt;w}M@SIbX;ZpDfbn1!B41Hz@h#4{9Vv#|1E6 z3lNU5bp88b zgd{?dpbQ>pA)pZiS?aHdV}S-s)?0dG#6%y#K_Bxss?I(GPXX0b9H0k&ozs0(#Pn|) z+n9z27hfz4bCny% zBnZIjpMWoJuova2(?w9t_O7vjP97AS;`Q&%vVxvGQVjY%2c>UgbT5CC_iVEXp4s;C z{)!LjS$efh$l#4NpTlNU`&9=9+W5v}$#MVrnEmqG0W;YiQEvR71hM#>=)FHg*krFP zQ+wgBe~ai&GshGw+USfsrH2#^iYRQxFaTXlw6@gynI^IZEQ}Y&BY{-O~{W9zIfPeY_2wHa}J%|tuYS|-rde0@zmJ+0}Z#?nTaqI6r7}j z-O8FKV6`q*F{CA~b_%vg{&seS-5LBAwH0UQztvj}aQST)`E4djiy>?Gbv3UtfdN{$ z1l3BZ4o0coox}c-#{>8;*hJ1ek95p0yMIQ_T4{u zb&Xc!Kn?DY`tS&=fDHDMd}75;-yee2PbQusF`4;of(~ezVFaQO%xTYFBu1--8dc~5vVK?^nMILFZChi;$DEZ$f+*ARj z;Hz~Ww-&|7V#X6fGv96ci#RMZXiB_Spx{+GNwv_J#?r!iljmHzoTjQi&ICnIEP6Z5 z0SdS^Z=svxDMq3tXIsEk^X(p+8WFI=rb-q)BuAL%VcX%jXkAln1^_tOzpb6C6Idhi z3COBkATi<qzYR=hUEVbCh6?^zzg1EN0#yE`fj)>>;8F|83ePaIL z^B_%S>hSrO$T}6vBx0<)_{U1R=oN8?5lw35^ zN@@c2A3&~V#(5+z7GU-7ROnJ!5WZIPb9yy)2a5?Dy{!26Z}^SHAxXN5B^g<0Iqm4A zQJ)kjNt3w&j@pG=6)UuH+TTdFpso9P;i4RTr5dB6C+3CMfFd+D>IR}m{?{aL1y?;_ ziU6GC5>Zn@`GhedW7YDjm{!`yiYq~5au`QP&8HNaj)T<_0O5bflYgAgkRnPj8J!A_ zzPGU~4ML7m5RWUrUf!W)-*O4r#0z81oBVWw=!P8Dh==Qbrd-~Rv8SqSh79iLCSsRp zu@-<7McB0WdjRLT0zsD(%4{mKA!hR|OD0!%T{ejvrAEKNwU0+w`FGxU2~(5MPmpHa z`j2=EFDf%90Hr)?zVdKLKL!q?N_#+E=N)GOZSH;vmmawlxZU^xkL2$J%^|bQ$rlpD zPC}@MII;$QF~vgF%;y1!s&?lFt{k_Dk9nzOKQ~*k*MFKxFW>$`$Su(q+%M zLhK`)UEM{`mf`o+Jam5!O{PsoUj;hYOo)VEo%-i-4hX{e7 zK9bXwT{2AqnUNTN`E0zB{!SkK*taW6x<1yus>)?2A__&Bjommo*FzZk{aZ&yd{Y~8 z@8|uim(Eaz0D&wW$rPv}w~xphUKUpstMcRvO6Kcme!9Ip9AHK)f+ z9pWeVt)k5es?PGYlkA>xk8PkJHAZR__dsPdq+j>%n+p0nY)}aO3u7FyHHj*&xh>v$ zO|am}Ent=@<{{!67MrCx${`<_G|R3|F!j{#<>E2gKW$!sdWq>lz>k4|01n-a;QL1iFKU~X2DMCi_HDu)%SQ^ zeBwyg(1@gSM2aW7w|7M&tjEhiXuKpO6psJiX2m9fG>8HH<$$p-GrPe*`f1foYl_a! zA_5#4CT3nIlmsQiA?h&U&^JRQuGiUJAw;=a(K?NBulkrZq|5x(^y2N%4;YnTCrLvF z{uQOFW%jISQMdYN_%tok4T&fir8q$Zjwgg8?_Ym;ao+sn@aB#=Xiy}e3wxHPl)YAR&BxO#o|Ke3o%WNXu=3 zex8hbZG2CF&249ryuONF&gKFiageQ}&eB=X^rXvs6(WvIciy(JU#z+^d~3Ep&IsDD z$KXo~8~(#-z|j4}h@3gOqM+uJn;>&`=>0F%%CCGhDF1yw{HI?udw_g5Pm;H**){)F z6y{c!GDb!rT0;(?N(E#Cy!Ns7^Lm-4OWiVvEF>W#g|+98MKRN7o95swu;-d%KA?KP zZblnKKE>rp7@nO4z<10FFAZ!85WUMbkJg&OJRQ zq&hYgxg=$VsInXERJ7*b0&_8{3V@<)%}yA*D?dx)ZmnhoLCX-ON+?~Fn`<36SpbdazF%`OC0F_jE~zyp z+h4-Hz4LdoF-4x}+Gx|h@c=|hjM?8bl z%Gvl|F=6QgvDPgck-Hu4i4nwz3Z?y8B!@EX?eVtL!JmtVWIUcuTb~Mf^2_oGDFl55 zUs_pv^Mi`<2L?zYy5s-QL>tsyD~Hop5Ln@Hiu*$WO!t6!yCVet)jh4TBYC>ja8<;- zmT~w{R4PqeD>*(#$4%|(V}^IuM4M8qMO9ICaaW+Jb&JNI1e&FI)|)l{~Q`4-z+-*@D?jFErnPxi&K_0i(>j7~$aT!o? zsotZ~ERme3+PP^Yf4gz)u;WuvC6Lk-_^SfG0m84bn2O&$Gum+Kyx%WU`)zWr9>OBa zjrxyR#Zz@>npR|#T68WYVUV>qUYWGkaUms?wQ; zYMsqqGa$e`d8bEh{)y+xl~il6{@lImo%HrOS50;+;{tSx(TL!4&43jg|8akFn5?j= z&c3pmj!BYcWEk)9WhIZwsS-DT>XvMN9(c0#6!hi|W{X6?DO}i~ylXfmx4K`>Ox&?w zrxo1H5+xr}#vgUgXvuj3hBLZ2PbP;vTWN*$MNt4TBuYoJJs2#r571IU>r*d*hxt+X z+8;8Y=~8G``SuK+LQga&LEe`tXKf#>otEpn0+-|~J~2)POuzKDL!GrICO3NM##JjA z(-Da-ClqgYOg_lupdI&}OXjN{Sc+WO=jwSiO2`54g{~bcm%E&)opZ64^@&nw&s_|m zn<3GV`_o@kCgqqjC$4B^Ra>_06(b?w+3=YR6PKk|<92@2U*HZ~*U0&w358+E>UFF3 z(A6N?P6qdcL>W9fgqZ*!Z)4(we}7YO{MWTh&i}~{*eHGLaXzPh-}qRjwU%jiYG$8L z+9y4oOw8g1z0I8)Yl{=&1qj=eYJYuH6NM(k1%XxpgWzk5FJ(SfslHv%70gPC6uN08 zNj$@R4R6D2eax!9hrmehWJMLJ-w_)C- z0yOcvZFPH7??~xE1p)1lB3<=#*^dT!R9iBTuG|2=U>`LTPC zq)n5@o4p;hTyny>h!fGIr@E&TT?{D#00Z*R9KxWG&-Zce^z8UiMJI+XoN?~=*~z}E z7Sk$~&Fv)GZ*K!P^F*F;Id2Q^tK48&o2SX9?x;5(t%*MSc_$}G3gUn}4@mW>o>~{e z7EEaHAgM0kh-}?!ay_*L-VV<+3B;cuZdMk;G8`sKk1vbOKU|BUY7}+O zrs*@oua=0Eu@+&C^^pp45UUR|h~CFjOdJ&>Z}g}vPE9n~btwDve9BXmCE3qAGp3Ba zIN)CtSu1iu+LhxXk6SQ|lW|P}CXZnU)Gr5^>Rr$Xz}4SeZROG*zhls-%7l#|G=^a# zBDUw^p3%O%j*JM%9S!;L-i6KoT=2~ zHm_i3nljOrcsD%OFWb<%Yyip&7gk@BR$StRTQXb0CIyOA&eS3l7^tKGsna2Y0h?|V z(G~<0undPV;d}~|*(lbqy`GX%YC-J=R6>?8cQ%+wA^#D~Sxr_5BF_oRoa0TtiUzB; z*^mynl#_)iKaJGX{L_<3m(Mkn40BY&uCc3p1oO%>}+f?|=Oe8Zm!(8$B}n4vtlBp$Y*pC&n3tBpK& z#htz{+d#XhSdiZp>Ucy$Y60xRW2*ffaY?PJa!JWhEI~;jF%gjB)J3o~JE#qBl+tOZ z;S&8>aRDH6v+amOnpryJ1-8}2(y~t82-*sMFgPJh6TmD;u;19&j8(59=p-+}NHig0 z6a}>N>EN2kEjV%XmDKexP<=|U?#5whn%R{h8KfA7K4->ZNj(y}C>v>v6-ay0^t9j- zQm%eSf>n5x3JXZ}$MpA9kC%;e`Dsbs_Gr!C+mTM#zub?ai^{M)*GwfPZ?(&C^i3lt z8DyO}pFLp*6qORNuof&7nXP;1tgAT*uY@FKe?jM9I&qFR}M=OL@NDQ0* zA#g?0x@Q$}!|Ab>=S_-5g0=={jD-M9+duZq>Cqu0wgC_VBNAxueo>C@f0;=rC76v8 zE-M2WNrPM>2t#0UgAPd0XA~7+rfD#T?}y0Y0u#4YFM9#DkJxZeUi8W;SNb8A29KKF z0}?Qj#=alJKeRxpX>B9~!RrUC0Gwf9Je@ut{dwp2^WC?cJQ{w?3JEc&r(m?|QT zO+?`+HwNGYBA3;KP9GzJm?;o+fdyh4WFj4S32Z+UxwX`Mh=so<$O8NE7sS1G+&|>l z-<7#yo0*_``BD??^a}7z*aifCoi(x0{xbQoZ80;+YMJ^CUY$03m8m0#v~GyX=&lY3 zZk^K!S#{f*DnSQiC8S1DE^pS|mFYL)X-reP7l7lh7t(SLj92c?Vp*6ZvW5x^kKVz} z(`PENq!{+st#hLR0g{2qs#VB>U|qm0ezV3#eQ^6QPIJVca9?{mO>S0UVIy*15~|cP z*1za^2b%&v4#JZvWWgOaPet^|_~Ey!d%)}$qvS>xI9%c*(sj5X5}dEzNu@%Yu+Uq# z;Q?PQ*xRG_*qTP?by$x+vW~caM&FpV;Oy-Pdw91AseMGx6zHurU!jM;>l!_R3t!Oe zbOMdlmzYU8taK6PR%1lZ-(HP3+PM19>Pv?HsP)6mI<}>4qg_Bnw-3o+E8EUh65lUH z(kCY94Vu3g_L2zggy)wSz5C9SOc@YRKhdDDi%52@x~gC2e0jQkkz%l@B7u1CcdOg; zpd{ILKE(Mcz{GNDPkki~G0FXF1550oL;>OC;7qg!qXaCbOFPX=AP!%DqBsfj6*2$L zfdEtPrOQwGiQVA^1TPjJ2s1n;bw~I5^k7c%8+SbXCyfz&o!EU2K<;Y;*U5F1!;5*x zFJB~A`Kru|6)P)8(ipEJJ|vnu9AwnayML&D*Zs%BGK^0 z;^FB*CK8ZbM*+Co;TFo zKzoS$_WR0n5C!tEjK%000x&dLLt91y>{!>ddQSBFjwN>y=Dyvz zrZ&AEnD5lRhIv3iRLG9goP zRdL6p5GPx)c?~Qg$=II;#f8>UCmHq2RFp<;d?f|hT3ZptxNZeeL8$m8iMRvU*Y67{ET?D`dqucJXa?+c3b+kVI zE7Xc^vchag`p;fqp`ing1oN0bT4#AFDdN(Vz}i0PMbAo(%H@J|1sB~(xM6@2Lq6cG zRGll6&3X-C(Aklh2Wga!gqa|@E!OxdO=1XD$I$6VLVhu%-&;-=60VL8App_j_6Ub~ zY(`>7^|?5QF|TSJVvLRCos&Y?hO!X}p>ViW@*f)v1hypxn-aS?v7rt~Q>!!hUnK;s-H2r##k-$L}o zZPsGA5~h2D87y2Qic*xKXXs8mNiW^|C=DkE#Oq<_kifp zn1W|)=fQdizJn02#!pA|;Sj@#DDsBm32jpqw;`CB!9_`!)u5aM`_gi zoT5ohEqF!VxJ8P`3p$D-WiNI`N}w_pXu*7{13c%}`{$1#a=a63ww_pmGl6xc88Y0+ zw*Ydw`iOuLq5?|9FZC~;A-FkW*zWpYKVS+KEk2Jgb zkUx18q!8goUE<$)UY8AZQ(Sd)e*x(;X#sQ{Sv7P%JwN)-*#m5NsWEq>T7OlPE{(r0 zrF5+hJ};wp>%2f`)Pi!5`|Wtf1vw@j;M4nlCX)qMzW2hxME&|K%kY))W0<+x*15ad z%YD@M!UawhQCz~lC|#`AJ{oVYFlv*7H;~d+8yFe*(&&`)e64KuAuA%vs1yMrHV32~ z_ol)G25~K=5fCtFtQsE;@vayoUfnG!qz<$IDSLOmojOvrW*xXWwNrFgGcSLY&tI3g zv^7<3AGg|A&da{`HfB#Bd1y|hMz%Sd0M=VZ-%F-YEz-9pBJI|XZDy6L#v3-OGVcy; z{(7AImpm-SjtBcJqCey}AXi+Cs{^ioGFr-(Dd&fQA)Yz!OCaH+v6|JSiUn`2iq`dC z&?_q*T&1#tQB^8UW%96;mnj*4bR>MZUOL6Gd8{2|CLMp=)#6*9HXg1dWsWfHd#%>8Z9%@&~Yb%pTm6 zCD-f1$P$Ik!ggrNrjrSH)XP3+wqfpTU1lvAG#mP&7Amo(ZRJkgl6kaQKnsF~#>@Up zCJIQ;Xr#_uf4zR9Klf&wLf`jh8}i_{57{>bCt(mhPS;BUDqtT$BtSf-kJaL^mqPy)z>Q-5FY=k{BDZY zzoVg*M<46mN3qE;lOkA*!b(KNOaynXK^;VCK@?LcUzKrkUL$cKYXFqqTDlt)$-$aS zfF~0G+sH?8KwR`T2y%s@lymNYFwo_2PU-LOMAdX)G6m7x@MSmQo2!H4CRMuoEXTM! zB4y1&SDn*hh>G*#fWdhh3ARGDz!VP!9vk1_fNF!j+G;oO*Tk$h@m>$%?{@8v!OAB) z&@m>l;->}b#|V3lfB;UbzXFR@KB;OMKPogVmmvgD$th%c~( z7>J@VyteZM+_8N(_VaQkrx+WIM0i@9HaQKg$ezGlhq#B?o~c$CrvS%c`CtxN3cj~f z201Gczo*zdi7?y@hvRwWfqZdVj!~x<=kEpBr)R*x3L*0_C;@ZC6vSbku~=CstF4W> zxtjVABpf%achn#=5-7vs-VSFZABPIreH5mDV9O|FY-e`IG$Js~^32A7CtLCtjAc;L zQBh=phypQ>f~kf57BDE8juh?F*xAz^M6y-|ZG?9Gs2HVG9Ffby{z!F$S1w_X65BnL z0$2|QFx@uiA^_NJ3unQ93u#)29REbf|c;F^L#D?*>P$Bl>BqV zHt3b(ibFD-4|v|6QK3URX*GICZWe8yBI0JTAWg)=kbtuL7H6*Vo*tZ_!a+YiP(?P7 znz6Wkwg;XI4rebR*ZdL!e0%&|330eRrx{6ESdK-aDI0T(>|X|YZgFrYDdBCo!nXPh z?AcZQNyFLOF~XrGdNam4rdW@5eY#M!$AXUQxN-U0wD? z4C{gqlFjwQWC&b-BlmbYlpocLan^}V0cTZY`Z=+V((Q?3i4dJ$7%bLv=@be$nKCc) z5Kza5nHg~J#^O~QC<15Sm9C-nVrm3zMNU!B;R$_e(wdE%Q0xp1XS8d1EP{Ms8B4QG zH~x3Jugi^U)t1dc)JD`jNv2?f=yy#ZB;AC(m*MPB<%*BE(f`jc(-?)dX1X;GF)UZ)U)#Zi& zhpR?&(fx7$wYxwiiW+j!j~;IwwS#eKwHC(+l_gZ)=g(nB1uiO=NcJxO=Jhr{mrgn? zqUBUg89qS83EQHRTBmKw`ll#S$y{Sb`t=zauPdrTUjv-f_9>f5ns>HJYewYZrsZ<{ zuONc3mARMo{9imGgzd|v&h}%NZ9C6OA^UW}oL2=Hqp%LxL}oQbc(wNJ+`_CLI?_Ry zQ59|bN8KFtUnBpA3hZC*e@+Hg0tNy*LrZ8Lp8uu)=V0LY_Yq%BT4|l(AAj?Sn4`eS z$BDeDc_@RurSKZeAtDYKlgr+M>)PFQd;J9q894Bu07AI2MdSB%#%F9=LA9{FefZwF z=^gwdI4k^+>`uPK5yQ$fp?)aC4MQr7IZgfkS^KD|cD>|J+qHI# zoU2DL9d2q$fN4@d{GM`($hOYaAeVUmRBX&PK^V~##!*BdSUA)liVT-2dPuDPBTDT^ ztw3MY0_Fk6LvT|@u5)kr)N0HF8AD0)%lb%`(L{=HnEnGk9NSn7ndI&V=xP9b%sHJz zG~B#|Q$%v{7DzW;RUar$A+S@v{MihstxsvIC{D(;8%YwJ zPOs$t=EDVrUMGz#ks&7KwK4N}ev}34aJ~p7tM#1=v)|z_9nFKd!_g&tM%;^%w<>b9$)RIEABzYWo>2c)Yx6lnRZ#IuV3! z1T^Xsk^ZxSCvCywXO~lYEJF!-|6RPgYEh z2@H*TvF^#7&`Vq(~`XjcAR1#*YfEbx4vWMi>-`YTZxiKzHBgjZ>fqBdPY;o>nWtf3^Xs*_<6)?b(tpUDO3Y%IhVx!)&L z2>DRkxSz}OE$c&Wab?Ta11rUDd831+35s74fcQ%y)z-bdRr8h7rD71Kpbn)AwYXj^ z<@PMZQLYkg0k!oGlwVo>@lOpC3J~jekp|rVUZlaCsNhWnSX5uP-C+B!(fGY%^d=Oa zg*k=D0DJ)445mpSaW}JcBTN@bWL}H?0$c>xW{%h#h~Jo-B~$rcq)hR1_@) zy~e=+!3uBMVo9jgYX_I~p#~BOCe0}!{X(0c@TFK5F^rWn+Ek|;h}!D|AC20L=BOCA zOLQzmC_R)1*pnhTNML42qid*v(${K9-26LcG3;NOqYdXNH zxAX_vv8e5VcE@`A!856kKtln=)B0Dy#3&e~s&@7wp^{%$nDRdQVBe>Bv+aKoPwQ-zXsIBZYJV-ff=>d2aj& zq#i9z;EE>_q;76xAHL$D4m>(ygptM%FEq&qCREA}nuRqIMQbngE)!=tfF6k40@=~S zpGXL(O~72j1fEjdZ6~;2^!d$MYZ77*;2#OpyO-h(EyoHj2j=ADqYRZWL<$Q6<}{dR zoLeCX*fC&`6~vIk$Vy_YfDBTOC7eJFb_!`6K)E9LJr^gZ1jFjV&=``z8yLpdaDrro z(Q-y(H1i{5Ga1R3`6P+aZpJOy0cx~njhy)#OP5k-dn#LEI>EK^IH{c7*wGkO_Y zR|e4F&5QNd-RToiR?zNk;XVV;dRIH-S1teB`6b%V>8};rkWh7t_I3_&MlygmGtX)c z;F^9~*LHe1hGFZk$=liEJ;a;a?f~N)NdcGk(d-(fs+TV~G{Usk%g3fI!cbz}V~eDx z$r?FYRLkVe!`|0rJBQaGXm2jxgQ5b-fpuW<Qcz#d(s z3x%T-kwlD|-grz~fbUd^zrF+AI#otJ0HeD@q`532iN9ZyL{c$ZnGZA0$~ISAaj&X? zKq2^{9MC07laP092$8hai+tIB5n8msNZCyKM)u?bj0%<25WQXtrXc0BvgW7^XlSLY zYDg1lubtztJl{tZQ?84B(62Ka3<(rRKqF5&X}3mb@-Rfu#P=mDIES*%PDfDVXqAN~ zKkw@sb;%A+tgaN^>d`?DC@L$4(aao#{$AoO>r(i(h(b6X1YxFA_h8wq!d1!;v=pnt zyHIWB5488huT9qI+J4!jE_G7^l9sBkF)36cENalF3?c{lNc!+q9PyvnJf`){4m)*6 z@09DE$w#r4Nyg3efl6wa1q6MyOX4ta;#V942+}L&6%&e! zNvLT_Tl=9zj=BW%@)I5mkVyB|f=wQmJ2paTNt;>&2VqlKM7b||_d@>KB3+nKJN(U2 zbIC_Om)gFs@L9~M>yV|8ODHrkaAf(-%qgYkGt6tRv}{3nx+yhkoKT&dlHlsgG@EXR z{b|#wj;=Z*^Yigmsz5zmqpg;Pb8JIA5tAmJ0QgeN;)G2lpH?NmS~=MC%V_##1GLdX z$-vP3CpK*Hmf5-^c;OlQ|e0ciI;Zs+gbR6%JIDaU01^2+;ddVue% zRG+F27%Y%Cu}SqKQ>UwkpzG88;VQn_APAly31T|Iu9kdMVf0+AnH}I*;RyfpVi0*r z1dv>WPuwej@pVn+>GX6hwel+v7*z>}tIt=H_THqegA)7b?Efw#vjf83L(dxJ2}shOOLK{I`&a_oBe8&Jif=%m0`Bc z`lzGIuYT;%rLlZCe*SW=8r=3U*qs9NTwrywJ~vlZVrBGadcYU}yDt?=mJ;A_jSZ3U z;;KaaqH2lmxsSFQQ-9sE7xamK2Ar)-X_$@fLRFcRm$_Uay}a<#A^X^+>lfo?O6aA0 z|8L6Dwv8nVfl||6CyfW~psjC{vc=_}VxTK(EV#0*gV2|R^Ng@LThHw$Pi6Q+3Yi{| zOAs5EOIZ11lWaM_xpKKBT|>O_k{`u}C3FZ>%q-is9W_%AE!VZn!c^MV$-WY@%=Ogq z4WY+ZJ|$@)g&1B&5o@A8^&*}2*%6?PzVP0|o)2Lv5i`pTgghukk{OMIkT8u6h=cMb zRBO@bW)HLn%KZn`f;t)axj}VjU^w9KZ)x^d@7pds(A!CXEOP0x%GFtgk&|0;jdnbW zYiC=9`JG9!CrWnPW7}zx8*xoNZ}@rkA={DyPJY`wGUqTjPc_8!|TJM zRlWVU(_a4R*C02%lzlql03`(`Ia_kNRFR6%5A*|W9#l+{I<#;m3W7;f#&V8X5v)y_ z!66hLU069l)O$D(99RL1$POG<8bS}=1a=aFMEJUv;ST|iz3(d^y_hzwCm8}PkD12{ z$%VV?Wot<=s0*Qf)961RccPk7E*!0_#_3XAGm?$W2T#IxVq6Yan9Xu}#_Fnl zqH{zk25)O{e0=B;u#@yU9aqTN_RkA9dE@=IE?68vsYD4OE;;vF-93>`jzERw4OoAY zh_9Uj;&CwISNFl6*H&9yb92{*V&wY*f5*qd1`(FTcN-}+FM1og3TNWp`c-E9FN>{DnyCj4J zAPLb1)Y_7Fz*Of0(*`m)kvr!DeG=`+`TritvnvN+G+?K6t~D!nKlCJk zW%Wl9#Ay4eYuJ6<+*SJKV@rMmO`L1DtXSrTr0q`{~E&wKMtsUrtx|@MN!9niG@#slqQ1 zKXg07wD@OQK{PwU5%CVC*TuJ#%v&}(eD7`K9CkW{o(ENiA6Tb({g(LOX+=KZF;Mz< z?p}Fl6YPUJdtJ1?V&!nhfagh-g3dsfwvAYK7;S{t3d>U_#Sr`5d(6tV6K?}668P`J zGI1X`QHbC9pfmNYGx4mr>e$+uTB<)kz8e#+m>5d&*jMWuexfbEOx|M~mh!S#6y?!nuKt~)w6(Zx1w%{jiLn!hfOMnb5U`rQoL}Ptn2xIT;d(zzs9%ruvirY?`2gdUSp!*v9i5Ont5C@tCLH1kk2)oGvbC z;bAwdU$dmvHP({j1Ke3Z4m4UKjE&d;%ddJrm(E-QNv9%L3x zs8G?^b)8y>N{NZU#R9h2mLz~=R<4>AH4zVoTL;=b`V92^I4>$0plR;M2?OZMK~w&E zLl=?LQ%Cw0>+(OZy(1KdBM17g5?l6f$LlKax5R3m<6kYdcS20UL09M@CMD}O z8txR<=S<{>O}G5vFZZt;|jweorCFyWQM{AAMezo*{0E-?Xxu}CqxSNbFy zKi@--L+ZEpvP&V9MZhs7O;BS0y96Btq3}67@swlwlIHpe!zf!}t+*o5g@538E&$J7 z(SjPXAgG5xv{EC(yS}xu=@0(3_m%^_y$I1i61`qXU<1p71MlMx2pqWGL#s42X0E@b zWuAD9B55I|lFl9XrMcEN0{>X_7RbEfi#;-m5)JjevEd^r1M>Uyo){}kV|ABO3BI9w z(SNKO4%GIC8xlbV2LCYkNq|*z&_B9d+7fm(XBBS#QAoZj;;wADJ>Za3TmU2gSZluN z62326hIFm3v>0!$v|}^Zj9Bq~=ZF0(X5MLYAmE?`uO#5P$ea7o+Z2G zA=pY@{J!R4R|42ns;nuF1iXzHZ}j6gI@>69Srx)mRlQ_)Q-J+XSHK)b5rf`AJkwc( zIB5=PqPCT`wd}1uO07{zK(?`j@NY%w0hQXmeUF5d)hf0{un$B5CMjvS6}X;WDi5ga z`8Z5#KbP2!o)(JwRrJi)#8Xww{T*K1xe@F4al zI)W@+EUO^|uM|@G5=~SKx9_^hFbTCZAVoP!pF`^ANrfgI5EaN)Ek5XeT)$47{YH^4 zl2q58Bx9GDU;r*g!=7g>)C=?@Gi8K=C5~G61r3Bv=~k*TK!DC(r4uSndd6U|H?bBYShB@9CZak~VF0uJd(&SeSXB^|rdDyg*WGSI zUyrl-&BT}3Plpcd>t{Lm{ldh3_pj&At<3)ZkIt9H%zjk$Hk^hM-aSo%L3QaC2aw}m zC1))jLpDIR(e4ycMY=F>oX(?Qt^9D?Txe_72dnOQfU=Ry802vZh<%_PYvQDR6p^&C zCYjJ)v05z}^3UN^`+e zlfm;JW(~L+V>Lg+m<~H0un!JkpVYU}ciZF12(rmuz=oG_Nzl>GyF3$AyW-ClN|Qo( zU?`u<0VIzd$d8^T+-#5@ICq4_lAYcTI2uoCDdY0CLT&PLQD|FE%}z*QZy|QJ^l8>W zJrzoc(kZ$}sgKk)xJ2m-^D4tu>UVoQIH2wZk1&-gy%-WB_i=JUR6*#hKOKx&45q3) zMTkQzlrNtpZ(z)e@hJDK1mAou&PvN>yxjSp0i_3L3!sNXZ6>Bn97l$v(&U77`}9v4 zS^TZ9iJ4#6wtN@L<6#0p&4=yGhCBMhw)fzlZ)QI&SqiELsd~lYDU6b%5w8J_qwi}D z65xrWrv$GDP9MH-M(c7+=g6T(-FnX?boC8k7s0X=B2A8Yi+CPQMB4YPuU=N5fk_JQaf11L%hfaGTw5Fch+HTwi>y3ygGOyE$R2|Dx82iqY8 zGDiWbI`g()PcJ*F!>Z~^xZk)+f};=n#CoAc5DW>14Gizqg{tjYgvU=VF$^*7^d{#h z3X#DkT}D8Alm!Rv4ZhScWL)Sh+(}x;W_y?0|>#uD9Hh++4?%jzv3l5?Pk{RrM5JFG~7rD`Pw6;7{-NF=$xchX*Rql%C_dZUrPw2mzl9CB$3?W6)w zSXLSlHaOp_VFTg(p~u{l%p~B=^6UADfh=Z??g}iRyhnS&d(9s6cR*j4OTX5@QR%F> z-B_&``^Lua+K`UgnZ{uLpc~Fjo;2Txd7X8vONX6?IB1Srlu~2G&rHeaRkMT1`OX&ee9z3PZ1R_XQVt7nZ6K=okp!R$5fb~ zKrm;^0_1CPaE(_v;W46PMZY`1a&DiHqPV?;vq?4g@2AR^5F9 zu=YPuV5$k63f1c~Z9B5ml1}HNx%MFMGZzd?k(;2Mg|wr;*LJ~haG;Pys)UK&kWJQ| z?zxMWxr<^fZDHmQHDcipZZDC~(m5Zq6`kJW#>U|)GNRSG|J{{YZTnE?%O`WU5q&3? z=%jmH3|Dflv9EOgF%D=3wrxxn!1w{rWWg%6FP-{k*;uH0DLvVpha{54*oQidM3O%t zcB^u^Pmbksd+7B}V=L>-T<(eL0KBoYNx)V4q2ztB@%;)DQBL?=xTG9eWWkex%)4;V z=t9A(e43!oUhbW?dmt5&g`7$_5sU?-_VA;tB1HuF6KI!FH~|z8x;+o=4Ekm~8&-?uC~t@6M=>okY@F%ePd z1^HouhS)&&e#kQrDBrQl<2bi76HMKRBDWXVCmww4T`l-v?vwa#Vjh35Q;E9BZg(WO zzZ5b%XrZ$W+yHB)&e`zdSGL4KtcFSI;0k|~Uk=Xe>qQOl*pLUXc63w7F#0GnGlqYQ z!s$0xG1bUau00dqVB|t^Z>o&%RPTpS`f`~Rl9>Nc&Xh5 zdnu9+*ct*j>3$Afjrq}UHj`KAT9AB`z?I)5aJaFKdFXB}kn__=0+G$@ix@ zEO;*W?V)lV!TKdGW0O{6zNcrhjyF*5Lf5A0Tvh|Dzjt`{^N2!Hyuc&xr#jBu7HiM*y<*6p(u1RR3 z5B58MQ%<8_Mot;aG#CXZF6I-`fM#*^iOMonwQY_y6W3l8$akM1$p|ekTwfm7FBr8- z1Tb^;L(rDiUtdH)UxJ>EEaI8N0#>bU8$B+X=i!cwe~{Oy+blpo2q>jctA+~OA(2#R zuZ6LedhH#@nD-WHh`KdpL{pS?rtM3cXNuh@5yk}{_RuvSZkYO*2_+3WZ13FFIyO`? z$9cwP`|hCAI4$aLjkJ&)NiP(ZBE@R37@(j@zwnko@Ti`DR4Jwp7_Rfr_=m555bHlE zFn*PgDFb52j03@Qj`l5_%1ahcwR|@+E;0-*I8!u?e~Q85TNaN_g?HYW>kNx}J zGnUx}x(9MT-<8bXpJ49BvhQ{{jY~Av#^yv8Ax|L5&k|$R>BzbAi)TmVE9fUskTjlp z=d{QCVJm6@DyVd(q1_z>&cl|OEFgWG0d^26T@=`|GSCjesl@L(;8r+%LrHl*17EGL zA>6ezP?SzWNS3vXugTfsCrdufg5|16Nrj*q$mM6LbS8$qI_lUf#Cr*;M>W-monuw#uX1GL+++%{&qXfh10J7r;>%Soi> zzO5&C$KL z72hRQ*KQ{Ue<^w~l*E>mZ~LtG1Fh1ue59EA$_)l`{$INjkgaaoe&xEDwz6goQ}`FQ&Iam*|rNGHz752srj2O2!1zKDbhE+!8Q3j;!ek)2E{G z)aqLF6X)@52M!~yT4CkrYOngtmaZgYAxZ#%<=d6jSvQp_N}hP)b?{vpHh|f$?GQ%5 zXaHW^JbQ>L$Sj}JTh}5vGd=Wx<{;w%{0B!zB)8uH0*EtF9hr;cqMk}8J;mc^8c*>5 zVCx*)D{I$n8{4*Bv8{?#u~|tfwmD&qN}U|i#VX21K> zTK`K3vGQvn_P-mno`;T-Nkaon_M&Jq$c)QIwCTm*+p_Q$c&}^P(qr#T zZo6JplCo~H@#QdSw;|My!`|5rXimd?yI(YptvIMBWp@(06JNn*kikOv(CbD|8$6>i z+@eT@O9Z?70uz3S&eWfcf>Lo7E*s!IKoMlhE+=p`je`2|W0%f)VQJ-AufkG_urLqP zqLT+Cg%LG3C!bb>tvx*sXD8JJOAXvz1wtE|1bJvVOc@#)!N6XfZDnD|@FtPZ`NP~# zjQw~8lHJz>Q^I-Yg9c*C)ou)0NyfrFo+|@JY@>o&j3O3W{>|yDO{aRAevYj*0E#G7 zMZ&2k9v|j_9%P4PtWGDYpQLF_^3p5$Mhmv2)c8RZw}Pa9BAN|Zovp=(G>H;#uiqsc ze=lRq$`(-_JlrRGEYl`0u&!M#VKJT5cH;DA)erCvId+ez?=9#`I;@smLnOm|a#CY? z>NoP-6L)83?x^G1iF6oEb@js@f=RX|NiX$TUN5zeb&whNpB`{bFmW-AXy(~8_=Euw zB??-wkSlKxtv@vc|NGtkzppkcQ+%%?DhM;ne-&D_Z1&hOyr-(=j|vgw9b8>q>B7L9 zM0o@W!!}r9X{RxK>E|P2BlsQ)H@^C;8VN&r2hzL-yS48z@*N@j&%gWc@WUu%Hz`=% z97ID)vep4l>+z587Yk?EDH3o@aU=UpGFUhu8RSxSc}%Tzaa$0d*wKd$Jn4Ff$aeB_ zfT~m+nd;A$_veQnc&eM|f>=HlM$e0uaa(I{D(9!eYvlsfWpHVNei6tC$C^k1%<=nI z)!wiE6oF%JD^9SHav!=FUfD#z^Oq;Y&kv_tP9{9?B&Z_t$BvKvj?CHn@xjLZj<^U0 z652{1HZSZNk((VSVMJ&%GUPD65}=7-02OYIIC)AeTR&|IrSycVCEWD8oi=5wi?0D} zUh4h6^dQg3l(KT7=lo)Y|Gd*%v^Vp|3SY~!q`!3H;+TPF9K+bGSO?2FFgh3rO+jv1 z0;#1`7!>R_I2M0uk7Qf^N^pBGoiXQ_nUq+N4S2L!(DrqU`_1}~Sx|)inZun6;KbFE z@bovQmkn;fhc;*6M^O~|32!GZ`j$7%0n4vD$F7v;`w_1fy94m-m(%2t<*qQ^v4R4y z{Z-mMi4rZs#{pN$#o3kzG3Mw-d`yeJ4>|C}@ps7VoH}l!@!^@^4g_+?Jt@aAwkw0v zz4>9U-?!H8%Tbo67PEyvIQZd40in#lj~0HDkIULYj7PfS{-`$6uYyX3{MCM<;1FTd33pavxXNz0%gew#0Px}-c;a!y zqJ=QV{thkhGwp9?oKI&Vq7?o{!WA7*%P0u96y5V@_;baR$wtyHi=WrX%v*2x@{;%1 z1wGD%;IzG++l9aM`_cCUXZEw26Lfa8Oa<7$$=a~N(!kjO#U}7sP_Bpbek0y`z3~pw zQ~85fy5^V`?dQo1<#K%IH9$uF2E=F6@3v1$=##1Dg3wVjKaaRKJ;i$SZytslUrYS6fsE0!6c%?aL%aOS2@n7G`Qq_XXvLNhp60-kJ{OYRwf3$)%8F z40C7uL5bMiIP%Qlk6-BUH>$|*xLXdSVap0u)bbZ?WElQ1(G*0Hz1j9Um343pCvABm z+iZC2e#!Ln0crdVI{^rjvGvUeXErfb;MNPUFS8%So~X-^GH*4OF`7?M#-1*sQkuLi zi&9I+6mvHc>6hH@Yn-DVErslhpMWUJ{0{ds7!fEUn`_F4lQ&;B*qSe7gW-w_WX3gy z@X_CC>pQ_f?G&`BGH$GTRRN$oE$;yOx#RkRijABKEmA|3_W=92evSJ(_?Z)w?R%|Ehdgqg+y}l`1 z>uM%X#=1cVUt^yti2vfi^Cu!{S^yFfyyE9{VsxTQl3TF8uS~&8;MQrMA@xf4 zcyZ4E;og<4=-mX^n5H!6h`NF;(5i$6#aQ_Sn+!<`284Pde>&I&AyCPGSFgxq1sYaF z6L?cH`)r!*e0Q~M=T<}ttpynU%!nfK7>X`JIG);?8DSn5BK`r7Q;wz5Ceyo&QlX-G z009T{)XgZGmfM#%Uf(gF_RXRokkw%fs$L4cg0+IKPnwRE&o~VpA3-)VS zeBo>ml^l!!qvPsM<6WeJ@DKN;H~2X{z_-X{-L8irna`4noV6n_@a3v!$mOex2E{X? zecyy!4hnzAGMiU&J3K*2PUBk1sQlaj=H)5 ziA?^f6GNBf=nLrEjILV5gu?*0Neoy31aGnU3#c4C0moD!Y%V@*pq2!0*mK^5H4@1OMeGw>pkKAASAuZa5kHSYHS|RG!?Pxc70vNEa z6oOAdWQV|NFWPjl4y#Z>U!dC1s?@PUSj-0iug8NY*>@oz5Uj{tqQndIzA1;r6DVvc zr)=iPp{f}=AZe46P&pL0Sx+@hE#<+eC}mO{;na{IO8dO!CRnUZnL~oG5ldDZS=mn` zEB$rYWcVYg_1&B$>w8tPMh^Dvf=> zSg+27rEOwsj!4a8!=^yz^d#Uga(Th&F!6TfG!~Jf@Q0>5#lxMc>d`^GMG>SDN8}sZ zabn_!0drP6_Zdp_QW|1L(qe7H?uH6ia)f_0VO6jUyyvFr;nKo_LZ$bXiq8E}`>T#l z0ja#xLX#QHc=-qI*@9Ci=O1pZA&LjB&){kg&7Dca_`1?P!gice2`G*3zD|7G1F_~! z_fR5ryZ%o8(|26bGY25+W1>ljiXQU=hZ?bK~o1Gl$w|d@GuEjKZ2?LWe6X?ZFnG z!+yzlTTmW4-i)BkxHH;}(nxdMW0;G^O!fmR(uw>d03Eu}SC zT9~Bp2K9fS`j=jxVVJ%?oc342G7n-)D~wXBay1gDxBf<_*v3Lnfeqx2JhVNH2ORd@ zO_xtxq8zo}>*}0%mk&TYb`Y8NF3BO6mo~YgNH@^IqK! z^L$w`@-h*Fn$hZh$s~DZtt2@kt+u9`3L0uPv(e?7Q;CAq8naGFWC8|4o=fZ$6=)-l z8KDCPmRn)J4wtxY`dx+NA6!8y&<@Kt>rpr4;2;Q?C--9YUdegn3OUg=0NVQJsRZX; zsawgE4A$#fXP;-7;uU|(ymrwXlo9)Oz7tTMzhjy9v3m!Se?Joo6cZrQNrtw17HKLo z4@-q*8!=~deu`5l@%H=i z%dPUQZIPlg(a1#Lrg3%t#^<06gaqyc(KFcgEc;}vR+)M7U6HsKpn8gVWiV3j=ubYS zy!``7jJA?d-)xWrcNX-y;st>$UQK-qy$L>|#e zlVq4oiL_2tyYiD1U@^S5l-!-onX!K+??lWi&WuBqc`achdNrST2ccMZ#}FgnoD*l> zSoHuCSL#ZV)Eh5AWELjc;=B0O1B8$1IZR-$!(jljB_1f^dwQy-52i1f3?8BmpG(nhCu6-u2 z;C%og#78O0HfoxL&&jW4Pu zFVoU?qhEd0A$gm?^ZF&79azuJua> zpEz$m1Li%R-XeXprlg4AfFM)(*fPnItFAXRhdURSlDdURL;mu-qevx$QzPTb7l(ha z;%ra2{LxrXJN~u!K(he0Xi1*g=Gi?cW8lkrS$gd*DF& zPlc}ysj!e}o-wF&;UQqZB6P8|mfL*_IR8q6VWiG3z|$!b3m4h=|!Du6GIPyC28>b?|A-#mcY7r+aZ zVPBuEI2Jav0;Td(ec>vE8&LBSD@ywWHXL#Elxg0ArMT&wG@Ule`b-X1i0F5{xm}qE zN8qpd*_Sp%EHJ?ry(7?B;1@g#pORS$x}vQh_X|rvt)j_Rd5NCJ ziP)0mV-Gs`p8*4^VOl}d-W)C)0Y|4PuU%W&-Ciyd~=ahKtz-f;d$g3dDC2GFtBnKz98=5+;sVEvV#Cplol z$bgI7SYfZl)6&giZ9LNb;Fqa)v-UkRmyYvNNL(CAUWC0?PoH|LmZkED;bBcII8x4lbE<^L}S)8juV4Oi1arI_P? z983koer!;?LW^=j@+h?b%FibZT(=AV$s@YLQtmRNIl9jF7L-cZrS9KLY&u{{YIU z@1XnT@nSW|a+^~Nchbs%2M@gfG*Q+>cXwQ??*Pz>VNwETe7nd>ZovK zl8#Xsjw8!7fp=>|IB>8^ZbWx@Z``V;(etzYiDqfX)Lu;+qN-NsG9*v3qZuV_bF-0r z1{O_T)qqbm2_EH&t)hKUA$(T`Y8QYA-Q@0i+~z#ei}csrz`;RbskFV?#cSpS$QE&W z0%p{&Wm>0>`W2UdW#{1$E?WjZ5{whuM&L8TOORztOdXlSD~`vvtY?C+c>^T$gWYK? zGJwhq7IYod=1nL#C{Gi|?n-PlPJ~DS2t)l^~Oa;`HWBCs_xO`|1d(>|JlN#0W{O3iE>v-0WMfsCtG%lSgB>Bs{SNO@l6aZo zobGNuu{CUe0^NUXRpMuk$5!Rn65RGofVo0l4!an7Vy6^Kz=S9ZkvKtsxx|CYfWN}iC z#;|&+813W zi!+}aega!(ca7C(`ZRR5$#5%=diMr6=dfqoHm#o_@4E-WDBj&uPwC{n%2mJ93|0F* znCtD}pJO28x685RG=6SWIY1)FVELjYc{uCGu>`a_i}T3sl66X1doFjvw!0WS0qD;+ z169an#7B3{=qq3?*wtDY3u82g^s^S>b(W=;$XP|zQ`xJUrnyEsv$-#~PxUYkJOnpR zSR;px(h|1J=Lg5~T)z+i(W875KxKPPwI!2O=!$z9M0%9dzzy z;%5xzOsprVOx7JvHTChTkabQux@5;PFxaAVNlgDZ&?=i>a6SLC8|SHAcF_FnC6|~B z6HP(r$+AovR)oW6|7pnGrs9*ua07wa4y36OPs0T+mDB&BME&mR@`lf76=0>?%R~g| zs_yVJgg#551AF174!dc^+Z~j;k-iLz_9NS^{$mQGDLEKT0#Au${rH$ zgh@mPu_@9TlZtNqOJn7j@4;=00|>!p6hV2b{)*h+oxWQo1@H!PiA6htd%c`Hlt z#6ef+3H_DGMfQNDUeK5zpcV#3iT2k4{F^1Uywl9FoveJ$^^zo`orM(q0QYFWNc(F1 z?Mt0Cid~X1ixz()0QK?WwMI-T&Fdyc&^hPr;_+?@34S!lV+)-0E=b>d6V~RnMGXFX z*l)gP_Of2ThPFnVa!*dih;ImT>yVghH4#T)&z}w2da-hEYG?E3OUrz5wsI5BteI&J z1Rc+(e!}=mn}(}v7C-tA;&#rEy`g~C4#VWZ8Kv5sB%ci6nV3GWj49# zwoh9HI?$?CvlCp+&H%7i$ywXVkg=QFU&tFCVP3;Or^Fv zR3D6v9x*~w01I4msGleZS9M_<8Yhw?ze@B%fP!O*d2;-q!y1^ZXn;0V z9DQOR1Ak4kS4~6-vm}B+Q(O_TDw&`B@|ff=Wn&mp4Lsh4#80vEIY;vGBdj>xhQzfy z80!;*J}R}OGs@+McGAo2_QPxB@?#BFk2Lq}xFPkD1eo#V*XO+zBTsgq2f7~WmSqMd z8z#bJuO8PHnb?!&! zNOx-H5gA}w;tDjOSR!AC2EDw!H9xbS+0{k}-9znXlNoF1gscj(Pifye?jT-N7B{AVsxea+=wSBwt$t$}df=(;!80W8>~5hfJ_ z_c!mi+Z|{CWuwbqzao-iMg(CX_%{F{kgx*AI@nu#@F8+)Bd2eV~?IS{gu7xU|<9Sh>D;Xr{N>P zVUihRbl(<3(!>?+8CA)6pTEDaGTzbIaBSK!d8@%9uq+&E5S&So7jJ|S*nK*sN zTyXiXnSA-*Gx?WR=wZt(-=U67t^3(pijPzoamH7z6r z;|O-2HqU}wzFET`yhg-WLZnB~K5xP0PlCQ}fK!2`_e5Y|je9*}UxKhX3*?=}26CT! zuC!@b4f6!AN1L{Y-KE`WL!!xN+o(X#+@L2@=6*Ptb7%N?qS?J!qmKw?>tQ+77zHN( zbT@61v>MM7UwAktHN=(SD5wn8P6*HiBy%pBAmJbeYLs4w`{Qu>%?nXaNLYn4Muy)4 zz{gUozDlXTKAtU<`1Huy+R()DfperYuoEz;=0HT$j@>pFfQO)1xi+qXt-`c4TS4y9 zXtTGQK~GcsW!9OOp~9X`f%H=#6TuEFKSAp&s-4F$#1ynJ6HS)O_e>nhrW{k*KXzws zCWoXqc+NW;gV8mxsLp%)ZqJ*?eUHx$aK5;vuJOb#GGl#c*wXwoLpj=(fbpj%SF_DMt!)Dt9J3>He-MG zBk75!z&5HN;Q;T4dw_CzjgUXPfJTCMF^XUM`O%Y3U8AgI3en^r`E<1JZ*?@HfHBoE z&(40FFUAt+wYU+s;3cV$q)a$a+CtM6C!JnHJ>O)vu8J(lWW15t80FyQ`q}t0&&EL- zsr9%Z`@Uws^}|+1*1H4vYk@P!dJyqknxQxLKvSk_JcL~pL?1gnS)K@CgcW#t3YT&# zZS)+-!B4fe{2}|M&PVDX#D6Kz0eesttBNkH*cQ?7nw@>_6E-9 z0%4|3N^&o+N`_`9*(|&&E3*P@3aZ{bW)0Uw(fc!-^D2lHA|& zeAg35q+rlreHywcb@3n8qX2c6cBS1)p2DuFpCiK~OOW_3xPyVnC*6#zfqa1Q*Mj#@ zPL&!U7PJ&4AL{alB%c0u;$2Tc5;^eWi9x{;ngbMS5}Wi8fl9@BEs|YI=N_X}H!gm= z2e8gmgGXjN@H9_E8PDN{M0+Sz2h7lK?q^ z{7DN?NX#b_zg!QGSP2ghdmmh$XUUXd01FuyPfD!GgN@M^6Dj56l%-J#EVVFs+`xK7 ztPRsav*AA2Hxcqq^q(5$oP81S{W43Q_Wr4g1)*(8skin6X?xB%BHykXI4!qqKBJGU zKVQ*eLYK8n74Zv&K}4j{`5k`|i#faFCOl)lVg|hbhrgg4|1JVEa{Wt5*r}#tv&N3* z^;G>Aw$9f7L*cv)Xe|bfE~ZjiTVGHOtWKm|*qAzTzu^6;9gSMcexKItjBmN1q}*e~ zVTz9oT9epMR~9O%3G#EA@JmU^&&6eeVpj1TBkvi7sp@M}LrrcwFvBZ)zNWVLaTVK_{)9R@C;6+WrDt8||4)e>U*@rhCY_o3j-AmBD!3ElFgP(l zfLNhX_l#xBSk8lxza}3X`n~S=f&zusRdwzl~8uZXpA;Ay@Gb#RJFZ{Ih#YnSn-^IK}Kiz zTfIX%`Os_OY3o^m9jcy5DdFKP;*#vT@MJO87KOkDJ4gapT>Ad-|@D z!X|nr7C)dzAYjy~^XHP)dQpdN%2`oZxVxGD=3`}j``GRJ0|viD6V0fz866iJin@4$ z7NZGkUq($-##AP_F&`?-%39r1F)@H(g+KFq?xMQT8y|uj7U4*4|2i=UYFW^_k{wX}YFTMOL#m0|pwnqT=rk#IT_As>}Uz@iAJHJL&O85i{ zN;o0-AF6=Z9%3Ww9})?wTEr*%7X<^}vX(*GN3-95J0bSP?1ey~(S(7U5cJ8$33kF2 zwNd7vChStIL_t!o2y=XP(5^CwJFz2HY<81||!k4(BAm^lUVXf1S=7 z1>$_XLIcEUW~cLndAjD)J66z_eFQ2a=yd>VH^ZgQvCcmc-XuL1JT9?jT0K@gJDGT5 zbrOuN*XEkIv&mc$K{(UshM3gO)v=hD!xFb#CcD-JGw++a2z`wf#>N?jfnCtpsifr| zVh3c+sfgbvR+CcB7hN+oT#iCi4`7zsDu=M=HOyb~hO`uv5JPYfKd4~$x}tbO!T11s za<0nTTal;Ob9iIN?f2tiTY>&JOp>rW4Z|mhaje+B9BO3ZNvzOt(?o;A)Z)-3HS&bB z4N)AdmMr~E1|bBGDb?o9RYi`4S^UyPjaqx=S)Fu!w?4fL zgvGCg4{h<5YB8eT2%(E?vU2|cHj~ecjk}_(39E8%C@Mo)|IB%h`3E?Id>hz*`rIUM z#{i@My=F-Z@t5Yf@%6Dm0!-=U9*zK;Cw1(Z)D{C<)$+q>odScdl1xJ;;z(XBI=4M^ z6B;XoiAqQ9iIpDx8Dyot{mru(+s&hxH)AZ4&q0|GvYY+t^rpthb2qqxgbew74>zyx40yD=e;l-!R9%G;^I=*Vsax<& z(_Il&xY%Df-anJP@e!jH2J%DELG+VnRCsybe;3CwzTDB`pk?KLG0}K%2nfh^{;bM( zp#&uPTRDahh2&H)Ei=@g{7jRpPR5^;wTDvLZ6gsA8O&ZWp8uWQZN^NDHj_gV7$MOQ zLl94jUoC=h9bk*&R9$1k@x=*mqkZSr^)nLd7GOdpPUGsx+o(b${{VALB3Pj6+& z)*akZ!}&8iw^fYlv5I!DbD~(%Ms3(BIiP4E3lrFDIYCl;NXWp4dr#6 z3{MU3IpM4^J$7=Y_R$HZ;8Cx>)p0De3X>?Ba9sM(R7V(A2=Refhg_$rh8sU>ohs%> z2jpqP$_|9iz`-`+Fw4dWH%L9XX+-u)@fADO=`v+E&S|TI|eU zO<~-6{N;qfA8;4gK-WaswkSbt@L#*O)q-{M_E*3K>%i^F0;I|vJ`N|eSUd~73#RIi z4w+Gi!i5bA@2?-LYsO;9iY8Hv?zaYH9F}azWe|z?fH`6ug$9anVR8fjtRMw!nz%$R=18u`MAb%n?Q7zi%Zq+aU_k z5$yXPIe9@9ppAR+(JU0Svp3_v1C+UMeNyV-4L1!E&=1Go9Zr>ymqJ<{%pN9Ze)MF# ziX9<8!cSr&2R(J#$dkzj5^`{sK-N1rUSQD?tmj_h(UptI9$dRbsa*28SGDrIW#(IT z@2_DWAYS49no{+2s+mEZ>1-Nq>i%4|} z!8?bYYp-0rVk`^!B6vP{8u@6VfZrk`%4HS+c*_hMe8B?h=^Q^fp)$!ud# zui{2(HWvDE-9&;U=_NZB2G~o&a=>0#)07{TP&Y=Ol z#%lxd9aCr?o}iam?mDD#obkL)k|lU{(2ETuLa7Ss0G7sE&6_(P(3w! zDZ36i7X>`=-7fwL0BVn?tkc%d=Z_a02(6+eqK*iDc#dblhnF(f)O&|;8Vu>M+M98Sg6{ZI9DqdV}G2$z?s_dV>K17~n}1 zz-#U}VX%GPwv%>()3)|KfkzoK`T>bA#xE0L(C?*(1Dtc)Pt&FuLC%8j7 zYbqCWL-t^8KY1r%$9SqS-m=LvT^hN;ug(5qBw!$eRp*ENWh8uEt^u2ld-hb7)dy#K zz;6$IArvZp#X6kcp_t>a_S?nj=I-uYG)fD84O&LZz<+cqE{w_T6YpGY0JIo| z%*xv9F@yl%XWTf__?8=q5#t%`E$Z`DyLyjvZP{uV@GdgMNQA6n4%1KiV1IHGGMwrZ z=_q|8wkA(hwI-((_(bv~`i`vvAj*#u+(X4SRdtP*XkfX?jRWfu$M8MAD6ilfx77QUd4Fs$?3=Tu)ODvs0 zs*bD^XK()3INoVWCpuC`M=n=}N!PkGJ~=t*$s)aTPTRjy&KD8j<)`O*S@QbedNm?V z!|WeXz|2EnoPaIDIgzj{QGf25(s}mIg}>yay8sy+QM*~fnNtQ(Bk<((e%~jjbTIrI zW)ba*sSIxOR$Dc9Vh(!%u2vv2Vj~p7Qj7$Jh-75h|1>;Zf=&ia|G`=QDQ1$bv-AV| zdw`j1nvu=Z$MrY`7&f|uejKBR0)`V46-5-IE_twXs1F)5Nj>6$Mp6f1rxfO2m!R=q ztU;|s&BM9`Ai%)vFV{fza0Tj*t`uWJ_?h`H%-=wu)?YYv0ZugKdx&^D{z||j!!Y3a z_9T~~yrTmT@pf8j-td$0eCa*@hEbV?psc)2Z>mgQE90s9uq}91{E7)VyNtzt_pl^9 ze(tS+{&mhgA^CZ_iC>D`OX;MbOo{kRg*gd^RMZThH8efipsqH=F_vbU!amBKjesd~ zLjYUB_7*3fE9WI?=4z6=-<3e-rABgrIb7@QI=sV|;25*meDa%9uOc~jGoWtaM}+3Z z`lYs*&<_ zY}ph()?iyrtRn0M{f`pDr)3vX$0|Z!mIcm$?6yNYe3TbGm#hc)r44v2b_wVvV^E6R zff)_F1AkA?RK2yD&sgYq9@HilgRdWhf^Psg-#BaN6PT1J`BV}e*k5Sg(rq#G;E z!EJp*Oqw>*zhQ*iOHMO|z2ntXJ}rB#BFd=-LBNnti@JC-BL#UsS_u^#@EGa%UxS&i z5Ubw|bpm|dEX&61ys?k?I>Qzm2+oys0klCD(A`QEeS)r3tFcAQWudJ3C59Dd;)Z}` zi_0CVki=B3TB#t`!_;jQNjxVPb}SzxR8=kHCLcyL1eB<(wyeatu@9r9*XuT{mAI#@ zcFw6K6?%f&A2tlZ+s6sXXAIgt1Sge zesz|^rYJoKueHE9Q-(G&9aEUZUKInnr0c$xDjc=nt)A`fPIc8+KT19B-Z10e5orGI zR5JEfWJPEbguLtA*k5Itv59wMK zO9Vd>hVxI*OgSNeqsKU>Cm$QS+DvsrIqAYe>9SXVwb;GaO~Fjew3r9bL;=WMe~v(+ zB)bVP=O#vKGuD#znn+gVa?OHTcC?tSv<*bk3w~e7rnBr2F`8j5UvFyxSv^#2TNOU> zcU9paI_OzgrBzB=rdg#ln{7H@KhKi~hn%hoM{-95`zzG;TWNdj{7CF7H+85jc<=!m0(;W-fIT%9Yv1-XYiBBlbl^gF?z znY?1O(AG)!WWii};z1ziUG>ugpTNMJ!}!86WmWYk?vcp=mmoVlm~pZw(U3U~pCcyAT(Wd*kZCeG%= zf-@;Ur7)yY_-m?RSGfd6bTf&6NL^UW%Q#(Ntw$G>_wzC87lyC$Y0eQ#Kto1WUBN7g;)L~r3`Q<+&Jwi&{H*ElQPzF z)<`JRW0}${Yw9X;DtKnkaoG}DtWx5mn_X-kHKhfAjsUjA@O|1U%FpY+W(iVvkjNZH zNaxBTK(c-0FWla+$}ec5r#d3hCfc@VQ=pqEvJD|Fdv5$r2)VpPhis9v!uRw2;A9$H zbN*16ZL4m~01WWRi4#2OxUpgV`PIQ@h2Y(+OSpjBwshyGX1nKGG)O>y#by;aTh3#8rOr3g>mIn`(AnPBo(x=% zjaHwcy3qhk3X{?3O{7P7F0(uta3Qmdc>e(GizO;mZwwfa4G^KF7~}44=5tR8@p$wh z=BQOj+0dpxx1Q>zU$gYs7-@Py2g}7Xkh7^B8Bs$fd?h|Xe>@=}9H-dxUTN%a-nyjI z`?AJ|>_eFOG?e;-9p^T=OM&_qsbV09Doc*aA>DVo z{33*t9BIm+g47yY86Nj$;kmmI>$O4xxA{SWVhH>3-6Q(Ed1d4oJRDRs!H7A94rB;D z*AHBhL}Ju`h4&BAhYp5SdAc+6K}K-6d0$*jmM0*iQ=l8EfrFzcKmkT-yrO7S-~=N$ z^Noq;`3a0C&j;e`!ag}9JX2^2%@+YTfy<&>ujnhdZ+fvv3ASG1yyyr^Q*+F zD@UufNcy9uhhppG1w4vbOjXA6cMGu~+7 zO8pK>2Ct*1a5I}Vw3H8Sd@4Mmo*#8nvG>K0CgMZXMRq6h zdu73C`(%MC#x$W4+WR_IciJ2iJ@X2aAv^j^hg0u`lTLQUz%^uH{cPhC)@W2#BPNU0i7Pu+cY4io59B3sXhn%Na63(x z2`W*X!4mhdGz&@m=5iOCR`XdTdl>*D3XVl+ZzRFoHWW%pK^`D}G-4#g(Ru1Z_>P+| zO)K2r(gUj=-tNbfbZ`;dlWGD`2BQt2{AtQcaBzNpSAs&mb=}&L4hd<`2ecoZ7Y2y0 zBmQQL-nIS}pAf9aj-X3QgVX#Gq9{@IcAxCA_(OuE4fvVHU)eZ`$BL%j{lg64$Nh+e z3@j2LCVrC(M1oQpi^x%ewGz^puNnJJfMzCQBo+Nre3V!Ke!{c|h!w2v`h*~Wiy0IX%8GzB5}b+U*g-6G*A@x%}oe86YO+gDM}L(S6qO_2?zK}mYfln@#FC2%gY>Pjvxz_l^KKJLiMWjzOR)*{3@khZ#35J( zq`g*NdvE!ysjX{fY3mmDF$xopX8#7j$GsPoa>SB!py#n@CH#gXjL>h@<1opPP}z@n zlc_iktFz1L;5*{}y~M!Ux`$yZKX*%3+^__sRAShGoU`Eg-qis7LoyKHnvnD%VR=DZ zs7DytB<_Ea+k+FN*E}hd>+D*P`)I0mgE*uEXzlm2>4?H+^!nh26rT!7|3O?|+?xP= z6RjicE=z^RNEW4l))hn(e|_z((crEkV;b`0l+fdqDQ>G5j0mA(+PRq|df5m6ihTA` zZ^;I3tH^G1$V7Tn zd`~brmC792FKMbiEBn}>6;EsMRIR?))DE9()K>I1|8O+=qMky)c2Al$-_xl6C}#Wi z!T^ypFfPuf0jS*G{RVDvp`+5KV2=NNg-s+2$-}0NCP)UnHEQ*HRR(b+E?+iJg}7_V zfe&xv*m%cdh|RZE1Vl7eo0t6wyjwPY)QO9ZsFMZycrF|*T1&tQYwjl>4Zn=MceG0n zT>o;E%{iN6?ZYVmfBm7aF1;}e_3Wy*)c4(Pn*sTWoYx`(A~i)&q-FvV%NHIS<7`5z zx;O8<2Fe}Q<1WR_;aNfN0|OMS zc4H5AiYK?s)kYuiGv5L_1*0(D1%iJ+sBtn`Lxc4Uw5Jn5rOD}LD}@L$xei2RUJ-5v z)jMZ);RiXkJv1iTd^ZzhHFSfVM5h@Ju<_6V9*j0#JkQDN{N=!0aaR_r=Mj7+N&5?R zP0sw;xfU94yp3(ZCJ#ODb= z>Z$M2_rL(~h=|D-*Qaxjeg4_YK~=P^NQN)!u0~(Rhh>lORA^1uW)*(BsFTEjQEKq+ z_S-rMrmqKe%gMs+&G)@V{0S?YTBB#1;%Zmur$%sxqxIAG#Puw*I#6y^pGGw|@U^-B(WD=PrF=Yl{A#);-U}1_1EQQi4d3 z=%3bot?^jW(^u<$O-CfZK1A&5%U}rz`n>TRX%uLy#Joz0psfunE#V2lY6b%fZ@?J1 zE?JB2YWPv#K&zub;K+G&(fh~e#M%40@fEN$$OFugmG}?0#;pvC@~G;5Lo;||G5UYE z?!y<8t65L?CJ_H=-J8!oko;}k*DE;AzO=tAxBk<*PkCLwdTzm^+?z4dZ$k(kB<;;T z?S7+eTX}o)*8LBydnio6-`0IkwJw*oR|nm~`9+-iw{N9#AKb?h6l;NFfVMZ|1y>e( zyQE(xDrdJIPUAYev)NU57xs*{&%AIh`2P!Bv+-|mO~>VviD1TdB&(gu9t~aa!ive$ z9t!16`JXzxwh9?YGnC{L&h$L?RxLKbZiRqX(I5Uv7?)S#e}ij^RlmSBw=bciyq07k zY(1T{_>2Kc>}=6TDv0_VZU2C4rka#CI#o(o)3AT{(1`F5YmR&|MP|@NJypxE32Dp} zP8u%TR0F5VRR!qxbXNgf_#+QDeDaN>c3yaGiDBCOLko;_8&q_okbnZcUdrMBF5M^o zE#3bwZq3yHSGrI9U!{B5QYDmVv8~;G&ocFx&P}}Os^tAi!Z-J|vu6U8tzORRm8F?A zwZGh&Ozr=dTN4TB5BdMNH8>)6$8mT6Kes0BFSiD4>24E9cGcyJTeAuI54Wab?H_Ip zJHYCHaBJ!^{&H*3$Vs@aI&`z0KhHBA^;{4=iibC*iYYhxn>#tOqoNVF90Ae%_`zBJ z2`Fa52NY!J16V6Ef?05Tv<~^FKQZ)LB1vu&f9MSV%V1fbd-qi(A@5BmHa;`Zl^XS| z79Sl2;}(|sZXy~`jIIcwdX2OCp29YMFH&frD$xska$Nmou*~GE&eOFj{H9aC0<4C% zjT)SbR}Ul$=6?uOQK1hY_j87XvbTT+BMk%j?q18J(9thx*fQI#E69F3Jx2IUcbWQ{ z0qutjp&n)3T53L^k|h_qH`G(*diX?i7W#uxccf8dktWS|@%=1r%$|k4b^2*j-Wqe& zmiNC5mh^@m35CWu`DYAy-@0;PvcrnuPu2bpTkjZMN!zvU#vR+X-LX1G z$F^-J9duTlj?+oUwr$(CZQI(b@8|xW{q6m}YphYDM*Ug!qsFXjUGtpBkt1T1-78q& zNHWD*<^#MWjWLF9$mimk29wD&+se8%sI3D&SBQ~qy$kOUU*%^0@cQfC+B=0&1raQQ z6rUqs4yow}>7Bne>JtaQiSHAMy(n7GDCkSK?1Y7S= z25q7C`(J-0p4&hE%6ox%*~G=a{>n0&F#EX9t*plms}X>A4>P)i2_{UDEn)|MSu)rL z+yD}Vll*jqwT}kmEaFN!B4#r&3_H+YIW>|`@Yi2iYWn3r{>oQ<#&d%%LsjbCOM|Ms z1x!t!cAXX#+RIxm`ip>hwaJHWIg0dEn9*|t9CWJSup%;+tx}jlMGkEBG()=pro+HV z$$o(1rZTDv#QefW4@EN_+$QppMvaI2%Xk<{{y4{`_bUO^FNoQQH6WJe?!ez23EuwD zQ4L-v!|cnHKxtqU9Wi4;#I!ze97VRXFOm}s9BdK(d^uLg56$e!M*1%AsRLJ)sNOer zRZy67?YMpU!X5@Qu@rj0=AK?j(oyL6A)Fi*yUOZVRKoG&%Q9Dc&;R`A#KO$XlDHiM ziVnuk5$7mH3$O)3U6DUF^tX56F5po-0o%SfQQ7cg4otR5%{WoVd7-nOlIO8pcTbOv zHF14y%QSK6CS>*^v}LW1Kt~>k+_Pz|ATeiSFiPcqM@;A zY*&A8pY(cwjFRl57L#Gc{<{Op#<%%;g(5-r;~BG{KO%~8wBiuupB+$92`@nN@B);H z3bCJ*Z4K6J+fc}J9zJ&EtVnL)GYQ2O64vw`TZtNy{^GxAS88(ZM!KqVAlemRXsAMF zX~8C&!!qVM?=XIIa?(RBLu%Eey*{1!$}c3wmzF1`#^)ISu~~7(@4g@I;Rt0v>&SzT zZkf@%;BqixdE=2G7l-0B?>=n9!6mC>njq7e*V{Kraq`;>8zHRQk>_SS;`Kn2h5DeD zN^KUUe@FrK9$F$onsfPWcFP(d=KuLdB-8hN_6I*vDg5n;oSU&Az=lK4K<%OY)IC{_ z^5VE}l97M>#%U-2IQbV@E=+C72}&e(LH8YDGhv`w3-VHGknM+3V-&(D0X+noiR7$c zTNDRd%zUt4H?w3f^BE%LtO2(DM*GX|&u>S%1`$O`-Qd>*h~1c7)p64Rr^JNxb{2Zh zj3WKj^X~61lbU)@?Kf)ftVF#XIgxkk1wzFLJ^q}E!Z`JUp;-&QXb;vloJ0Kho*1mk zirIg&*iv1@2v3J9TttZ7I9AHGS-Bw4*>GQZWx}4>URjgI(7r@IFD3B#XnGb}r&25r z@wZEd)p~bIxSrvaNvr@aL~gr%_)4(W+fPkg<~D{F=X!c`b@|3=t^25wKGs?`E2 z212T?XNaTb-SCK}2>pXU&BwEpAdQ=NP!lEb=6@%C$HNF{9|Ii3866w2zg9;s_}Ji_ z4RX71z)B)Kd@cEL=~w%U_`>q~o>bH5Oe#a(=DF=|qWsFP{6mW~Tv0Ue_H$SZ&!RX@On{)2xKmC6v=0aY-P`%1AIun2242hD{&jOUj^;KNN=*SMV$ z2u?uO7--#tO&-(+u7mcyTT#zt?~gEApW!rJ367Z zcwQ(5cSu`drC%Z~bPV62#{w&Y8d8gDAeVTi>`FJ9goFW8wrAcHu`tje5icNDl;BXF z^N=_JjNOpZi4SRDayjGz_t?8@9sXu~7L(2Vm6GIwD(s5v6I0lKm_^x<`0;79&!5o+ z`i!t9^(Xl%BKi~HTB%ykVb4_>`v^;wiI!+2z7e_w^8LG1m8k$e1cN8AS9n>QeZZBe6!nApI z9AgS#nghrP8=Fb$xpwBB2(0>w8ktVuzSew#p6WH zHNd1qPDg5bX1loWxi$?=*T<^64^Lw_no1sBMgSUFy>y+i>f&L-eED4VqGTlVAXk$c z5KCe5?UNckJMFc<+Sx9#6t&By+jU( z^M+D=`*%ib>m(_U$9B~{c4Q?czw4Q7MrZ9*nyS5g#dL6CcHf#(QAS=>g$l9?f-bO5 zf&f^skIQLGng&tpxbHTbz_{^_+>A-%)WxpsBc5A@s`O|*pOY&TRaq89p;C|54aP&j z(lj0b()1gQRFJpl8LdA>XFSf>K|Q2Hp;R9w{$HPhmf%w|Tj%1JrbYtu{XJ`d0v z6|dl=#>C$og8}6X1p1shlpZ@a1#sJWL2utvaH~5z4DX!B{hHyk zHjI(uBthEw0bsLv=){KrJ%Azc7YvW4N6!4Ea&26QY-Ca@)ob(t{?mv$?0|G|U&M zbH3J@^gc{=o`Cpr2#UBtXh1H5_#x7fd(pVvJ!?!07Fn0aiY*5|!bX|~_1zJ@#sC{K z6N+dykA63YkIyIqp&ujWL7W=xXgwJc%0{ zs{Ad2T5zqUaZO2+TObe^0f4G5Do5_gS^L~&zJ~baxq?b_skD}0u{3dxM-oP+8fcza z^9G}&*C?~P!~JnpU2>x|)30$IYy>M#ZFK8;!Nd#{D*CMCxWQyenLZU8A+t4Q>N(U#o064ycL8SCid$WoDFRw_9w8O}UP99TmYobP?{A{)ov ztfApK^>Y*x$XObHJlns8QaRo*M8RucbyM6Cqz@+WL~O}w^*uLoH6nzOJL$*u6vXwC zv4X_HeDOg1Vn!E9t#59rnI2mF#4l~k+d~~`Gk?Ww5&%do?IqiydSsxXm;X)4RfPG= z>KN;7jl%R5=)Po zGRL=D*}0ns86ZgAQ%Q=3E!Mv>hdr7=S=qR7W_0c}r(Z7q%Nd)?w6Iaoj_MaE_D36YC3>0GI#cc=W}hSn0@-2?QCu$$4_=9 zCPCq0wq!O1y9>DR`N~`JXtKS^BdEFYs$p`sUDW$Nvm8Zk9%)kb@xW3>!O(;Lug<8T z{gTS4_}oGDl;s5DmWmzNqX!4aiEOQMc+Py<7DJ|va+4(*63M!lhfNG~!-6 z{GgoVW;KxnrQZm7F9q73cXu7SRj?Hm*^15~w!kJL%m@0flLsyWv6hHW7VU;q$kq2} z$52dne7Q5^w+*Hz(5WNzvt8sD(m}Sa)*}I}!Oc3!F3O|9h4oT{Y0WlH@y$BR5{k0} zy8*)l4+KQ`sZhC^+Xs%~gq-N(i4oOuWYOEm3=8dXk(?FZ-QJhWM!R-{nff!}`Glwq zQa1wp21Otf_4FHH7D4n&8eMecQwN5u0H;gBJ5*OX&8*#F9VSH}nkkn%O?K2nh;RV= z&6@K+Dc1}dOK6S26b8(~yGO-@iuQi<%9Mt_9-Rp3TPAmT8VnKXY3gj(!XnA3G*Ku> zxbFE`yr?NMCfUY@u%2)Py8CZUsy`5xG%lTW$U2 z)iCLiBb~SK7Gj}$u)N0ml*$()9!Oz!m%U9xHS6i%GCFs|1llG_Pq=g?ND08`9naw+ zq+AA(E!xMH^fr=oqrNz2BNk;z!m_l4AJ87pdvJYz@^Y*M&H;j|$L1qCUXbj6BTeJy~nlRz1@?y*@F>3rDv{`K?1(Xf>7c z=`*;@BizF8hXT5osP+>LdthtuIKg}sI15$O$#ByLOz8jO|eUp%Dtsr_mL=4VEyu)F>a2>a-x@hR*X=6DroYcv}; zl#R&Nk`wJ*HLJ88Cj29yGlY~zn)RG3YR*>h8`~f1*u$%F z|B-2u`#*!>zLM;vLxn^$z`<}2FOQqm(05<7Smy62aq!g8fyGh&(2~!9($u_X&ud#R zIAIc5)f{Z08RS;*RlsDVC^m;Umyr%-DO)o5BJc3Co0t0i2^bF9S_R{bQM)fVvPy(c zH<*6jzGwX#mu8vrV)CT!tJ&{->2Fn%iC-V@M6^04&6$6DAM-G(8|LVqt3ErZccKD) zUvR4(4QMM)-eo^q;6ov76-0((jL0z@S-oFhb$J-5OcR)1(ExiTz#b41>1xp&vl!G_ zgE8+&(TbZtdBFYBaud&=lkFbq$mHNTauM8HQ7dpyhV;3O^1|6VYOOLiW)WXQMclIw z()5DmL39X81iba0wP9H+{i7k+4L8i=6XO=ApJE)+y7p>K88jdfgym`u8W#Z=yQ$uq zE4M`oAyjU(R z81y8x!xm%@hM4#f9JXUtw>iwLC1iUxYR)1m;}bSYa#=)8QUfxQY;eXw>J|Ku!2O7oMxkd3Mb7XA4ZaCj5|C}R8db%s>y044T2S*R)#IlB;8 zRIb#`iw%4jw&E8f>K>g3;YDApI|)^LS9VRzTbK9=Ieo6oQy0TjloDvxG9&@&CIu0h zaHPWcv|E&2mR?}k0yt?$>Q;!-TW=^wAG|WIlVQo>*>u}e-cr+3xd}r>{?+iMbm#?^ zMh__oz(@(AJnvK}rdKZTZt$BNGtdEA82Vx#f*XQlsZRc?LYNs^6d&&ytba1v`bs|K zt|!=R>qJWjJzqqrYjgIOH;$Oj;*QsQl6QHp@T&F|p%hpd&4*~Ti{w<5Y$%HY-AW`j zwV+>ih&X(-I3g;CwP35esD5|h!(>UJ+HAP|0{Uv+Y82bZLm$QloXi^?R^yU|so z0XRQP)iPohi4t#J1e~CCA}SB?6&zI9Sr53m==NzK+!={#r@bvby|V&me6V)!<^TpZ z7NJer{DLG0`XALvHY(WOU{xkcwCQ?0JnYiGn5lIb=alZ=YTftHQQE?jIAqngehkh6 zz@~D+6|>oMR$S)8zWSQ4XKE=9{jOWWixH4$B;7tD@~XG3tg)p@fLEAO>GVtwP&s#y zt)08(*fu}Wb#CtcQwbdYH+Z{qMO?@z@?1g3I^qY_cOQ5Z_BW?kseV{@%8PE?FDnO=osLOBHn@y!e82jhPwWWsJRG8DIkn}$kgHWIbX3~*!PN2;Fv5xKpqYQ zf$S{*TE&mfx(F5fBmD9O!#=T_GGLhJ>dA=;Kd^4tZ_cVV!JTmwY4pu!8IUzS0N;Z5 zb*<^urrJS%F+xk;n}*A(>YD4WP&ExUE=uXr_(*SyCdYY6S%3WLo_Ik`%wONfXWga^^Lt zq2?pVRB?oxev8QqGlX_N>XuTq9Ij8~ceSkE{iff?3ODilPfp>OzqIc1&{ZU0;)fMb;fH2&gnU$NCt2G6CAn=H+wc4cOWv(mwWa>bQh#QCIE8(3+*PwYLu%F zPiB{1WKEclv#<)W6!E&jl0SV70&31E2CCERUAUzNvgdy6953n}ch|;wGI`=3+UV0o zhLT6-Bq{kDCExo65ey_*XV8jRxTJx4+ai|!7$XrsTxDECAMa$7l{O$nw?>Y_4O`dM zXzI3DArdB%EAK0~6hKiaPgvN^M%5sinkDQ4UJQdgtVb%Wn*XA+Ty6T?%QpGk87kuGZO+Vh}e0F-3GG!mDsk z>i0fW81ctFEaDRz542%6yyITu`6`xM5o=xU=NsR!g2i=+#^puA0Y7oC=Sq#mGOFDK}&^vcfQL69`#iDw_ z$yTgRH;sP@;?T$Hv_{5K$tn&gU`_GI0ZdyT!<2 z$f8iXIKAoxVgUOfq3>);Tth7rI$A+&e)V=--md3b-`{y}8Qjas&)q3jc6;~^!UfS^ z-8W|}TRWvCg71a@ju1Dd14oFTC)_dd+-nXR`{sNw_YqM7A9YU`Z_U%oOE}&=>7u7# zc27P$%mr+9eV^#sE4og=^Umi@SGJV~kSN=}*!40-1LF1eh#%?D;esz0;bzkNDgb$h zwD-B=_ZMIes_EwZ>$gRncR#1Uf*uB?lUCsTA#NnV4smPHa24ILS z|KgqJRyNmSVbs;k)wWrSNc+`%>4P@-XV|IC@}g^junM6j>e^?f2jVM|fIqg$PdEsl zZVEp-Ql&^e9$)|}mlh%Q`CCcVHr~HG3vtPra1boaEFAw~W^@0$D8jS0-xa^`@(EgD zs`k4tJK(2nfb_I&YyyM4h{adPVgMUVKrt|2O43>gKDy#ydNTKO zPgA#0l|RE_LL%G& zG7YW1YYu_CObCVN&KnLZPNt4aJ0UBhq$svRQ3`Z-Ux(iSYSi9=BA~LQNG2Cjp&cb1 zP;ptJsT)iF+fE(JvR=y{ggh=+-v~!P@4jSgQ!cS|4m3Q-%cpj1W(}!q#`|K!N9MHE z2odcV3(-L}IJ9Y{^yOV-Ht(i@I^pRJmdfS1>C}S@iH3Q6NclR(PdK^n`l@x4XhxI2 zyq5GEA=xM(!JvZ=#{Nq)<}S_&5kdOV!4ZUbaBo1IF&)~g({}Pe9Of)K6(#0xRs%3D zSD99waWhL*SL*X*c$mYmYKJqX8O@Y-SwDT+?Od-U-gepQZt)>^2sO)R4hDj5{vSCAy@*+Ksrjdr($omjlA|~i#~g9}1_m?inz~vpGN|juP8{|{*)1gI0_BAu zU#xOq62qtsb3(si`_MhkGw4z!!U~apabmyF;S14$U5l4l%CEZ~fQG^ADnUot;*RoD zr4R)HIP++n8i5pYi1xowb0JW$D(a?j?!p}H_=-;j{?;hUC6?<#^0ef)Ye+koCuNv@ zeug`AOBX0p?qQ>V`36M-pO__;h+LQ={0jw3q);A>Bo+7+I6T2`J38|eT1Yr@svGx8 zToUnlF;JJjy|l*&Uz5uK*sD4ywb;PTMroD+w5@9%s!Q|c_ETx_kfdN>D7Zvo!C+v& zxsHdgx>s0!iQ^OW$HGf1BqdRcL<@&(iykxLsGh^qCT-t>B07r)T4F!VGa}}$lAd~9 z`AGS><{mJ2*2(WxML`cISQ~lBh4myFco%$vBYfs^+>&FpKYNNQumuYyRNT>88O5znM>~n6IGx2YZk;av$ zJ1>;&K5R@&tNK;pG2x#LIXHkGVXj^Ow^L*nZG=v!NDx0wlu^xbc*TCtC$IE&$%gqYW@Hbyyn;ra3ei%%6 zJN;)eQy6IPB=`0>PCel&+}F`T^fdk_O_mfM_f=||o;Ih75IA(5itLub6+5mz01PSH9b~(F);lajn*zQw7J*c+E%}1#(CTP?ak(P`}3`G_X~u#9ZZ8; zEqFVAPf6}D57fEp$Hqxbv#~=2z>Yqfg<-YAel3n=^WcMKO?lc*d-MXxm-0fXeD4u(Wq@mr}HEp)OMj9JA9`_j9+n9BJM0Bp&dY(1LTzEt6owNY^_J^zno&s)@!YFxw$W)Uq)(HIM;D#Kv z6qd=6{}ZrZP5M2V>d-)2%C;@NJC8$eOy@;gB(OP;qhmR*K~`xDkg5_vup!lNB*BYe zEuj+`i5*V|xcnNkF-^9~nY7Vu>!iI?t?yGP?%86Q>ztVDe1|ofjs7LD_SYPvO4WS?m# zsPx4#JE94Zjs^lh0Y0vwQQFBU1aPT1-G!a34d6PiFv8P$%X;eV2Qs)|ZmNmYr1d|H zTtgMf{PyufH&k_VjI6lHGIe!G;~2w5Y+x~r!kNaMAZj`CYtOmN}!0$A7%qd>y|uL^6`Q{32V zX*)qI1g!wuC5Yt=+)xA+4S6C1A!Q7PDug<>PkCM8R#k&KX-^w|JvB*3-d485WxAOy z>b9X=nzk@rPPU4!B(MaymM~B$WF)0+mfB;dbZ1+m%z+>B-R2A#KD;EZW6P z^j>SMX&(Z3g9WdPqTMyFkiDgJ9g_4nu|!F1?lg!+b*NZsUuDl(xN(l(x*Quk-)%fH zhOrdp&aj`f&LN0H`u2-IT!5}jsQ3QLvczoaBDv>+57+=x7)yIGTHTQD8bYr-H%nG^ zKjwo*DR*uPe&HxLGkq{PEN@NI%1g7kbm&~(gEUCrJaH5!H!!xm%wDL1??$g^AkBIE40Ty2ZDmt z$u|x{GAV#fj98+j4Dxp0y4ID!#!`6*TV$b4QvZDIZmb1$6a9s0r+)Gghk_*GQ}ezb z!NmrW)_%%S3lyHe01ff=W>v%f&V=9GVP+jO`6}!a>4fAb{vx)KO?cQ{0R8sH>6&-0 z1n;3~{={Ki#z}ODDCCs%B4TL#e5fk^H<&X!nqhjBvrs@k4s0pzy2Ll{n%aN34e1oE zr@X5ey8Muo_S?uGqZpHN-i%2z8kT;TeEq_-m-iEUB8y-k-+4i}AVCTu*Kr#a9Ouuh zW|I~U8o)+j(s61a7>WR0IuOy14McFf4+VEs3+rae^>~da*UCLJPxEwP8@|$&*JcHe zYW)o*quWdIY>2RNSgQ^{QX9*Qt0&FXsP}r=7s$67N^GXp7w+uME8FkgvBvL6tm5bc zO&l+LT!>~zSNO77jx2537T#Q6WS81i-0$7$V>pwFrqZSXptR`e7E!5Rx;#}p|mBzkM+h|DlrktZv`y~=RRMYW+a~6(--8k1EXADk%!S4-&Oy8Feo6yRt#Nqb?oWi%)xu{?aUj6)KzB=R~SAK$tbitz7K&qZH@ zAim453^B9%@DKc^a*M==HK+7HpL%X)&fmzCNZiaEuuL+hcIGY?#4N1;qDZb`L4}weq{$g^sAequQ`MiNHfbJ$`2VI5@`z~yk zuy|gaf_)FOIv#&mb&!~}{JU72OB5feGl{VZt#@c#K9o{IQJrszuspx7~uw5qhwW_El_%n)&MX@@X* zjeV1Q3$-9pQjL){09gVhP?#jShB+7|?5xqGf}Tcju-Zuu)Dg*EB+^&O%HK^QAX+$U zY&IOT?1MzsSOgQQ^Gsm-v0;+4FadDJUT6ydYRKl8J!zxnUquU`taWnzad1+CO~~-77}hv_oWRz5G&alJFBgAt4}`zKRGYYM5+fXn%8_4G`O$4fsOf(-T7F zav~|8Q^@xA0$9BqV(*z3uyA|$IA6tDbQ)Z(9aY?BDIv;l<#mj>gB4tr1<41AU59x3 zQ%X>TEjQ6vnPI!dfj}i6W%;Ay*+J^lYSVNF;={GqSYstkS1&77v`e0BBmDgJRy{Sm znk-Vf(?+k;IEqh#o7r4ohR+BZ7~m{#oOyV?PT|Ap&L{!P~NDcX*d zKDf5sv_-3F(^Rg&>z$A4cHXDn$+~3NRQ#mjkZzcpquTeVDZY2CXOmDP<%rMEq!d_K z1f2W4p3c(V<*Odil?yNOUgCtWLKL!{pIk_zXql@MRl0PpyK6RmGo1a=+Xh{Bz2TW} zvEHp->eYT#bsjx?N9xgbsvowb_1u5VVMld&WC;2A8KB>mq~E6IbN$9-^cd)VNtz~Y z?~zd!lKL>N(sQ?fYpw5Ui{O!(;9psXPAAa5{+`KsGznP=Y?uF3gZc#Vbu+8@pEZ<) z`D>yhDHs|!3p?BY={o(tDEr^ZIac?;P(4ZFzb;t5dmi||D0|s|QTD7rlzogwkjzcY zP|beyd%4;xFjOBm8c2DG3k=lvVq1Al}1!71z}5PWeO&Ty~rt>~D}Mf;~87 zI*#4}PsRGXxgy8*C5Qe8%$tWHMm9Az0J!zRvWVV4y@FnA|><4o`hHF>aaP z%GL?NMt)^^qkx$qV>i%1d<*dh&5o_~+o@Vi1$B(Vs+kL#kX1wMnNEIni;R16eQd#R zY8!jeTw$nH6cDp@0cou}W&i_fYAptGGklR)rETfIQaJ zbs@_w&++L6qIB6I2+_=s`S`5Lxjw381EGn;WTnXGfff{;D%+WMd>49Z|DfyDs?+wAj^X<&Ze-8>BC9WU`J{=RyJj)*c1eK9QJ@aCo66SYomL0BE~<3X zKx-0KPl5S6MRR1iLDXnqH83Pi_qd6sTFDm63{yQX&0Q^-?`Hbf?ujeKRR3EePt>Z+ zK>6g4TS)KZ`kfUpRi8cqOx4F>PH_6PpS!&MVs7|GOAAEVAF%6YDcVyW?);0g$NUe< z{v3$1*AFE<1N#SMPyY|f9#;{+>CTGb*JuH0-+xf{^#7pjU;d)(`|sOkCE^}L8vjMv zb2FEI(6aHjH;?L{3Zu3AZ=b#q4)|8koBJ|8^6sMkPIK1_!8-rOb9mnS;CQ%G_tVXB zL%?U2`^CZ26W~23@a%x=g{bsBFElf>dUafXw55r0716P0!Xra>Dr0lhQtXypBXy)_?R5-E}W{7D~<~BoYRoXq}Rr!?a-| zFdNc&DEu*^sF79uwRPAcJqBxlA9G(6c=O|4n0-;t;f`hGOZ-uc#u;;r zCGd%fDBV2VIaY%FDux}cOJLq}IC@tB|8$JG2y$;JcDBL=u0v6_p8PIg_>P-d5FYHCPdDot-AdBF`=$R3XxCu7gZbz_hNnAyJ;sI`wn=9L;Bd=PC;`ePe)6 zm|Gzo?H$dR&c6|e?%fg4u)Vh-I#ZcxPOn>279v3rKX~XE!q#6^*!rL@mHf{g624 z+C}>^rUMM-Vp$+)1`H})q_WWQ0r@B~sz$v_LoU}RI3`gK$p8Mz06hUl>c0Xtmj95v zfI&YXHV_CF*?LjJE5g~J!PF$etm}Va{)?_Zf))9FJobw$KX#4d(!mxm)ySsS;*cCLR#G)Ky7dNYB|U2(M!&{L|rgt5r)l~1RGq3$+cs_CUp7Q zSy)?BC&rEKH1RrX)8+Dw$Q!$z7vMo=VO)`yqzEfhqA8Z3vpR!t+D>>c@SyWW2;Fgj zSskBCQYJ}gSoZS$i$CSmGh#!(Y@mR;h&}S)9|?t&-0%&1pIV0CG%0!*TiXYY$r1YD z0}SIDq!8CIKh>vw^&(Avz$&JY6+TNOTcHNd3Aw{LFf%X6Ov{V~yN@Yr2w3D@hHRmk zcX9;^TJ=i8^}mP=n{-w^Q>Av^#n(1R&T4w@TZe1QJEtx!Q}MRx$P{we_c{>q;y|j<1;}y9t3s*Wt=RKW4g#|eTA1FL zM{sv7_78-&-V9fH=6$!fPx;o!qd8?stL93qXZLWM0*L_^1aClIO2q9j7g3}mVM6+l zq#=ch#BwMb#^<^e;N+Q1QZA2GW43}34AqV^kkJ47l!-(0&uAT2=;7@sSMx*tHJ7h| zn`9LD+-~(H!&muj-1wy&i~ZS1o1)t^t?$A07biv}ezCtU{O*R*TAIdZdVDxNrO^wN zT=1Loz4C}Nolf2jSKlgo8&-%KERz_RR^M5hsccFCG&ZI70Qy4A8G~WV!2}xk-q_>9 zv=`uQw*I|MXdy>+oO)zbJkkfgOI`qcbEp9r-8{|^eUJEM_fr-6ipZ)MVmk(|Q5D#` zzL#^3P}a-16oUHuMc+6j#*OMWpJ1;nIBvfqgy*0kZM4<9HhDbsczH!TODu#DbgAuC z*@D1h$q>Mr=rAW!_GkEH^-mAArw($ws-jGA!EJ;%IBs)ItscuK6uC`r^|KiXb!-IE zjm}mAc*7FiibDd?+cq2sC5@bojbfr1R6%2g98baHhZ()cX5-DBM{hVX48#6J=C+mY z!8vdp!TwaH!5)~~Az9^+^eYj1+qk$`Z03`pF)n~kM81|l9UbPaQ@m=Lt-H!{od+Uuy$z7h z!HKK2F!aMD%Z2zxf4(T_jmX9ul?}>?)=hA#Rc~o>wG3)d z9ge2KSPgeLg|)lG@PXSL`YrJY`l@9egP~} zpXAq>yW-eM*?bUtyvUJ$rm#iRdEac$V|)0@MTCN$b$I^5+B*@O|Bq98r8jW#%Tx`KOVaP5rr zWZGa3h35#PVM`$$Kq&AhDTj>W!qv?}dhd+YR9tGqhUY$fx8yNs$wUx{+yJ!yAhWP7 z`&(Ya|K#4Vb<_l%E_m^u{Jdy}@~7U3Fs$Gz`)j}MUu;Lpgl_R2aIa#pBfYCX^Ni#w z;PYR@Prv`TOSPpRO74rD8Zfi3sgvAw(PNZx+pfwm(x81aO)S#m`?-q#f7jRh|JGMi zOn|K6V);dKm0<;*K(Hk{AIVCS8(yfo3VwEb+v zQ?H2@+&c440%BM{rz<3gAS02A+;^KS8)ioWvV?~n=mZBn()7m_63j5EB}ENc9PoPg zqe&@N(?-PlZIWE-Yz-@RxW1hEr41z22XG;c6=%enq1&c&4~yWzLWAj1BwtC{SPz>0 zuq+{*zZo;if2y&M-h^W{#z-RYNK%h#}AA;3>* z5Uobc^NkcMly=(2@m73&TW-BoD`cVNgSPo5kw@?tE@;UZJ+EVHkoD6n7X?f-H>O^p zB?SSjj~g~g12n~pIXg+RF&L41*UVSDKl3lsGbF)u4~e$7e+YtKC!GOt{A(_uT}q`D zvWeCj6jOf60F1J-$KfBD5x@fyV27JkNdsmcW%74{PG|Z>#)m;l?NbMz1Z@EOIc-Y} zGOHi5SJ(SXY9v;Fto2~r^P4xS{`1Ta{3{|}g+b8!>!n7_VtEpdaN7({NzX`)b4cne z$lqVyppQYyu~tFi;jPzI%ScHmP}V^$V3#YGZ6LS7QUdPWc%*5mwb(pT0Qrma`(pW- z%lj$Fl{A)z)zN{}?5J&Y3Xt6@MFd%d*spt>ma(fLSFo3}eQxKlq9#{n-p^fiQmnx^ z?O%5cqtn=u?IdSo;fL90&_B(U>KJcc1R7!rIFv+tEj%`C60gZ3EdmWRaM!CXVHphL zy+qmM2cAvRKJ9ncqSK)%0aZ%6V)XuEOGgBsN&G+2_W~`-Jk%Y-vfy=!*FbN4976{i z!n;iHIM$fU?gsD@p~{OlnrPcf)EPNb{!Aq%&-x;8vfH2!qM-b;-t8ek8Yg9>D7thx zx0FYP$FF4ViTnP#mYT6BFd_CW{RLOP=BH1>YXcVnu!MsOY|~7w1GuRymAVX{2qivD zqP%bW93>NR{#NmJ9C*Vf-HGFN(f6_BSPf7}1Z}{qIzV+AK$7m97qZkhz8ZjZdHml~JG`l)mU-fH)ud=t ztLw@<0GjCS@m3=Rw3TWO7X)Qs3092Ja5z*iPav!Eo)CT*KdbA+NU-**? zw9g`)n*!;)cx!{qQ}fN6K>Wt& z5uB?Nx$VbD{Ivrvz4Q|YjbEI(|2fE3LuE%&Jyj@HLM8DQ&_VY;#Fs$*d`vfe+(HD0 zN|Bx!K&sNOCAwWrZr*fYb`rz(STvd`$WDanGbH~58;W;NIj)uGQLi$gm=fuR&fN&ztD zyI(jr@=!0`KMCV0^jE6{T;5|8UC=WK6!gbUaitdI+QjMxExb|w5lhL7i?;kU5+E!T zLkoT#=_L^~jbybI>LOqqOhqQ2l}d>}7xt~KgmE+jefxQ+DxqF1b zn}z*`F;e&*Un~>L7DWk&uAxs476)*&$kF8qj7`@P1ug6s;UiEb%Bv|k8mL8$JkviM zUP?69!^rb>Kp>NE_SLG2GCmY!J^_@k$M|~ zD{d9`+TB|8E*$-Qs4$ck!U@h}axK=-)u0tZaTP4?cJ?~fsMylssF4`M?JO1Kmbb}V&(4rv_J^C_6+%$2)1EbB z$nFzmlQORr7gySKFE^)vC6a{K&7lw#GA^lb7xXj{U~L_))qJ_+1DGiCKQm0u#3kJ7 zhdK&dEwVN$jO{R67Cs**Dr}<{75TjOxdM<7P9OV z{cdora^6xfhwtw9>hT%iEWma6xyp@{OBI_7q0TUkHjDvz;r6EE`9U^?wjJ1cm>`Hb zp;Tq{Whi9&$k!H+58z40F<|smb9$K>@pbf39z$;)kNR6GLzceE1Q|!qeATqS7G>yE znA-6!pC+}!x1$wp&VK5d`w^H)+TGjARsU-klGbOgJBS2=lQ>Om=^Mf&JHM;GMwgFd z=LB<#4Y3%ma@5{gV&)tA8FeUrx|T-Hb^*p1Ms)t|+b*w$+|e z)*Y2qg%=N9_$-1noJco+iC(-&>0ZeCsQ{vzI~7SWYYoFC>X3d! zc~ZZP0E4>Aj*YYT$l$$b*#Or907s+zuCA?JN?rJeNXL(Z!v=!1rtB8>J6~lgQ^CvU zLp+xVMegC+T>uHamHL(QYLQ)EIH>AE9ePz45A7dYDwCj)9!_XYe}B}?pF?197G?S* zMt(h14af}7_!evmhEZV}-NGHWzaV3k9U2&(@;=9LqL4J*ncogb-~^SSxt}@`+W7?? z$JRXRD)eg|JGu`8vy5=!^a@S0GB%>ELBEr_@NcwV+ygxJ_ji%Q7XmP#s%$)4*KLyv zMw&(HT5F*iV{y+rpoP~QO7=)V%72+el-GEv!OcrWC8=(Eh;6iMXv$Pn%z!07aky}? z8X!98sI0y>*1vy@6ufnY`2HY8p4AVq_IN8viEfn?m#dtH@ABRd%PN z>f0l4iVFR50-Beh7QKfgwa@1J5BIlp3V%jqp-UbJ=|_mqZ4Z%E`+$jUZOY%>;w(W> z#(hoQD$IHHT`&>>&Ue+X>KruEymVeaCp_HK9+NIG+b015k0JJu<>T?_U%wm1^_OX8 z=&b;EF4}NhI$Zv{bKw?~#2heFIx#p2kuGxRg&dv=@lzYVT^L_EqiYsD-R6R^%k%My8L4$$i|6%K#!s~$AZ5`XTZ8f%StFe>DX}B8Ow$a$O-86O@ z+xA)QzxQ+YInTabxmg!0bB=G!@r~CG^CJRYy(XvAww&aPVwz-zS|x%TUaPw?236ia zHZ=e)a+t*J)IDE+>BRk?bx|=VJs3nd_N3*8ilF?Gb4-y{u1LC}CsT*ph3rQB*lvTtF7pXtw zCH*S3R0J$D$l21}H^WE~r~LAD7P+vJGlmJwq}2ql(l~7*40v?AxU7HeU_#Zl!CZ4| z3o!sAlv-E0|4m;hbxnUL6(3~ zcKo$$36m?Yn5W)(seiiJ)>tX)DUEyZFlA;Gb0_h`(xjpMrknsjObNd(-?*9I_F>{K z+=5b+g&{iTEJIXod7nsUtieT)@9)9vVM-kUTd7`IDOL-C-?cxokVq|}7&e?SGX4d^ z97T2?E6!trksr{^nh>e5>^M+6YkT>VLtEiKr@X(yOKsmG5%MlFH1WT5Gb~Uy2TDLr z@f%nvr@HRnXHnpA8}0{G6*}{9+n$^tIkJm1zO-=|AQ7I3zgK zfeqc3B6v#Vx!NEfA>A0rOTD_7a;rg}J3r45lm*QH%AyU&RGuN(i6@>_2D4M3SokqJ zHmCn+q=^NMpK^c)-&YY{qo>Ka0OAq5bN?8-P-o-O)36b9FZj{ao%n-$N}S?wCvJ`| zMZMF6GdD$!&8d@ze}C5tOLG^WKK$^US89K%$pFd!)@jI=i{07muWU9kh7Jd+e$&ST z!0Q+8p|Y&Kl@AcCCh(^(OeOfg3*cO;O^4|ESt+R$Yj02lylQur-|q4w`r>JCVSwxJ zaCXd#$bV%sT9;N)Il&Qi%s<&&sXSEFr+@P46lhOy_^(nf84n!f%r*r*3SuR1mNZ=as9 z=J&|vSKocAjZg^$Rv3@%Lm0$kevNkTqb~)L_KkKk2VbpAvK#*EaQ>gfwZDh+KT8=% zUi)i$q&{qbq5xzt4g49cBOi>H39xZyu>8s9!cnE1Dch_+-jO86Q_T3>>&p={1SvWb z4}JKx#<{tX9j^{R{&LocPw-zp2nhMT6(mp!lvQz~s6fq0|E-G`>9F8I6MJ1ITC1dW z9wFlZX$Y&O<*D~V(VGI^Q!@5dBw=V^p-B}$qXWPZob7&P<9hYni}dFQ#6SKiIz&GQ z!cIjXa;_swNS}u=7QCCIfnpcjfB2_a1aG@x_5`DU`KM5Iw?J4hcXl%L?wX@jDoo4` zV8v7U8?ft62L;Z$9Bc?CfwYcb*^fvz$e*N-5>tf}_2IT3*(WPmQg>Z=Es;cFaeyb|YEBm> z$Sho(+rG$6S1@<{^lXztJQ@io)86YA>WXr(f%m!G{%UQ4#FxSjta(-#=N7{`8^{5< zgwVBVt*sSZrP%$VDP-bL8T>iuQO2&Nda^c|x}KcCu_nuLsBx;jx3=8kE3<0>cqPy| z*SeS6B7Uj=q9m`oyS}L>EYeR43uR~`2hyBS@{L--!5FA}*R(RI#MuB2DUSl*z$ff^ z86aARd{4=eu%S-cEI)Qeh>ZHOg%H4FL>1C7D?opT8RN}A`ks`a>Sjs_r==R+wkW(N zp+k9WSptGPdrV9mK{{O)%#@u+R%UP?lbt_ir@pp7Te;pk#D~wINgvU$ppp*00=wN2 zltW`l*ihlf!8|rlhvNV%j%1fVt}AM&3^69+xMM6D8fdy*tLD^@Uw%s5%!~PYok&K` zC&!5nQT@WNb7jOi;m^SeARU*`iW8;%{vE#P5uxnXGh^>SZ}ePBKB#bXkvG+dA%4Ey z6q`vKrZmjpcazT^5&zk6;N_HVMUU>I5WmkxApOWYj_ga#2n@J{_IrBuk2kH7Op zlE_e?_9#=%Q83EAvYp>7Y{t>!>Aiuz#%q3@9uRl)(Yei23Rh&S;QLdOt!PWpw@qC1 zx1J$Ns1Vbil>-uFZ2W+{DbWDp3>7LIh3J+%XO{mPH3sF#d;hl6)e2CfN!K(^u1WxQ-Kj-Jf}JXdjF zkSJUNzfgYd9mk_@0=DDZ%OZk!V1v!}gaO}L7<3h2uku2}iXw}4`P1;Rj_;J3HAHka z`L{8`9=d#EEXXZzy&~9GD$|WJdtU8S*KBzCak)lWJe_E51PV6xP|` zVvOqHf*kMW2%(5TsA`C^TtqWfn#e48=cd+0CUpVcz;?`*V8dz2i%&!VuAH|n_I7p? zb)fa%Riitm2lYE5er19l6xcGth>z9gq>OI)&5r4hq^4XPxjUkshVGXd3l)dpK`<7X z*B^#}1J;f!7KNGvb{EJ3)N`Y+n%c<-irH5>0a=KLZo@WFl};e?J?Du;Eb?B@L=2rd zSdKiwV-M}wyU7Sv1_dxfCna`YWpLGZ;L*Q|PEW9cau@X9^BTPss6yrY2{1~a*sMel z_9(yxYE}d*?&PWV{H!-sSKy&l`v!tU1O z5&+k*rpy}Sxg<zqK}8X3P-c zVZbLEaMq=TwR%)~cfW(w4{(A>*V4M=J7dQK#q~Q-B+p;B3htHugbv5y&iT&`Md|!M zIw)CLIRC#A%D-_#4wf&8j*zr~WHmme0Tz_aTY3li5PkdH+$d>`KBypAR&{GD^3|gG z>ZjLMH(gXX7_3)UkB3L@%swz2eM^J|!3f)^o-qT>6*D>vZdYBaGDG1wF(ybH^51Cc zF5kzAJ2-=eLklPh-in!n##)A4-1yREKaMMRXt-lZLe;u!zGl{bo2V`aoH4Fp<2aI# z#&JkM1j}=mEv?M42YNDWO6u-0bQ0?>36G8qTR|eP7?AOSQRFML3X*lKJmlBBE`X-J z9}LtgmFx*_=)l=4(<)8IbbF{#D7DOWs2Xc1FXE5E&b+B@4@ar zXdvxM_uQHc6~#{xyRDZ2_#-#W=p*1gOxt6}1-!Bk>r4DeJV)+mcjzP@`|MAq;AM)1 zzVZ!md1W!;Tk8B`_wh~uF*QFBC3ua5;C)sqpM$Fce4x&(G%RpIm zh+ki}Pf&5|F}!SV&IxY5^eeF^U{n0up89zD`tcBo5eoqUL&PqF8J%CSx4M^D6v`*y zmoq@L-~-aEy_D+o2MiOG>%Zeotf?v;Kr8OQ8$++U`hbn0y6?5TbD@Tr53}iVmv}ex zr!3W|eds2-yBr>$?^U&={$Qj(7vf}y&^{9wPhUG%zj>g>Dv}d***cZH5xtkbe>wEK zY|81uq^qB_$uHbwL9@b@M#Ux9iBkE7;%k$;r=!zuy>d)u;>~>wGsnc6>kYWf?MZe# zH-wZ2QKoL_C`r7VOzze>&0Bg|yutnsfeP2BOn#q-gUu=XOD|XO)=C(AYtA-5x^O~g z?iL2uNZxz*sP*3CzFv;7Kv~{N+iRs}s3@x_@w(Eq8!>c&v9S82XNRNR@9BEu1|`Y3 zjwN2iXf=S?Ux>NNA`1#CAs;ZWvRy#hbw3Ow+r<{@@*A+)YJ4f*?cp_`RQEpl8*Wk| z>?G=-_;oXPa6S{|y-wTi#heSa=X3Y8f*iGase5wVzSB z6AuAPm|!lL!EK?>Tr;M;EB0ay(sz(KG17VOh7I4sTGb-aCua4`2H+OA7x*kNSCi;- z;@25&6b)giDLh{Vo7-ievZaz98cor_nnx^$Z4#nCIkl^^05;e}#Ua~Oo4e&8wUJFb zA2NxcZUi@`nD*O73hvW&&e~a5?Fm`SN7qT0YeROs;lwH~Nk$02GwpE?>W-i+W?ZI= zuq|4=`f}GfDcK=Q0WbkQSTnf7$O1&`ht{SYb3p5bTF?y1>^eg<3?vzxMU(@Qcto07#;;c~HtVfBP2xR++M+yn z*vXgg=oyBaZ)IOIMH4$kqt@PthJfiN>>t&Sd~*qL`tF7`ie7-bSnnDy==a3J&5^|2 z&A!Z!Q)DSAXh4m3C~=G^ATWy^Gjv>mhDnE@!UF8ZHEFL6UyJ&7Z~Yu2{#)lM-3Jm( z4M%SfV)kPkYj(nN6wMmat***}o`9+b)flQX5idPiSEVu?OP`+Eqp5{<8g8+%g><;E z^PMGxse<$oB1%01F`Wk(>jz~pb`+^2 zrdi}|d^%gFf+1Ci;Q~?vD7%_QZ*KQzn+k6Pk&WF5E9)%kklY1li<4`uYNAERBio|d zBfz?K9SIHwWQuW9u%5`+^ur@ zZ^FG)P;8Y9YyBLg{pv6JAAKiHTZqvI0IgpsfBs)D5c=CcFOcg$<0c39f11j4)*RNj zQG6e@tX@@dt+Y3pJM8^83K(_syk!iG{F`Cy* zkj6+oxm_%1c8@sve^;PN_AmayJ`t$jqADC={u%bSW5udI>>uNs7RdPiO%X0Qc-dgC zQEdK2&?IUo(nnrHKS~Iou*vT?CSzLtclL~&Zy5LapsYHp{T(@WbUNz(Crtd`=!pr@ zKQDgU@HrR+n zySdKnz58}Ron2V| z@RC`m-=K)o63@(gYmEr{P?~yiXVA-uExiUs5C+UodGCdwuHs1bmU4n_mkJ8p|5$u^ ztT;Rvbn^xqfTHb#qGExiMC#k&&MuvZbe%B%B!^2BqB(;Oe$T7rn|2K*Ri5={GXMpg zz$Bl`FHtpEZ>OJpzmoTO-zshI?>22Df-{3u>M%O#BI!|>aQ13P=S(pdW`!o{WN_KH z>jL?%?~7M|z(P8~Y)~v+I+k3a*_N9YQeCcHf-Q1+Mi+*Udd5&CcsR!8k31?m6HLs+ z@HBNGc$Lr5Vf<3vn~I^5kJPnq*y9Vh9(f((R2^_>vKu_vy*tGt+P0p>Ug+YpQ^-B~ z`XbP8gV3UOzd_lKI^6~19DzW!f!)Oh?3h6=3*qX@j<&rlqaPs>vA~1*%TEug52J@FueS_t-O)_&W~$LgzbQP;nN=j&Kg-WEm9icyH$Vpw)s-x?+?xm z|LV6B(x_Mxw?l@)=^tE3dxdFafUdE;iTmheVD}57nS>&9%gn z6Q4N>laxbxJ;91>mt~xRFCqyDn4@i2qbS6qU*BAi9N4N-Jl%nYP;{gxFHCb+nM`;P z3%CkCHUg`pgMz(VnLNSItY93&M18EVDM?SRJbfzb#5rw*6}Ipi!1fnl$&+QvK8FoN zfutXH>B@e~sefneA_c{5)H-UF6H{NxvF{9C@E%BHzE48Hxk*FpQowbqctt!2R1M;= z+EU+lylG$qYV6?x7gU0`DJOzvNyrP%uR0OY@W9Cj0p*9QRgj~H?O_DTq@!@Z?xA_4-=(Jd+K~ z%?-uWRgUnlK3TMRsuCA{Be>Yoa)NPgY%s9mC*a>YKpLxh;Dy(Q_v>HQy^Q%O%WreQ zXSshhu=&c~omWMHvIVV2C!+=jm2kDx^Ey72@^`vR`<#&L*ssazhg{yEVC#PuBhQCG zmFL@X)Qv=w4!WoEcr59t2&WtTv%W;TV?5|C_dbKRoYran;roQVllgAV5GL}Vh6ftH zR`;$fUlc*i_ai*MD+Ijs8JiAta`^u}`u}tCbN`(OFu+*2Q&BB}j-G;sif+7G z$?ugs=3wSYz%G&wx2w*ehCG5LIgY*{m0GA{3JI%-LPRDCI@4f5L(g2p7(3>1yEdIn z8}26sTe=r6;`ref5^_8YMR*v*P#C@4w9!fW4h%{ybYH1-E{Gzra@1|b?*tCJr~U4EzBs!2>tXssm3CI!B)|RKgwI6X7lOr zl4i|prlH5z*S$v^>ZK{Pud6((C(b3zYrKqqVKD2Bg1BV9G)-mWq@&Kn!}^2LFiqjC zjR4j3b6W}F0YwwqZR}S#Ru@{*Zh7Bv{qgHsh6LjtmY9-mg4cQ_ z8P3Wr{m{^7QGv(%@lyQvgds^j_Jl|n8Xf|lljKD(U?%lLTK#N`YztI`<}#xPUucWF z9H)AVaKD!~|EpHdGL8}h#P!u(<_|Y83c$ch+vYMQF}6HS=thWIH=`GMzX3Kt+1A%~Kro{=mg=k!_SLF?Gvk;F4jj8!3SiO> zD=(FV!)736;dair@ccXd;wAql6G>PQXfh?#zMm8JC<>bKWGrO8a+t9javWerA(5#o z{Ci@H7L%4HQ`J4&H(l@;WQEy+wBi-|y@(Kr!~NOV-xH1J`l?l#8XBBYTb8llO)cmj~$5wDPSgf`EC52q88wx6kFkafmWRzUC~`h$N%OxLXpaHd*}C zYcicw^-KMh({`V1 zEZg%pqxU(EPxVhjg=Rf<-HyC zdYSVSV@1spV)ePPDYyd+^sN-G4?zSXN7E3BLgTGp2C02x5NPtjNL4Gb*;T65Pgo!wfrA}IUAxfh3q@_Gn`92O2d>G%%^&*AcjH)>u_=;?G-l zp#$Q|ASkyx0&70OEFlD`YsN#t>n~sr8VZg0A~ODjNqbSuNs>hK#X14zEEKpwh9SW5 zFMK0uasH&|eE_($miAn>Z0s_ur`8YYr%Tc!x)ofS1Mho6Nda-Oe7kixtVD}lp-88t zG2i(iVd2E&5r2jy|MZ|RU8`jQ*0?D#u$ZkC-U)?~)+XWkp|G#R?fywRLfQ4%w3l@6 zV2$Bc$1geIKA+d-LZD+YYN~#G7-k(X%2O9lgNWMeup$l0b}m{+1~JNJfhLMQ^_Wa53JyLu{SXuIX}v&fWs5! zDa<6L6Zwyx&Y?k*AG3!4@Q^gFd=Rk-eh9iuamX4-fF&2$qw6G3U_a|mqER07LP=I% zZe}hN^L*6t|DNAn-zNb7RIC~;_<6nTLH~X!QtU9(f6zNxz(I(zR z$ZOZ0&@&HKx&_wcc~Ots(S+CIWE-}xLHHPr@vVBcz)`_`p}jqwa2NUsHiIe`llP4no;qPW{F8pe%&oiLa+&i9AF%1C z!dp}RIes@zj1M+m3vZQv@9UX;5S^3jIdTEM#W4uzj0tRu5u?aY_1@vMw{D?wt&3eQ zdB+mB^0MA$>1%o=TK%=cZLlK4qGj(L#OT(5uhG3d8R{T22(*M*?gmPqj^!8CE9alo-%l-j@iqHmr~Ohlr8rCo0HQl=w$1`{AKK~ybL+2a z_#?FnzFPvetXisWO?{ojR=;S(FxOtYMQVi? z;7Qkm3I!N-H|jfmG^6zl}jw%~AQu_iGm=$mV5Wd$~zL`v;&O3(mIx z^N$6w&j;}<1;+XxG0K2l1*1Z@6qn*Ti9Z9;89mM4$ufoL$x#&l|6c^u->4DKe|U|F z{UP*#bG`p-IRp1;t(snp-Aa(VsLqSo6)w^Kr{%o#`JstpMItP1gUL1~M*kUCckiov z-qL{@JN?&kb}V^AeODThtA1Z`IQwtQ*`4|STFxE#zBW1gK+9RBZAo;{;#(`Ve8V!} zb=|M$Q?ozX5|af~m>E~-3tkC!_1y+u==pFY`g2N zfG^f6cRP_sS5zG6uq#KHBL1iP-+fw)2wEf;;@2jelmS<6oSw9r0pmLJyYjJ~9sYJt zuNwzHnDJWev{4ck`@Y!Tuc?~sir@h7G3ApoN0r!aul-Z1^K+FczyEm7b3Ko`vSkOO zm|F(d^}L?!jxss>hYKqUOXdIZobUI`mt2N`n5w47&>!$rJWRmeNiaz}xV{Z#7$f~{ zJQ_of4t5g7W66~ElRaMg*M;BVukI3wPa4h|4+e%7T?`82c4tD%kDa8hR=v^#fz_F*}5#k=cMWQf#%`?<)5oPKEH%s=v+-V_#Js zjo_L{*}*Z>MC;Kl8du}`ksUZ>r>QZ3-6X^sS&Hq|#a9w;iwfgKiEdvNxAxla_>{Ag z2V~Yf=)?6tVov=u0qr83bi}AVXe0JUeqR_NhJ*H7*s3f8uwhD6XdClkC3UGxIvByb z9ffjey680JX;^DZ0|o;LGRI!B^d8 z`=5tvTC!sKdA|=~o6Yw<>1tD!CzaHSh6Jd%07{yE5=v$~(5nR5=h2Ks zixI#{{7gqJki>Xp>e7bass9O+FH+Q`gNF(yjxmX2Kpcj_TH2W7;bk`4ecDB}C-&EJ zMw%RZrsL@9Y^wq;)c&=cfeW>NE$4p=wS@_Bz=hhHU#kE&#kHEX(CmiYhp`pw*Q>nS zgWYSu^>*gN?~&aZmpGS_9pyIIA<9To4JF~6heUplz!Q@k{q}#Ds`scK@P2wk7GtqP z0WoiPNvN(cw%s%e? zhF#hd`AXMf+nAO-Ov!Fny>@us23UX6wr zyAXC

    X=lwYK`WG*`?OFu~DUdm~?q(1hFI=2JDS%jq@a=qab#9Xo!#!pQhjZ#o0J%~7t*gB*hF_AtOXfgImAGUG2EgWQ zHclBxsd9~rcV5Zfp`A7I51l?M_=QcQ4L;;@ebH$Kzk1llO8-SOqsxBqQe zPyw3`8nn&=CR4UlN}nH+5FH4q0-zebef2q6HC}Jpp``&nInbSg&{?R?!|W(7DvCH` zF_gmWg%ro%8@KKjt6l9#28}a=IL{8Bc5d!6WP`y_$(Kz+Frvs0X)AGm;K-Hk)m0&8 z-+>^>%auvR3uq}`-lsy3PJUZP?Nv55^2$9enXsjww1Uy(EdHtngj9KS18nGkkg6m} zj1-8nD&%fLAf##oz62T5T1h9?)=wXD4r?VF7OO1|Ci+z5zAjl#&j<%QUvmPBRs+0* z$jYNff3@Jpz=`tkR)LXB4P*VASDWi`S?4b??R99|%JlQV>=;)EYKB#O)0t5droxnh zAK%EhV{SHUXaDZgqT)^i#D`qHo_xDx7NQ<>XR@X-0QniTyF_i@%-L}J7FI{Y#sM6naJrV&`fqz)Xi;2e}xoH=CA3I=q>G zT<>({@wosfhoV%MDW-1h?-zoPI5VcDwj{5?|7%P3Z`L%j{Pp)CGsMExH90|~ULaAz zslZN}Gx#Ffl;r2$z=i$4Ev~MC>JH9EjShMI#KRlMWfS_op`x$YT^=t>#1DaSc=#pp zC3y6tCJ0XY+QG0v!w8xw`P2D&+>c|30OZxuYs3!6;B-u$?v<_GaI^ZW>epXxH7=G= z*(J_xw=+QnP#DKD5hB)1|IvKcz0@wkR189O zm@4nE-oAX?v&Ul({6wagdM!lAS3j0|5~CU}u5z&R*mQp}-&(7VKICLN!|Me`=6ItGgVFaQs9J|1q>*?k7{G?GhOqDAa_x#J!CHJ{xyYR@0BV~-B&J2LoDC7$ z73CE3%xV1Xv|WeMxz*f(cj(fwE}*t_79ZZr z4|`7>!@z(y_e0V?9GjWz0vRNueuw-bT{kN59En$yyFlXA4Yh9#2!fF*1c*>A!-vNO zRm9(5`HGQurV5@}WqD2*m*fLS32Q4iM!qB>Q zD|Fqy9N%ZlC~x(r0zMv8s+Hb%x9PN>;gO7TW`Y+u*G#I>X&;wVb{~kKuxJ}CfpbPy zpp81*GUpeJ2MWYeby*h40`$-85%wwMkOp~-Q8LeRA#Ur;AsrE{>U2WLd1buVjy6B5 zajSzrG^pJp`y<_seXCoR<0l=L=yQ?H9c#QX2+6KVuGRa8^_sIlg^|PyP11fS^@HtU zx>Wg17?2l1P^8^nW~9R#d#~6n@~CNe1A276XrwPY-K_T;z2B{P^KUL(z1e{%8bv8{eE9ruF zvyG|K`d+DVrG}wS(J(p6R?&0o?~g70!r-8?suh281f+VRo8P+r<_MIS&~iHM9ZUMD zUzBpS^k2I+zJExT4YHO7E3S5l=b4g7m_(UjCAxDx&+ro;m>-Yqi@>91cK!Be`P-6W z`nqw;h2}7+(F*~>$d>+v$UL1jNG7IH@|3EU7yXmIGeYSg$2C!RdkL8ha&11{s2cY3CT%#FF0 zNHUs%N|tb7jzA=iL_bxLT`|Dl3_#SE!pn(jGwFqr#=_3s`5MlUY(y{_Axmy<{ z?cNp2_-yRT@fy&a}#9F-BNE>DSmKrsgDc01N-Dy>O9d`oC z_v61C&tID&^t*=LgqYt+0K}=t(miN@TT*ORVWPq-w#FNCFglBj5@houtBi{5``Zn0 zuZlk}d^ZevlkW@+Iu?8%wpCKOJjol~<=#Fbi|LxSj60QV{~$KLvf65=h0E@q#i98h z9sNQX{>jTHB9Z+wx!P^Y9a>*SRGMJec@hmF5$psUP+K3+1k+AP5;hI2yv3jlzH_!M zcmk(Z*p_{Kg{n^uH5AxSZM8(;K?fs8s+D$VtF{?*i~kk2yVzTuerp?tI7p3GBVHKR zH13sm|M_xOz8<5%6y3#@k!Ue)*|(6GLrO)`b}_y-^=^J6MqR*4$ZqJ%6vkw7U`JIP@R zVk+6r*N}x$n1uTG&qx}n>%Rj((xUsT>fGJ*N8^~;{|h}jTbfvBy9;KO>gezv^r%<{ zlO_^ar3K8IYAG~O)!DfUtaA^J^ZuxpkH8aIpID`po-WwO z@L#Xxs24~w|mUk}rMh7?v@|DL$yodzsP=?e-^PR~OOppCr$?;Jtf@_%v!UO0bq z1d9L35rhMC1mqQuKONfJoBN|etjyJ3IPcMsye=yMC1ex`rcUD9VL#em{;UmT(9U#O zy(yzUCf&Clgle$Z$8V%t#ly!d>mipTSLv^U4YYx2`Zf|{E*zKj{9Y_UAfF=Mj29NrHDC@EA)LF1?`ksNBt2c&AOOGMgKJ z96#SffR!iBdrgEL+Ge+;CEP`$+gIt^VyfF?_Wg-kmRYo);yrikq_4o)_m((FmcT{# zXwN1A#ucGRIx2qB#QBS&AO4%SAmc=po=pC9>f_v%Uj)^p8Sz`9gGm^~Vw-6l(C z+RDCgF>98-;`(x_V|qes)eY^ znT052KmkEA_>1*!*0R(#r>>Qku4A}o|AfU?NfzV%@ZN%Gi}6)XZOH~}US@Lb>JRi; zY;1Z81u1KWsX5~yVe?v=S6dOo&jndO0m6|Ne%VN8ZKepC$xVby{HDS?xgcf_K*0QV zOc^bbRo8YH8gA)RU7@{@gQ+?0y99pe?e(xS;4s2A?`s&C3%V+)36UwCSb2UnSGhrr zAM$Qe*ikKx8mrC3((7+G?uQxWEGcw-VKP8ARZ@K3ONw2l zeWjHy)w40`JrCCon~jjpTo%<~CT4|KQDtNKPPZmIQN-%K{IDPD+DPLKaEF=N5Q$6D zk+uf^A{$xI?1!nA*-+nu`WRHkA|GThNINO*%}MDLiHl4+K4iejJR53?p%krR%`=y$ z)X6|Ed?Mj}6=Z!&Hb z4@tXpbm42ITFPkhqPLSJLZ^3aN?Npc$YPjx$zOtg+l|1*z zIbXYK&=k<`J`qZg5@Xl(J~Yc(G(Z@-lpxfj7SK7ot0>|@PA6)uWP z?of`qz4_yj=>dZ#@0J%ELYAbyc2OtZbk}^rzgn)$fzs$=r}Le+I@v#&lc=HzCm&4= z!(-if#&AUSj6Wa*07psg;y`zVoeE#mgH}&C;W^UyJ(C&LX^oZE*g71Oj_Xz{W?_H& zolv2Zut-?(03q8UlV64#4qkzy0{l*LK=Mi3Fw$s~=rnhr@7^M$udlBSfQt98$TVrn}36f_MJ@?=zhY4@!Yl*OOpb8b}0}?3kXejR&`=NZgYa#m_ znL-5Yp5WeF;yCsazco?rw~L@PC!mNygLwP$G1W*E2kV1wwqXB=>0kxe5p0s7Y~LBb z3noFZ5#$IAl$-hewykGiUZ1Y-C7l!ZM>5gDnF%#&0n{@n!p8)RGtBM;YGY~1SL1Rg zFw8<4{hUlNBaLUU3+GE=EAWqSca~CC_QWez&kZpM8VAUk-*HMx>_rt|Y1uCcgz1iv zvs5r?Qev==qjl6HC<}#Y{ML@9z?K*w$Pnw1Hh()9Cz^_C5 zSfjxJ0Kn_OsI5d|mp_g)3LFHSekT20IGl=$0kRufo;u6X|9e_qR(A{`~pY znzWp(ejb)ej#lm#f-(MLq*f&qo2BeOKRLGR!v%-&9JT!3@f*-3cl-Fvp`ZAAPxsEk zc#=in)50HhV;*Uu!;@SWNVuqSBkXM`{n#}BSr2ZWu@YqTZ)Cyk?lcpMb#VVcgU-UaC_H$ z4Msz6kCKpUEnYszUjx3Q{mXh#__OA0e-F+kC+W9s1! z$7Kdo`QWJ0bqUXG%KO`Ia}s~ke(8VHe(QJueLgNUV{N?cFsJlnPQ4%Nf#}1|-UjDK zV7Mr~HK(tDoE%s>ss?iht@~Wj{T-ov9~Z3g@s!+~^k@$`zUFQg^t=}U6SHSs^%UO{m~v82u1PK2ylXt_Yjts5v7D9$$NG_J3rlEkz8SJSApDWn8^)kJ<%fF!jAa@4gq%pbLR5 zaSM>wZY#iSrjdCmx@K*Igna@WS>-^i^K@hF;Sxx|=gpQeE)qpFxQ5E>L!oQt9Xjjs zDAEvh`Xd1t^shUQ8mFv%3HZTjXymtIeJqorkHvOpaBzzRRwPMz4WqS;a zQbv)!XO2Irx$NSHe&3PVFDZpH673fRkRS>2R7W~bp<-JA;2!6*)dc~3#|?>_fkaLw zah%R(UW4h91v~6}5R84isQkV4)5P{WNN@Q7qLjcURt26bo+2x|BbezwlK? zvl*t9Gc6>2*u$sRZeS(jLO`A!pCMdoe42+`Sl=gMnQ4>?c`sDL2RfQUPKkmkK(~O1 zo$_w(1v_VNaM>jQI)26t9a4{zBV)QX5nztJTQs7D&|>1Jclbeww+^PCD@z*-bow2E zXNQ>Er1dbjR773q9~mCV62&*=ANKsW4-W?ODk&!6FAK7yLaE{cAp{7f6m|0ZR{H2Z z_vXlxQDoJ67(JWN4RVOevG&7`kZE{cX05zt6Dv8e=oEK=W&J1~DT{iU^z!@q?uo<% zM(PbC(W_I3q3ooS9@|g2*-&baCXs>ujR!{4QfQfWZrhV}*KO0V#HRPT>#G`%NKf>4 z>Uj~6&-_vI+wG8+4Y?L+?YfT7CcT-@X*rg1mj1ygJ0|sk@7I_!9lv@Pg-6ce&qCAW zS6I7*r07=x*5Z8jR!3C}KQx-a1wr9Ynh;5aZEYxG_8*|8iRJ5Y)UpRiwK|+t-Z}N5 z>CUQ)skOVSavEhkd3pM5Uy#+gc}PLfu;>_MLVoO zcnq0J2U>Ts4b{(HBvz1!FDMG>sJ8#>xOpJVyB%cg}HvwjAOEa>7I*lzv zyQ3T6@>=(_Cp7J}run}4EtEjrFI%gL(SDtEi?iluNIw%P6l~!oy1PeD%4UWPy3)|F z8wEHcpU~)Yg~4h^Y{r?Tu1eyvX4Ia-QZ3;ik2CrR?s)q!rvGi%@J@==m^{N9Wo0a{3}LXjX! zV2~8{Q`})_N`4+O#c@W4LcW{ zIp!F-8sg1&Bi#|ZBz>;WR&bKosBs1a#^iE{p9;6;@2`Iy?YPpCzSoT7DUiO`j7tD( z#+$9U;|%WKa?H&$vCIMeIH&Sgg6ciufZx-<7KaXV*taktltqN3ZZ#6AF6QSE_N(+(_m7@8 zQnj_4%9&&=nF4ZVM)7rD@!{!VU(l8dXY8dbZP_$kbY;-mQenm(?=w_kN9umcWQDw* zx|HP4-pel6>vwW0$Svi$7I#JjIjf=}(weGc1=PxtJu@gf1opSL&&-POc;@z*SFiuT zgK1drY59ErS#<_R1)5&DEvG{r)jBvoj(eWPcr*vfND_dsP{FeuNho1uN&sqGE&2o5 z{#p$jDtxxNk8W#|LOX^Vn-F-u0#Ty$xpjeEx*7S{2j}@bWjpr@aF!C@hytrY7I732 zDh2l=>L?);rznvz=OT9t9}BFX#JnMd80tG`_IkqzLSzS>6-x@sN02qcg(4jN4kxeN z)buvaNdZ6|wzhIv^f!{cn6iayBMJ?DM z-;f=l3LbcJSw2H#1Wp&kI_OXRj^+_7K=ZB7rH>N{ogoCNBBy8{JS*Mm;pF)65oW8` zfa4>*e}ll&PJN6x3=DPdwGU{i+6kw@Y%fG8u_54NC^66wkr}2mPEOBPfMJhe0$+Ze zBGRcHVtc)!jQA9LXkF+hM5vl(z(QBo+WuViEQRe z9Dqcz&w{e_95I>q#c2?hK!N#U4FpGA>=!r!F?Xq69GtH6!|Z|?&$L7|7R9#o9^Jy) zXc53RcAF?}szpeoF>WST&K6_&M~8fIAe3frGNysDxBuvrg?yh&)t%pZAM<3r=GX6| z8nWfzub*Ia7@KZ_^Y33qJ-IRl)O8FF_Igt0;A~?O3r;l^WU8Mg#>sv%RCY#NZK*9!Omg@j(A=DdThrYi12i|AYn&YB*a`8* z7Dozn&rSKrR}w^`Y(EyT+rl0SaPA6!sD6&ug^-Rgs7bpvi_Td=X5K)t-(vL%m30EJ zo=QI3`Vp0HrVNvls(9=-5?lpbsdZ{8Ok#dS^5eLXvt^m4UMrYi!g-;OpUn2&Brj6I zyvcY%zg8J*_m8m>!~F>-2p5^u>Gtc4NJ==ty2^j*r^Xk&qPWMn)hb&M8_0;YTZrUds_Vu|6XJv(X>{ z&!dDC<{|002N+O6h{-7W0o$8{&rE?1yy=WG?*JbMp)!sZwzpppQgMQ2(8-HcRr-wk zrknM$+s$^oyh6WTjgCC>iQv=-C)f|SuGk3yT(6Y@75wL6V=n{h=_?wGI)rs?pAcyn zeGq#(AyE{yorYDXq=dmpA7wS5wXr@?N{~@rrs3=OH$5(AXoBZ&qtx8AT#^u?F%%ph z){Yu~D(Us1&P4pSFJU?q5Cp8&cWph@*U(P-+g?$eaecAA-^&q?HI&+HZ3O8weuKO9 zcxo&kX;F%g=d(ZZK!;r~{;Jb;+J(_Qarble>}8*(C#* z+33zorJK^hm+)oy}nE6EA%&Iw%NBr!v%RcN-f*4DuO1r@u$0hanhQxllT zyOPjgzv}eTCjIl*P3JTI_t#!{ER@0iS86k7O9U2hM-XsdD^JlDB0G1Ul}P|))G@=~ zNi}QwA8#bff3~Lo*_!@mYx3_DS|K!$G>;HwVsm6!@eQSE@-JYHg3XTcN@u#Sn znK`|Y8T>t7@xS(@r|GSMS+Xwgd(s<+_GpH=A^jw9B&+CtAe(88$uM-T|Jjo=HBsnZ z@y7X6H$5835~%zD*5V%Sz{@+JWp#fn7VF}A8M{YXHDsDK_}y=A5~;37k-iWTOdUaG>wNTix88g8;PO2%v+|`GG#H&*1Ih33>o;TSkK0bS2_<75#j?_I^}u z&u9MUpHt>@Ar$>QppYv;X!>MBwOi(ccdNu+GWAo-E)T}o@p+3ohv#2hSoRCqYbX`LUqI{^(*N@qCe z5Fs*H+N|QWzS+^UKMiVa(uZ|$ecUhOccff+sGCPFR(G=#9zL;-A9C#o5YAdG@7-l*-GZX`BUGqcI+o@lCS!UNpPrW^|LTHMNY?WFUtA%T) zzu{@TnAw9s4l5;E!9gJIJp+Cl$2D9>*cM_2fYgI}@~|^&#T@Rl>;AYV!QbHSj~X!3 zi)}Z?!PKaTZGB;ZYX=P``z9hMM`qTxKA+=6rVxT%ikUdta+x%9WoIDXt@p;qza6t= zG_gQ`z}Vz07RaTQ^4cag_S=V{Z-T0kKX$$ePjiwLE;@cMT;iDe6%MeX=_`EVWT?iC zN!_|14F)qpW2U(NX=`*IJ}Ez@ZF#F*dUang zH#z?k{VtYSL(8x*3Ag!VP0qbD|(1~OVf5UK- z7_JExh)ddnx6Q^n?if%i+-mQx}nC?VF|srI2HBBzoocbfnr?XDUhEZAvCkpwky zuU$Oa>4~Pc-h9>U;wvvQL9`-0^bZ=S<;-M^>m>n%7W^U9>GvbuQ+aX9+#C|2g<>r3 zyAAZXMszQ-mJ>F!1yc$HDLbNqur48A4p)`Hm`{^es z@x>%TJRg5h6_EhISYTy-uGI4ZX4oNWC}Q$$a7j0|Sbh-A;2A3sx9h%Eh) z{GfK3MzB0){uiiDH5@LZ)@yBsCU=GNJj!%3y-fsXlY`%yv)^~ijIRDGb*C6j7?gof zPwbo@Is6Zscep`DYmP_3qqs6(^d+@7!nc+(C3P`#5V`9Jbg^crT3PLCV~1=Qpbkdp zqxckfoN7%0PUpa7DH?>Zs{`Fp(Bzk6rcSHb{T5TLoN3L7j$@n@6de=L3ybq_Uy087 zH}?9og|WoEajUnvgWV1lFR!@>Z*7Z4s)Ts)KfBjepQ~#>tf6`oB61#a_qZJvtNnr~ zA)Qz&$4P;2cOCarcm92~Mb=$WL^%@UhD_Ivr>Xe_z|jF2*(X+)XRuioGxT3HHu)}= zkqX)OoD)fyN#1kl7?3$SF*LjVWHRF+8$;&QUc|#?CH#p!3Gv8j@G8qJeNwyCVyQM` zA&%Mj%GP0?UFrdlb`HWNr+98pRuI0yEN$H3m||2*iXN^ca~DEFYK*eMhdu;b_>nvXm$-a5usIP0!V z-rT0>@m8KW2d${0Jc25asRSBy)E^Ltzri9=M4G*b(MQXADuU!qGzCPC9xyPI=Q!v9 zV0Z!%!ac_tx~Cv}C?{P8H|e9biQ#DGgz4b{U{3*=x%AN{{fSfA;y7MtlSN4ph~Sb* zpvDi-2RAktVZ!-Rzh)&;|<8>kp5aT3z2<;K{BF3XiIYa zQ&rLG&eARHU+NHy3-X4m8tQclqJt>0Zpgeb>++P|cctv0H^5z~FLU)Q8eKC{<1XOb z0pr(i@J17j@AD&hyeg#r%^T;!HEYlsx1@Yio{}W$cG#6c*eZ*PRT+a6$O0VDmgga| zSN_tAd0srEg==O~B=yLgf^Ym}BCWzc5^+N0WDc;+mlm7%A*f{uG0Za1Lov-Uy?nMAgjB7wF>J2g}X$7`1?~xY37YagXHm)b&=^O6Lc&p1vO;3nmem?6O9t zbsD^1<_V_B=ZXEIm+<|)bi-suxAX=uK;`Sf;7VQ!#I=`uGLqFhnC`6Od?Dm+cHI4Chc*`*XoLp9H;6s{ z(2b6QWH$oyC62Ex&W&(Sra|p3>~Tvoh^dKoB#1$OJ2FL!jY2NFGt?qnN}9?vRz!IYJBd@^xd&H|W;v>gm6OJ$4piX5#lNdwza6 zru1$vP?-O?W&h)r{f}GrKW^FoxMlx;@0Qj0-`%ngqTZcwm?+KlBH9$G-z>R^eJcApT7oFxdWue|N3`;?6V7;}?D2->l@lAL5%= z)xC%i%NHhhj_jpgg)_T5D$KC4f%r%H$lsmQ^LW0m_(+dfxnoCQ&@0MfzgD-mYJ*x9 z5fsa^sKGSW(xhUlcA2dH8xuuTyod&+CHmqm8@Ff%98d?U0Rq-NxbD3z{X+`e@R)_#K?hH^$9;nt#zff|ia+#Mo0C(s|8M$3_(Ol?Hg;T?>fx|eZkDfe zc9z>ux?O9Ff9MYgf9e-*00?2cclxvXU+Ay@o&J3M4MR*~mfz`*HSg1sMm!U92SDKS z=iMzvn%3JHPqTD0g41Z_D|W)t)z5DJc)l(ZRONod3aj$MI-4pigB3hz@QE^{)_b~A zr^jR#Bq}h2>;#i-gD8c!0(Q?Q7eJ>h-x2`k_7>=r_4e9Dvq`}cH~0Toz9hN-CeckL z)=9}kcWC` z?BDdK!NCx5z+$xvJRto!%wO>m zUG)4#f3N?hzvI*MKlGPcp2r~ZDOE|+-5y||Li*?u{K?wIA(YJtke{8$#o8Vq0h}02 z>DH?HDWI0_fVXJivg$QFaptG~p}*VUKlEqgH}CRJe^vdv+DIhz=Xv zf79O_kp4C{cl)yq@WixHs}1>r{?H#b!#n*o^;_|}o$3MigQWMZWM?AyHOnqu$8nOC z-(jW1Q(BQ(sIeUmlOC&f-}Y-Iy$mGeuV}1^G#ohU>TXC{K%ypv0aYhDYITvlPca|xjM`Ry%>?>&+UZlV~#UoEx3%- z;IowD8V~-^+%Bn1`~|=|f8l(mKZbwNUwx`kERgb7W~loTSeeAYi-3 zyEBmZ%P8xI@W;C&my(nmZq#!}bG>vdqfs-H>4+3-YI)Bvc7Izs_;e z(mM+@EwvRoa?M%b#YiC6qRoYch?tvG%>l{?+)3WeFyP20+G=Qx7T=|sl(0wBCg`QH zh{uD%Iw(>|5K}sm_yU6Fzf#kDX160#JLgQ*SjWLkV#{f*uR@lVcgG^&%GZyUaBMN}d z0+LbxtdWdjo@??a(r}fxkvc=uke?@t%1B!xtrw~KW=Rx{-qoC`tJ8r(2l@6Nr!4p% zr|eai(ca!H8L66WiRE_~G1l*C%=nH={_;4^T%0(?E%&3BD5bt597%fjRS9E8{CACT z=&P?OkHmL z_Djzu@jyJ>&7##AM|~i5*H5~lbpH3dk!`WD_8o!3@8m?QAgg9fD57LqW*hh&r}o| zjY`c1Xm>_}hj@2t z)Yun_xlOER9CFgF*}-b6IDrmz#%$_g-yj&(Xmle%Xvvqqh=evDP>>f767Wj2$_rkG9g)1DCTG|01MPfCZXmYcQFDhNo5)p zu11Lg0LqO9OJf6PE~ZY}epI4E);=Y&NZS4o7?LRx(1Rt8$*f(^B7upk3(y&7y|0=w z6UP-SuruM*s8Z*ib+S+=<7XbRIR(#{D!J#$l+?h1xWdpD7Eg9PRzy^ph0Dql&`XhH z6rd}Jw>1kDJ<V z9yqgXd3#JZ1Reg)GruFM)${P{?&sslK=5x33;e;&xU1v4-6#bGEB`1rvCCWKa$l9*#fxX_>!;~S$@O?QEW$OnF9H3b(2j?{?yt}!OpcqBfA5Tp zU`fo5F47M^4f|?p)#d{pepa;u{9G@`Y+kK=AAMX`{eL|^J>Mdqj#(y_x_vMPo-VWy zi#A%VC@FDNv2tgqdr@l_-ZogC@YMDJ)_Ygb&|atcrd<2GZtcwuEZ!!kUzYO#ny*bS z?G=5txcjHyM+w19(fg0=jH2it=}#qRJV##BikkoY@{dPTQRz>mV6 z7ViYsy_%!`b7phlfiHo^Eg3xwofS5lOjWea(N$@oSn7*I6@B&mq&8VllZJ<7M(C3* zrH@(+?wOpu%du*^xBYS=~mT-&SX9KU;Kj91oPF})KqwgI;x-Ee9`KD ztv?8v+YRt`LMl@G;;B7&MU}~80Ai;Z@#_ZKLhc#|k|r z_mr*$jMi1+MddFXqhD2&c1thH3x+@6tQOF_MaCh+LpR%NdYdKCGJfp*P?58MVyK1% z)u||Ca47P@P!|iXlMobHa`JNl^DI>8f{5^rpJ(}c?)4W->V<%F^>Y8o< zTL*S8{5Et!_3q+=o)sUX)0q(P8-C`*-Q#awO%{$nSA@WvC~nSVXKC917DNwB1^WN` ze%$mK@Q>b)Q@aEH(fe_YT);niKTebm_($)@ZB+sP=>2%{5a1uZA8%*^{G<2dN&0|) z^nM(M8SszZkC%}G{?UopNTu!n^ZRi>L8}EngGdmCdNl&+>yHnq-k<;W;s5Id4HQ^A z`G4b!So>K7dG3_{BLK`EmAWYh=2WYa;)0WV1JG9}HJ-%aO*qCFWhc0T7LLI~AUNdx zAX1ziA#pK7op_G;`?5#!?tZd)`J)rAwh5-@*M0h3BUp6)c^wq+ulwvz<~RA`?}M>8 zDiG!@z`kjnOX*`z-}WmTLyWrpAJ~9hDrZxFqX2B`+9{R zTbA*NUIn=%MpRwoiTdt~IQTlU+Sk*R`^Oh?O6}V>HOW7Is6OPDPRN-Lkqy_kFaJ#; zukX}D*v6zIj-9!P-c`WK1z?O>xWYmS1B1!1U=^l=%!!@1-edFbi#YamzpTF$bK#+# z2VNRKrYidJihka|44dU>BVx( zw7t9=_Xw5OBVimxy@ID<@6J}!TF46?onIqg5P(BVDj!&2O$+}5=n(p@o^ks9-4;RO z$-~L4Ga7A@#@IZP5$ix;He!XBe#wavJP6m?nD$X(htbR_hBpJ&8e-Z*Hw)ciI1;6} zg>*iH(Im+`jd3C%V>18sdfE)JoL*Y=oHZ64jy4!_^@7grm1+5^+754GftX>ULl09p zqc5IFr!@Em-pCMe23a}Oqr78Q@GXrCju?X~QNaG$8edlQ7q(pvW0|i0YpP5Y&Ra9_ z-16JFx0I+C+;6p-?4>5%x;Lc31Sh=to$=&4zh*-9Wz9+Tg!Nw=)Kr%EkAty#!>Fq{ z;>mC|YxqV=9BuhgHvJIpJ`JCa+FY$(1@sARmNNsww&=D2&t0Cp0mO)5=Dbs_!gOUX z!{%hdHOAk+vm1wj>??onW%6ek)!oMl>VT~ToK~09GJE?8Jb&ID0M5l~bN=Ou0NeM@ zDp?J8bH(#@p1>~m8&%+u6ZZLQE{6KoT#V1_^pWkaxmeD`pSc*B-Sb^MJ3u=Xd@|$? zZ9sNnpE=%c>I16* zdlQYOJ9avBLrZJiHA^N&sTq*Yvoz3k?g%r0T**15AY!W-dq{n!Ozu|-?9I-cJA~+F z@8F2+JmJei3XF=4sa!sda6aUF?q3!uKFS&)CtM07n~$mwFY=17Syo>$qz)Q&54%nb zFum3J24~s_Bm@rA&qGq+J_M?XX+L8GyX<%{YOAZS^mW&xO| z5XG8-^X4>kQ?8EK7}RCDQysXG#pJ)NWwSG&y=|xR4c;y!`>w+r2`($D;GFAHXq86{ zsn9LRe-Pd1pxLgCe{j|*0WHiT0aJE9Ct=X z%|rj5*oGpmzvf8`GhIwJ_-q0N>O{H*?zsxGi`vRW_+ygh&Iv4sVAKZ*bfNmQqekfF zC-O$tXH>fLbASZsZ}bSvX0UX|yKjkT$JzTH$R>*d4OQ5ypL+S=Dos91VRk1}8LNz7 zFnS+V@^HIS=_OsrR^1IxqQWjxie7n(HdOA;vXQFcmssw?h_UZrkqLGDd}J^V!6he) zng8lJZGl1^ixC>@K$n%Yqr23~6 zdzaGN$N=!p4z1AM?!>A98I9qNxNr`jW6+n-*a{nLCvo9pFEb3iTrtbRPqReBcYtz6 zE`sHLtFbNw8ETZoHHi_NpfI9Y#%8?lgz!sDd+QBm8$H=try0LE*NCRSZ0=830!ug9 zZSd-R1}dWG1w}K2e;ixNLoZJB7tx%ayB=eW+b7(+{onZWRhfS$`<%%GH0a zbO3qR1u2xCXU(atBwBts#o6#MS|mFdyNb1jY;LMF7hG?GY7?^r%%ETi=u83eScS%O+ML&naN$I7>TyE&Wu{N8+yL2dkrY1$AD1Q76p-unpHW;oPw6M%-n zX3(D7iLu4?bq)RBT?aGA6IBa+ck4PQJ&{bkkGtaTPRv(5{FAfQ#gj~nZNDmKdmr!0 zCkOhmubE%0fO%mdKV-g>La>q;{U}3u!GVL-v(f_}ss8jEFG95|p|qE`V`9R%)pNJc zU|#a2$x|E2-@qc6{%7hccYYyfj}CzF=IZS%Z#>;u@Uq>JR4Wr>L)z$P*01Ar%v-`# zU+%IFS&(1`dns->9@luwMVJJxu!PiuHNdCO`0n>*b6PHJbBQ$MA9t3H5NTc(6e)YI zvjzbnSjkZfK1Vum`RbCd2CJtQuh`90kAkmAYLfdMTS%`mr0E~`Y%)?mrN{#&fW2db z$DFKvVU%FDdsn)hz}_)E*Q>j*h za((&XF0FDcVkssqR*Zy`sU2XCdET-QO?(9^Dr%6MyirLlOqT{<%=u^`x|Nvm8H0o~ zf}M+w&NMJ0N!K2}}K#v!pX93!qh@Pf07ra@}Ak-p(tNqqi)k;N8%1M8t zm|!k_pQB)MZ>EHt{4jXAx_O3Zb77`>#`ylM!_~!OjmK|Ozzg8#=LMMK@c|G#<6{J! zl55zDz>g%0aU~~|4;kb=E4#B^_}}51|Dd~g%6rcX(*`=W>U=9g6lm-uQfkA!E2-g& zKUC7HV!(t(=wm7iYgiFxe&=Xo^TZa^Sk{bBeX?ZG#mY{lI~N5f zvcs%lq+!&VG)EAS3c#)ro3jTMc8e2bFRY+0)x?J%A%d`$(R|vbN{A)Bxzhb4?KP?d z41wJRiN;9FK9SJFT$TG10_*z;u}Szr3>X5-QK_+r(DG)OZ;X7zdydc6Kc3zwb6GE%__~w!S?Mr;!$2ClTiZ^3~dONGgSe(!yAs0 zWWxlLv>y=G_rM-I)L}cVI)^bzqOl0-HkfLMGMsys8-&KMBacdrKv$hL-V?sc3z?v|rj-htMckp#km>e9(xyOT!iW9&2o$VCc`k<3_atZQm(QiWy5Hh2E%bBjD|I9p>*pZs`| z_PW{QqsOsIwaApHmL9ZiZjS*pU$dJ71$`GjC(e&ZrJ7oroodK2WkDRxEMtd2Cekrm zWoMJ!S!v$~lc(5_ksb`R!ML^0U%-xczIiFxBcC|2boP{ZT0{cdCVw!dMId6+I<|Rf z2a`FPq8-VZ7ob1eGkaWkn}c&Vr%*K=0HiwHHUI9xPw$ro#QTKVYnMmfx1f3(hD_`v!{~(09`2~J&-@Et%yJF$@{BK0_i!|-T z*kmHmzT?fGHR~v`=ehF}8|mb!D{1Gp6+5KHx(xx@ zaa+&tTD47TXx)kh78yIWBXGNXey9-~IqejlPdLo%7sN`WXycwg_!v(zgtB74^EhCN z#twcBe(syG|Vcx(^}Ft#vQ~LLa2>T2TM`mprhlq4iAQVQxm^6a5(sxyL2u% zSSQVk{Bvc(w)(V{BB+Z+$(o2+G1Q$pc-y(P;;n zrM`t*ZLnisl_B~@UYIej+rv(JIgSE?Fu+Rf@Fu+kWwFKC)2acXH~UWZ(#_6zuIb0r zSwfMTDX$)iEKiR*p9HdpulQxIP1H6Hl{0$q1-=0t6w5G%_xz}-m{So9%S?&RQFp#3 z&(<-(IwD?^97akYC5F<~1%4udo069bjkv&3#Z^I^_AJiYuexAHii|+VG6m3%%0F80 zbyd|Tol<+UY*Lq(;XlsD>xneZ!b*jeHfDhcmD@DrM|FV*o%A$+vTJj-du7o7X|pWa zZ+fx!OS6aVE6h9$ea4YRu|`4gwo9bh4498AUXb}0ah3WDZ)&I_jkugj1Ly7fwG$e6 z1mt?l-<4i3DPlw9D|zK5tYQFt;;tT`_hLq{B-`OEIwR%DTIEw=a#MC-i-PRVs=Q$| zIaoUAcB@p^OO7^7`4;{HcH0Jv^$v)gp}*YNz4#bhVJ|OC5-I%gCM$lqw?U!d)3>Jz z0;FAIN?Pm9Vl_iCZC)M23jOLT(+HPO=?qslmz+`l>lGi&?KCk*vIv1W~<~x{4dXv}mwVc>2Bd<%ONg%^M%>PVG~{w4GrnQOniNmHT}df03z#+G+f= zbEiawZC4{tJ-4b!D_@@oFk|de0NX>!gq{Fx^wAFOdZ{{vl`0-+n-5eEK_IH`oy3BS zwZ6e^`t)OpflWg_R#A5bNd{UKvjc#2Fv8Y^Ok>8Q`(+H^?VaJV4h@4AvAYHmjs7_< z$6Bt&_JbEYN8tlG0w-vmJgvS_ZA|+&nHZ%gk|{%LWDgKQj zyZO!;b0(#555fnSC+fQStvD-(T{pkAKPE`}v&iMT;=tJ|`6>S=(LQ|hxR3s)Q9Qbc zu+fXt2|oR(X@d#exZ`EVUs{|o$7e1MN3yiJOcdA#0T36O+r>cN#P5ygq4n?iFAEYv z$ejbS${qEo0TQT=a;{13gVHbD4#nyWElw&o7St z;a#2NzmsdnAs|)i%x4csBg!*Qe(f%f@xeJ1o1`&(aAcdz`st58ZB>r>lf8(M@0ht- zJv2WM7SM_Ztr899TcjQ2$KrX_$PO>ObmxE?;p9{QhT;N-i!_^OlFCYSf5JWq@3}zl z^o8BIpx6ov>QuCW&l;=TtGFN})N8xg3z#tG0777mbqv-3bj>#>SYdGvGbF}%70f?j zz&$nNma3(P+2>3c`my_9SCW2`Fo>?E{Kyxj4;V*JsOB^g-{hE}1p6{3bxmy|?$4nX zT0bG>OWfE5fwC)o(-5W?Vs+98-S|Xa-}HP*JHP=R`5W8>a*cJo@K6digv#9u$cFs& zRamP7+qofX1B@!6vwU0x`BIn<_#_q2oS5Q^Iz3F4YYPSnQWc!IDql`nvsvH#4np7{ z0AFFs68*ytT)9-N}wt;6l`6W!z+O!1Lqj3uH*m|8%>|$z^X{SpT#(Rn~Ewvg%y)DRE}u zRv_eNkDe*6uf01@-F5-mV9mwVm2)P|UA?ktPIGMAVQDImJ2JJZKl{07ogNWghj0wk z<9Gb*r{DL*{VeA^DAFQa1c<1>FfmjM817A8oNt*QK~x2c|26}fi{q~#P}X#1FL0W4 zhkY=3z@02XfrYo<^4#svQyA7tLn$tE0Rz}rnrdNOs*cOL(F$N&xy0^k8UbG<2-76C zD!FZ#gAVF6>gJ^E^(L&OR|tC$F}~YFLHaGvn34Kar%Z1c1FjGR;{snok{eDu&8phIlg!`7HWwD8d#C zUZ`>+>{q{5RQ1Tzb@SgH%Lwoo&|rHUkcN#;6Q87yRuO{KRt&BMQ?N?LLs1+#N1w*H7QuizxG&e?~sP$$ANfD20Fk+Ec$c!NCC zBm2hx3$(u=D}2W<3CRLcwSAr6gCH1I2>zJ97n2xPH`Wnc2^=LIo^+b7rb!!9uJl83 z^P^Xemk~6ka;-sz#diAS8Gshy+e}hbMMmj3sTAL5I1#S&PN}HbRgdpn0~4mwF}u~+ z%)Cp{@ELF?Cvc;^@{`(hL~#N&{B;9W+$?Hh8_Y#s=GE86xSy8P^*gN zg;Kp6oqFhFp)OIl6>(7H{Bt2&lgpvRvSSZ~)nH8Uh*R(JQnazAv)3tRRS;6L^#{_N zI9hX~%GlOLnW;ixwn@D$HBSLgzrGc9XM=*1zVPY!vj!jrdx#;6Q!aYM&lvR(F&WJc zbf2{uJB3Oz?7oiCc^4qh1gs~!pRU)_r2U{-|IyaU5S;-FGb}k!K&Ww=@IZT&H!JrP z+y@am_l`Cd4$Ij*g87LvfOR0DO>`B5ZFJi$jWZ9^Al*(Riz;mdhcmbrUVyt)Od0b; znL$ynJ{*yGFOOmhY~*lxz-|v>-Y9p=vd~l6LNdQ~y0>{NSpe|WX?cMVjU(<7XTcfs z5MW-aP?w9K~!s*PN6%o{h>zm zldJyGto$HsZXZk6MonLBsN>?om*Z z9)|19GcTkCf!D{Pk0zT$3+yl^68%7(+6DevQmU-dMzaDCt2j&7)Uh{FlbV?`RmSbQ z$5*CvhMua5RA-4~=@6C)sU?Z-Mywuev~iPfqnZ8@S2F=@cuKwyK@L6#T{bHi!>T#a zQ88~LQgr4`$;s$XmS|Ka(%F*j>~FcwW@1RWt?FIuR_kPL0!^)%=%Mvsi6kHrGcx?Ab+I>_(w_nE~JM&{K0E-bo!-<8(u z{;XZeslG%T7~Ab$Gz=Edig4Vm=gPON_cWWH{1pd4G61cW#O>L!jZGgX*Zy>t^dfcL zrf67`2$kQb75H0-J{wY#po2CI9@NTub%&?ckZ)3_&wOEc$=7YKd5N1cXFGBcPds4o zPC{3uZPh3%K3SVrAZV+zxe3eXq%SJY@zX@pBN6oaE4(n64mTR9P$a&@6!V5s*ZnsJ ztO#|YJ-zQnZ;*i*`^SIB6g%841ho92ujar&{kR>wm97UwH&Pi z5p}ab!PiKY?07Iwv}(!Q5yM{Z-(j3L$&?B;!QGo>B>Kxx{2{@o@Dyt|tglClA1LMp zcbEh{Q(j%V?;j}sCEEP4|5LOt$$hwCz@BkC z4Ejg3LtgcMs0+?m-u44U`;=y&@LjZ(a>Rw-j?}qfD)Xgk6v@Sx^s9Y9*T`h9a^{d>st>Rg7 z8w=!>No8k~VCh$1t6s>nAMU=Tr>Uzj$QWh-WEgd7{f|YFkb$BtWBYH>t^kU*DNwX4 z-bI@ODB9~#dv1b&PWHunH5JGQ_+Fv>t`wI1LqSYNb(DivgmsP!=RWe7r*6enZhAu^ zNsd>J{fYE3L48}Qa@*U%I=x|~PF%6@)+QThp?a%^+=wdZAj<9akH}-44!;Rif8sBT z2)&-AW&>+^f2I=O_6K=iWU#HLn+NNpl9v*O*OS5#lw{Py)Ov!mL9fz;p|%Ek5K&eq8XF3kKJ;f zbBnXqiE7${o~zylj~r6buJ}^&AM`zLw<;mJ7>MqC*?q<`0>!9UxHZ!=XlpMZG&Mc* zvHJU4gtlmOjQr~JumUb9zW!FNV`PVFQ$e;*3IO&t?8Z6W`WAO{P4LYuviMQ1_4kWO zQ42$aBT|J+dZxe}^NEN2axePn180rhk^58EFzi^VFynhn00tlZX}#1_GTTMcM@m5u zsVsLKCJSv9H~LM7Q*I{&N)QgSh6jxRayx-uL?J{WJzOyjPOW`$bUE`6#S0^DSw2R| zVHKQAfT?RoI=0U+;H?WSl~qyn`cT&8*uqB#tcTXOEZaygj9T9Gk;;CrU=m|K-k=LY zn|cE)?bbauw?m2HsbdUUm{eg=5%>}qj&ANObwjgl6}H%lNoeC~cika5BZFXm{ZkcC znIi5V5VOB!XE)AAnhcDKL&XRCc$((0ap8CUMw3$)?-atQ|WllOO4b6SW4NMJq7%N z0A@e8OI+-&7!}Qw)ZXXTQ<;&ygIg-X*Y|US0k5q{j3it5I58V>aB=lbba6ZrMC!R%yea`!kP~jXimJyfzP^mXnr9Ovo z#<#<`M_}{}(|~FC+T*1t%!_TFzr>wY?H&h*t5*#PAz#DUN?Qwl%-62dhWuRoyN2?5 zcs+iy807X4lxo`DzxFegM-sQG?(c63M}4j!qb3p^1Wy6U>rUBE;4|3UiT&yf022@N zTpFFO`)1AJSe+K-$R{iRcpV157f`hdRh||~(M$TU!Vim1s(B;AE$5Kj#QQA@uY-%+ zyk~g~V^x!9ZOaGRZBA^nK`TCv&H{NO`%>C);1*=FMID<`6~@L~Yo`#YVl_Lb+E`Iw z4Jqd1P25fNxEP*ireDBIRoaR30WIt@6M~?hVNzeOWUA%g_o+Vgw4(Q)7;GpU0=3;6 zX(?HtxTJuY%4UgN#_HUfv327frI{Ov>bMXv)>rmljOPRj{Y1OWW+GOTMMb+2rDNb_t>xTnK#RP6mr)%s$okQ)hAoGw%CvCwzAL$bRvwD5u!c zVfdrW>~;NZJGMu)PaD7YZpWo!Zo7wiq^wMzava;RQjGr4ApZ_E{g}D@`iw_l9;Vu$D`M7X?4AR(tVcZ z+n&rCrooQJc7eZj=$V3^k=PSc)nC$P7j(W3nd&;qRC|2m^l|#>y8JHQQBe5r;ti*_ z&`z3}zR>dJpu*5n;n=65>bD4Q?_1>L0f5NvJ{|(L;=5EFh%CbfyGfiy;muKFGhu}K zq0V=+H^>CmBbdL{ZjSVw1Ypo7D@Qu$>c6G?J>;`O`@@#D8)RD{p@va^nooZ~8w`Q2 zLI|&h&A5HA@o)cdY??F%J`WRQ@hl*3m%MBDl`^~h40_g!k65Ie;zKlWjGq52Icva{ zsbzwxDh^o3)3f|X&yA>MTh_fWr#ulYRuEgN824@uum7sw2f zGu)^CV<_JGxQnpogvg)Q1(7{4giWGjmphm|W!22f`{o>6USj0|YH@do+|X}%G6elQ zR6gbSdND9YCKmQxxUHytIVLClG8A8ifxYW`TL{emR_tUV3Ep2U2M;+1>}Yh|PfZ`9Dov4LBW3u^zt9clEP zbzo?>b&xHmaW%qPIP2sJoB}o8NZQI)919LX+aPytoJJbpDNm*f1V93JqfLz)?fyX) zRR(gpD{cDIqA$M#Y;ofUSx&o&^h4!EuT(wp&e(mGk30r8zym3?ciKMoHeCb_X#GRm z94KnHt$Wu8{GNn;=9Q-h?kIB|KA8W5t#{zAG+w$mW81c!blkCRt7F?fv2EM7osR8} zla6g`()Yfz)~q%6Go15(s&>_`-&XroEhkPYL0Xq5%oU^M57R&M4Qm12NLNO@2vbg> zi+KXDI)k>%BF?UzBE1N&bM^?^Jvp?v4Rv;safm>9=%=dS*kfR%xF#ShoI7>k4HIPF z&QTNADPIl?p=m{fc@SX~U?tGj$zuEs6XTBTal4JvggOw(5EhiKXElU0|K%eaddHHP zBmV8^mzjnbjLmoT)LMEuu|P`pp!!zZ3k86(*(YWf2lfA|Z87BFFnkDci;wp+gDzNk zhMHT8_^oY`rF>ZxmKtwixwL|EmXn-@~4RaLd=G3 zn?RRWqqdMow7^WXG;z0@qVA0rR5OQr4&1Oafe|w*j52qO9B+=BWD8~%ODfY1O%(HH zEAXE9G^rLI@v$u+z36H(I0JPDvHNSMucRK}E)VG&-LfAwFQJK0v;}UUm4AOL_+y8o zP|#*(BYq$oC@vLG0EZvR4Aaa2s)^0iIQ=>&oq0wl9l_d1#p*8(lm2Q)P{A`2X_=VY zkDaD^YyB-5&LhTPq$nd^8@0T3IG$IS5l^caeCOmGX2uEAALxXI;G#tIZT0*?EP!eX zLMPN9%Yh14+Ax(FUP63678FM}i;bSO1E?W}aOER&Zw_FGaYynhUsebJ`Gk3D>QH)U@jAr_ zr**wx+zeR0lYEWN9_QrlTsogU43LqiclWtDJwrci6-+-^cw3*e?tk=+GHsfRV8@x` z{;6rC_TY!u7o-&(xI3$l_`8X-jUQ$s)!YFIme7ui=*U^|gS!cg4=)FQ?3N|<2_rlO z)s{j_pG$Ex;8Fz8(sghl3h-_}&U5OOD7qfhz z*)sn_K_?7fGFi}%b32j%;z&H!`nVpvydzmT{ely{G0GfZ`voZ%9183VaM>Xni)(kN zY1vVkny5I9!Z+O1dq%VVt9%+SUwxz;1&n+@d!N~UMsLx2psc+%LD0U)!Ubb`ZBQ+hea8UM`;5`-r3~sXdLYD!3a0zY;|IMLh58yAqd- z`3-TF$)Bd1KSEA3S#AXbmdI)obAoLd!N03=x_Ko7I@W|p+(nSorzZxF6A|3V-^Sai z#Bz+`s?`(M3i-n4}9ljN;QQ}$$K%XtFWD@ z60i~x_QFsDRcp@RsX5>WnMSPsU$r!KR~QTxl!%!vHNNaS!s`E%NzIFH8d0%i=TgJ5 zAicnz-G0wNEZ>bF{4c#Q(QrZM>rHz#4FV*oNR2p=2TZ%g*rGSNY5P))l{?n_zCTeX?*x5c*3W7*r4>Lc=y*V6v;H!ZiEqHf`Vz`v(w(7IL^b( z!B0GlR*DXq3f~w`VB2e3v~2cIYRJx6VzUGZ7}&t>tf)H&9s+dy1=(-)2<^)DmYF5K z5=m)?AsUx~RYE%DPX((7@};98N(BQE0I<(52#9_ZsdISfVIYXrq*9!CXlCf8tb|AE-Yzxs%R+*3Xa?socUVbe%sP31t0^By%;{r5Ou7*bIMT8IpW2;Ft>io`4IYJlz^+sgBkQYz74s+mnIg0#90lN9z66`K%Hvf#VU6X zck34_Zf58-(GzgS`sjbTiM7V)Ri9HQ8n#|!g1?j`8Q4@AGL9TlfQEO16ZPxAI2ye$93a($r>#0#u`qf{Oj6|S@YVV; z>p}IMT78(8>!7N&tO-oe`AgDV^%BLd&Axc@*&1B=tlsC3mh}g=@s7Y7G9RIy%&3rF?B-q5d)|fTGk20;$|v zGt~ft0-E`7e~^$ORRMM-@=$&xBYQxbC5@0dl7k&aMleYHkAmh3M3MV6qm7wPP@Van z(`t%+-8zv{SKvua5B!Xrt&RO!m;7+G{%cuRL?40FBPRj%^=vwEGR)|eiN@*mON%3u zqdG6w4KA*q7kE9V1YP`m06v~$yl#F3UPx;4`Jf0{37RnG27*u?g2(yA=7i2b$AqwG*ucYu7$>@aH}QszEvd)c${&)Dx<87=oRkVC~Id z0m!2M4BdY+s6P873Onb&diz7~lU`h&pPr_&AV_IG^YQumLfRwo-yJ+9RJJ{1A9ZM1q`sYITW{M8=QF-XY_ zW8oFb?@;O;Fie0F)oQRbBfw_jh$}JEK&oJ%7jM9 z>_7+>?LM^aeRpLM80%}Zf{1wnNq*k}hDL|?YF{3G;h*4?AW*41b)JNGC6!LJBD7E` z>_fF5Z28B)&-1G_vUBsrhTn3xMK?BvYp=~iUNgJ7lckd48VwJ5!2Ms>R%Icil zz-qE;xq;W^CV}cUu5`(v3$}8!@6kmW{Tz6e5F=pWk5?rusV?^?ZMQVX5gz2XH>7^s zJt~Bl0sKe@&32uYcAH#NwUiTwr{D7cRK5ja*n;nC-0D|8$H15pT4efx9XI`8<~D=2 zjcJDM=Ul>#&I-D+z^v!=@ROIOksyd{Q=MvXSMav>`+1_gsKs{@eNNS}2vio-o!qC! zLbyyhjXQyaZH`mTVkMU1+J;>BdiK`VrARASq_)Cupxh+T7V`VI1 zV6u!zUCKq{eMiS>w6B)Rp32p`^@C7>1%fgD1QfvGN%B8#^%(8L{p#trg*F>Yv>rUzQT#{cIkT72=IPnR4QgBgHUz7` z+_eiwFqt8{1P*eT99=2V10XhCzoMN9`*>QW)=Ybvbz8_ijWIzj=LfR%l}Y{R$USzu zQ!1KcX2C`6c*Qtgq{G032{=TJNjM?tq${NU||hDU3wgu_;aQcjLSafLTqHExPtX_aN-mv=lJ~ z>G$r<%36udSx3oF3AG#DNbX%i4*Uj@fvLD2dVFrewBDxXvk+k2;Hz}=V)~oqh!6C_ zCT`-8tRbXOAHmNEO7Y?)zlk){$`UPERNMw$LcPyAs-YyH2?&R!l<-g79(*kuAy^)m zut?cwqf2hhVxuLSqR4IBJ-L17$t3K>v8^AeZAki4(;~uei>4v!$s-u{XBbIH4oIb`Es%6T0Pn* z9#5L|H-x2h8NfU|I-o%F3w6)VD0-dGscZGVQr5$!PSt&GHbU%hQQL1PQop!0!_B9# z<0Zq91ey=lw=T|gVP$qY*B4c4tEKMmBMwc{0vfuJEEgL@L0cYr34h9uz-zF@T-Gu}=Ej-xa< z=zPtSep#7I;jr>?(IW>IY+Mhp*#vt19(dQMQ@8mxTM?K_6 zElA=QHjucc=;NIDT}aUNV>Gr2$g~u!PK^~OUi$j?yz=CVX3>aJK$03>u?!yjo|jhW zbW><`vj7weCl(35*IVv*0)*-kF`$ck^#E;*t?5J2kLV)$GHpkyju#S>#X3BjEi z;!eD$T|v0u7DAa-n};>`95Iq5)ywnjch|($kDek z^H>`={BC4iqcR2dc?W89Nv<}~Sn15Y!_1!y)v=;S6PFg{RS5^pa?%c&phj2o7Swrc zS=$5H2vBhBlS78-Ob@%GfZl25ilgroEiD)wWecO-;D+BC*f%UA@Oy2@#KYwnBue&w zmjOy+`-8eMSD4vt2W5Tt^dgioYHJ!okybI*jr@xy2n-G+Dpl)@IyB=+oqMTVoK&Z2 z-SO*qS)@J}yQy3tdfMf~tl&PlLO@(LhV-~+R_mYL55u;O)?G-2<$FjLKb1gAfAL8i zT(w|J27)PuA{#&P-kfdXt8XYmP{A?}J<+b5^v78(08W8-kL|QNIMV>Y?lj74|KrQe z!j$Sj0)h(4#l)Ft5B^Q=(2#aoU_$CSQa=`RJXWh+3IsNFPxi;P;RFs{bdV0whg{#i zxzf~h4a+PdD`q%|(@0R)x@cXqQ$IXUaCo%r0~U__EblfsUv;_= zVBpTwMe|6eeCbk~tR37vMU_y!qh(n2e7aX%0c+YRGEswO()+$iXnTa<#HL`SveAfd zfL(i#bD45lr~oXTLTwo}owCxWIynMK;rZ^2=FXT|EZ-;cOw1Q$9B7`WE){8|kdYG% z`#aRj0OWmCK6I)&KxXc|33B8If*8yJo&*S3f<|+X;Az)QSz&(N@AX776upXESj~p; zwcgXPcycN8Ykh z&sRiQD;`Yg!~NZN3cIyQ4u#r?C{dF|t*PW8a|axCiaAe^$z3k~X*NVg3%w=1EG!pn z0U1NjhH!$4!?nso-O0M3R?c%k+qn!$FOY3&O{JC#=rh)HRTfPYe3U{533^d3xps@E z-tbKai3TgbB2vt2@Iy2EKq9o{E*akt!uCSh1RyGbOL1TP#^5EUU~^~isxq>}9jnH2 z=m2C|oQLN$l}Z;eJ(a|LczGtc@VXE_Tg*tQ{RG1d%rgs^_wV%TG_wlKbK7i0q#3_N z6tuW)5?R1BTm#M^kY4TFp`_;>9b{PRT$Lbte$?ugr+*{)mE4eM@(^xrEQWDH_P6cF z-!{mulg*n~ME^G*yx-TsqAb+rWH^5>jwL9te)7Z&L)o=(2UWd*p9VJ`|L->oeEK~R z=VJLs+o1vI{QB;;kN`8Kv#;}DWtuk<1Y-q%1|wSf2tw$m{Jw*zC0LhmBrlfLS{~M8 z6R4I7%6~f)vO3)wX6)b0;Ct*}#T3o&3nx(2A}Wzo04`TPVvGJ`LqiV}L5=nslZ*#i z2y&Dt+83$cH_qtdeRtxcmF}d8rHHB@G;{#F1=xGsf9|i8)^h67(oz9S>3+9dO9NS} z4J1F^JshtO^2Q}lGnjw|;@UC5Bn2rC7y8$qELdF9dpm5Is}lg0^YYN7Nz_kQJRVNh z;tQ*KfpB2R)E6#~caDk-lYhHxIlE;L3?y`vMIwt{8{gyZ|BlqY$v{b>jf${HDJ(>U z0%)?W$jXhP9S1lmq%+ZKwgcf`?GtNjTm_rX1g2Ipw__( zwlz%jnhn2hoEN+wo0|njQ>|moiQ_ z)LMaipB8RoIK7oI9#;-%l~phrxul0F0;m&Uup`obBy_ab7l+kiuqmuWy2 z(+;+Q2bm%Bo>dKAXSHJQ_rT7l!noEGHhVv)yB=AG_gIJ`h+|J^Py1n<$2aY>0eDsj zGo@dIrqohYldXhS4JwYST6rrXF02zfGR1eLJ(REav zR=&`$?gH1stVwSs9j=@}{pVH#Vs%j6K{pJsVe1U_Fn8uB*jwL?Lq|BBrzR+&Xh zn!=|m3C=H(Fo`G`wV)6&aDr!9Nw4Q_opdPEB#tb9({57=P$qUNJ9TI60x*@h!I?vi zTMB|T3M&1DtHaHNAHXh3JEgS-f_cx`gX2b+KAyMu1y&`i?xThT!ks&9+)MDghpNMQ z`9R!WOuZ6Lt3P`FV{4YLRkv0|fY31?)YgQD(8624(;I4Dvv(Vxu!|ORk8h{u3?9OW zXI4tx)|^gs78ZwaFvjb61`vb*8 z*Xi?>&cinVG;XcB(dL6DCDdvn+7cC~QOB(^BqxDnb80Itha@o0+GYJ!Em8`{ z0{#~KPo6`J4caLuxjRR;k0FRUtZ`f~~$xr|YvH^VHu5yGd+xj`^RBT&&6#i@LOL zmut3F#C$Du$KVk2$M?*OopCus(XX~u4n)81_kN}o*QfV>#Ct9hFJu%CELdS<%`EK7 zZv0#zz{_|uqyYSa+~@pJ#~vyU!PVzqSU;$)#bgnNt%Ybmowa& z!5hTIeCdM6eoj0Y-j{i8Z4hf9XMFC~#`O&3bP2E1k-Pwup;n8uIO;1sUa1cCj&Y^p z+q!*g$TM;f{YL*1xaSBfQ;VICCeD34JC6;qr)&OUJ_T6S<#~w9P~cjY{bqcp{$*#Z zx9zlK#jKZ4!7Tjs+jNQ78t;uf!ZDhs3;B(CMffMO;5DA;#_10+m%h@SXAqktOOC_D5 z(iCu;M6rMe0qcP*m%`&{UEEuym!>*bt@uqgEMDZ8fau`D>^TXfee!wlZmMn~j7rVb z3znPoH5dola*=k?GX5_lZz5sKRUe|lWP!Kvs0wE->Bdi|^L7)@Xl-K=uHsw?GN9_( z-GN2W&aI`LK_a<(kPa^oM$39uLNMmYmyL`Nhhae5N;idFi>1YBY)Bi|9<1uyP2^D5 zxg{5u()p}~G3o@3v##o4!prW;j5w-7XiH_Irr^p5QV<1^>U!@Hyksn>B-skRpvOMV z`N|t-tx@FR)4M|v`ZP32i_5#WDk=H~QRXj!lf3u^J%kn9?TenXhRs$zu%+KNjsm(; z3kEdRF%)PAy9;6@Dn`za+_s;f859ro|Eq2@|F_rX;9&l5udODny#C)_JH%(Spp`C! zWx>_YU%Q`I5uqRJnzdeeo%*8pYP>-xhxJ4Tf%i|sa;1-V=?!) z4MY~RGhqJ0vf|upi@UksgZr7;o{-8w#2!Hi_CC+gQMzGl=Q1Zj{M|j;06H^nMb1SC zj46J{TE-Ugmv@~s0=Rk}l{Sp4mby){>fSW74`S#N@~rCD;*7C_hf{l2085;`aFl)? zy%RQPdlL>7#V{FExny=CWt3-Sr?1Y8rLC@iGhp1zC6S|%8AHGU-KQ|Z_d70bwYIT> z?yicyV!k%hb#WSJ(U4LvZn^Q@=FH;Fi~ASLgMz9NM@~EZMBazZ1|d_>FqIQkUz(`X zB&h4BRYY3UmclA-vnTK^A|$XQs>qralS++iaJ}gkI&jM@rY*+>&8)1gXIPM~p9HML zETBS;RbnBxd|fl;K(-O>6b6^d8hct;eEaZWrt6We4k{O^A#?^nn~}G`EE?^pH@lQa zvt9!w7dIRp#;vevslw-JM3pjkWx=yAnKWbL8Z?LjJHtj|BocPDSV?E1-#1D|)x?aW z)8chMTTSytKxlJKLT+9i7~M!OXRTm=00?zigME;tQrHIRTyabF)qW~MgL28!TNn>e zbNs;->~sr=PsD(haAoQvgCr|+8?|6uM39%G1rr)mP^b$NN$nT!1Mo(NMk(Uxw)?J7 zh-7y%EOXOHbf(g4sepA!B!U07?iR z{+^Us+~$btMLrg*`<`@e?xyA5ztlDyN)5~8@4eWVLN=hG&?OoSy22<(P(@YvQ0dd= z)6z*9dOFwO?VMr302}%buD4Kqb3+@;#c3)j5;ZlA@3?JZGNt2aUN}xYzX&?kH&xmR zc__2;f14T66A1EnjPMbfJ`6WT~dR%`G$X zi^k3{F*D@oEmo@dPnfU0hX^l#E6%s?;~ytSSR9h}dHQ{oom+t9!JUY?ep@?L9FYDq3OF|ZWVF8;Y zVzSnT@`VEj6(ZjT8k+D0ApC~rlQ2|Qt4Z+I(8KR!RL=U%=(*s1JkNto=D;XFY!R$= z(^Pdo?+aL>?8GZg?_7m8h{hsM5nRln?t1PRs}gVLu_g;+>+7boVG2@KqmL~$fz@Bh z$V;;9@%8P@KE13GDt1WshpQ6Op%kHQFNXPY)Lj0VS$_SC#zO7XdD*!TCO4(om+{Ia z@$=4-Y-Qw0KyzZG(eZeh#_<75eUQwpkZj^A-WLGQINtZF+J0?k_fQ#suY?;WDpfQL(^4$wV8{Bp z5jjIU6maf}>F2uX{?~i=Y29|Em1-SfI1&5J^XU{^w?MHr!pk7NED2^41{p?7G+e2} z6${|7Rx66^>R%x61Azi9LI`<18IoSQc`%st-}Y2;QFW z7XD7cqpTep@l^mhcQdU1^y%5`{rw>Ypc+=T2`0p@!Rr{bgC`fXW9`zIi=^GWOE1TD z%T=D6@n`7fLgDnyiR96>>eJ5P+}y6<(Iz0YaMmeKiA1*SPf$?+7U`M8=$-+i>}FY4 z`Xj@J8o|q&-uB0p-!%+;(CVxMqQP~_&O=1YvAb;0!2;2VjkwfMx*H z8a~lzH91lg6^!%A(6Y!4q!`X-^5+x0F)eI&#{?tu%*KceQWR64BkP2V326<5q$pl1 zgsW`sufQrwzJ7P|6%@_NGDxkb+{n@wS8K=ei|qWaY^%ZgeVq^xWne{b<=>CG8T*om zQ;%%Yd=m3yxE*}ZyzyX^ZE-?l46Fc@=3+LSSQKN1w?v);D!SR(c-_lAa1?fdn>3#8 zMwoO#aV()X{|#-&p;nb$quVC24=Gj&x+dIFR$DNwkfkf5Tj%0{bdsph>6jn8dnTUh zu+O^`D?kqxqQ@JYpc~{>o2#!reXneM-}^fVU@>Hbb){0TEFN$Zq*eugs9C@#W^RQm z))T!449XN|Pz1Lht4JM=;KsxTHI!7q5E}4Q-E09L+!K!rOwLA~!VUNiTKf$}r5nF; zDNqy>J`IaME?9iX%3jR&$Rf3twUsa=uOEma$f<#GZ2E%s$E_dg2do?z5`%~S1K**n z`jJ|g8WNpNgk2)PLEaOe)i}Vrj|olO7z4Vj8nK6WG982ub{LV|QC>0DqURU%0(;F* z{7EN46w6b=hn`~T^*m^kZ_*|^iz<8vf%y}^?wVNWV1+_tZ}fD+TH5#Nyz_}vdDqll zoi~D-HZMPPb;K8O7!z~BSx%1=bBauKoBrX)I7irsIoID)YR2~t3wEn?RU55IR!UTBb-rus zbN#HtI|IEph;GHh@uQ)|yQiQ3x4J6HwEdhhIY2zMT=TDw%rXSwI}_Y|+zRfcDS}nSb?0=*YnAu4^*UTT5Q1b+=9nC2Ra^ zYFqT;bhYvl<^L@=Ld^jcy5GhK1~>rNu8`;*YsWz87H2l2U9BZo2idYzYei#|hKvI! zS>gwvyoho^GUMe{($}YZltNNR?sk$*wxJ-Zk<6u;Y^H&={bZ=eQE`XqdXg<`c!8uF z``zQkq@^mLYxK@SwWsXzc;L0!(MQ8hsKjSX(m zO0XyiXjIkIqB3>T($A(%byN0?w}Nq+Cv2ldKqc!NE4{N8xYRW(Y48n&c#80j3)t&F5w)|6z zElbUnc}+HQe0m1OEcMcml?l-GWx|fdvT!d8gL#yP>WW69pNY=vhLO$oZO@+1!`pG+ zG$8!7*u3$P%cu7v97#lKGwQ~0kgSBc3@>B@p=FCSDPM%DF;jdac(Bzh0joLA&;Y6m zja;J&K0Mm&!+)_{rI&DYcoq94HTHtZuOAFo69 zdsy=;qzg4x@^KoP>MLe-RFx*~&pSaI4KocBvQ)1`AhL}6hvR4IQ>^F37N%T@Mb=WC zO7l?FO&nRaw@fHzWM!pu4`jQ-4;P^82l)GhwrUi2DkQX&ycR#E*OBCz&>UuoR>_3d zt^HoCY_n4uP48@WEFXYI9ueTLWvT;qEM@A9ZBe2e$(@p9!e9yxip+^cI4Bh~l zxlpyv5SB2as1HCqsyBv>2HrA%4tq)4$E04>U9k#1`aYNz`_AQ3dRGd3vm-^f^N^3= zjr+mnS3}Wy4|lBPu+>_!U2Bg{eWE(;N5NWqSbpMRPY_`KIIc%QBtE0~Za{@%X7ayO5WezVE|^-Fq>l1`OtqO;9gCTnMOhB{9|jb>!L} z-;Gps^Eptq$4li?s>|LY#Ng&g`%m(xl9JgZDjOl?M8_;q)`4n-YmReoqNDgYWk`}z zJ|wOO-Z&=?mv1JeaHPVvFj$IAO<7{W@>@=znRuQYn0ipX0*pe~>09U)@Lp=}g0Uil zivx;$DW=2i*3z&M;%l3b<9R+otgc;prz88!*$j(~;AVnwzi2a%bP#$zkqI6EA)P+% zlDZ;NGY9=7_HV1sp0w6kU#+d6gT@r0%EKdOE3c_4{3pQHW9}k#EWW~W8clH?qJ$z9 z!%Pve;3YR3Rv3a58?HqzB82}sgRUN*ANVNZfvc~A5FonbU2wbz}(``QY&*) z69uB#?%4pw_cR8=b=Fpt(k#32kqDe6AJhiU%T1I9sd7+qW9$^19fAa&C?nPab~O0* znnubedkGVjpQCPZaVB|TO!+{f28GejDdH*!aQ9kJ)JQ`fdC!o;NPYX zs%4kNL?9^xK`4Mcpcku{voIK_4QlMuSwtwwvL*ok8#20nf`%o6qZqg!vdJTV!C&A_ z3AG9+<)?f-CYoafUz3e*GBpX|x%c>*5nqIczWr!pk8M)Pu~1J@TQ2HX1d|GykyGqbR8{(mye{*P|Y z!O8L;*}kbZp|s9~ws}O`G^i(XOdpv)*#yUAQW6=^SwI(H6jmCZy(VYz)uW!0^~Xct zI8GKbT<^)l`KlhuQwU5K9xBBZ;)`j!;fb06?-xrr9D4*c8b8S}d`SRtHFykX#KrK+t|W6I8X${ROEvyo!itu?Eew($^3jhdg3~CC z7J-0_VlvN|y{(hd94>SP34;UK(^kYR%xIi6O?K{LrxLd1DDFo%d49M4k%=OvB(n`( zVye9cA#>Yp?=7@TDu?<9TG24_f`n5~2!wEIN&ZIJ|FZ7wGZikF30sAp_!KwG>WO(VuC64e^KB zd#QU6I4@Q~fWb~5=JS=00WZ&2wF8=*vZ5phXi@>d`H*j8^7b6 z@|KrM^J^O4$NKBjeikL@!CyvYLem-F+XX${f_n6dHwGyY`GFMH9n9wk2~zC}=Hqup zl__e|;@rN#x_I}v{r{g3Gt2j-WxYEvDll8Bq8<1@tEsLN4hNdgk-Bv*$PdxErB)VM zGo=y9#B}cJ=-hd@M$MpZBe>~?m`uQSB|1_du#p-1^&dpj-lC;bJjtgGFZzruGFFfE zJdxKQ??ZRwPoKxEIlTt|5}-;F|^6w2%f9(PI1{iiqn^5 zik<8dqe;QGs7@;iMygW@me$l}k8F z4YfP^mjES0nE|SZ;f?t2^B>MF5+DdR8I9p&PrcUK*0F1~a&?`&UM)lq|6|iqnj+Ik z-P>g-(!QR<{)CAzC#Z5F(wOf^JEd|@aeO)-wGSHLHf4rtA_s?ueK(5tLk4jUAGmLJ9 zms@Bw(F<_K#xM>!NY(oxXrBked-ujdyS*y&4m-|D&h){(A(eVsC7WGOhHD9DyIw>( z$%SJ#i`8U~9=PhI9w!ihmo{&KcNjf<(z{A~;#qEnUIR;BKF^w0`PW5!iX^Mqfg?>aD;HC+?{q zC3}sFiE^cK_Wt&;#P`1fzP9n7fN#hG?%24Dk`{5?a_{E8d|%}~?K(Yoi$&xP9TCs| zSlR4GgoFgVd1bp1A{fRBN`n-vXWi zOl$byiQ1zhNxuYYufB0l=Gi@cYZ=V9Ym7~RuR83X)3h?ESv&I|C~-A8q%W zljzwurmO(r5D7pJ1G@OyQ(i*Yt09*cEWi%cP=t&Nfl?z4`OmsKN1&%wg)JyfL+h*fxz?>%@4W6NR-0fpJ@KtbK@p7jaxL*#^yW^Qh`WHfH&ft z+R3x@i)TmVD+nJrNSYvhtF-Inb^~S(rl45%#^x3h?jA60CYz3kH9Q|SSpd}h(BB%! zrQByWcb_kEL4C?Rg-C0#HtbPa=)piGB+FaI*W_%0%bHKOY`H2{Tp_pudU07Qy?$)3 zfo^r%I;W{*l}N{*!=SrHYj?*n*KGHRksEE<~Or|@nh=muOl*A4hQa7@Oj2ix!W54nl!!`4W(%#)JLZdQrhv!a)z@NC~B zyZk;KdDb~YwY>XkRXeub>aLe_Cl@xD-as?yH6&#a$e@g#y{C1Y8_&3njVqpFP3D58 zcHF7Vi@#geX02cRmJz~1z*{iC;F4O`@|^EH`oOBRxTEU%zd(VoTMz$Ng-MNX_y^ki z&K%m!{yt{Vl(t(JL+UwGzs5M-x#=Mk#UYZt$O8^2Xz`SC$}3Nv(jrk!XxIbfYBH3c zYOV)cjD#Sfq`qaO+nM%cCrdaJ#2@eZ`Q6jM4?o8A{1OWsG@>AdRbxhvra<1qDEpS{ zAaJo_d&ko6W;sjEm8ZMFM?5)b!X=%#>ZB>c|$j#nMK3pZ^aNAK2dtq7fC`^ThpjhYK!h=rZi?VZfL8fl3oW&>0GYR zhyzRYMsMWyGRNHkZL*mt^TUjr?+~|jEAJH|c0ghAB`k}j!%rNdpRerV-U-~aw_lOk z?E$Yd9|G;LWG3|HBPDo^R zRjbQ8`k_!3Lh2bR)q(bPs(_Bm4N~CJ!zZM_F2_ne)dRB>rp%kQCyt+DN!w^CLl=Mx{gaAR0*}L&?li#(FOG1AGK3t@<6qLH?3Y0ed z^11~nu!uByy$TGwxW=!L``#?VQFt!asb1+vXpDZgaz<#g%qfCOrsRh1)31bEpd3>~ zWp~_;C%@gr+24nB#A0iENeK62ZK49qq)nKHCSyld;W<(xQv}=;9=}7u6xbn!rkqG@ z%CVSkpt9)OA;NdJ5J4sVZ^oB|;~vXyz7YFX6Ab?BJ>*mV#!A5qdKgH3Q$YDG-3bos%$8WeI2r_8p5q0up-uyL z?Ulav)ha--c02IdS-Tx%y`yX7Knw@>=>561Ot7K<_s0UNnNtzF!G)F0%YD&Q{Ul{< z|Ei9Dlhqa~utUC}#Ycgq^fVfj?VC_kVJ0}>u$jCRtxb{l2CWgIY_XQ-;htxR4t(l@ z6bW4!N5U>uzl2%;*B|mUgAG)``U*dtjA6aN@eh&;coyP0V8?3o>V<7k@Zk{1Bovh1 z5o;yx9J&(aZKWHtqO|>u;LGiqPXs)_3u_6Zru5+xH0?--GBk(09&@u;{0i#Z5QA$M zzI|2(*hww#j)rL+bP=$QYuE&C=;~9F6EsfPyFqDP3J*4iVqA{&6WM+M&Z=u~*Vk!9 z)8t_^M@u6vB?s~B?a^E^t=$?(OWG8MM@ozDJ=%(eUt#ua%Eo}Z*5skGdh7WQ?SdfT z6-}SH1l?}q*$_Hn^X3Eief)t=G?@x9$gAK2e`|O(bThqcI5%nA`o=f-fo7?Y>Pmd@ zuCqLW&bioyn94iXWou{vTx_Id8rFS(%uHoVC{%l3_K0S5O@*$9IBo}NasH>(*OM1A z_b|2?_DJ0EbV2%^;_9)AO_unU#cq}puGr4%VMC=oR)nhCExH>!E+y7Qxm{ECQpAoa z`o?GL8@*3_91NDpod0j9xfU!15(PT30RtrQ>b3Nb(Xee`G?5m%w*U2wWc?pHmX(R) zKRPy9nOA<032F0=)>bA&$0nB_JDw^49tzd4Y<^a(NwQq`=E>o#i3AOa?(u}r`>Olr z4-KHev#9(v?VG4aj-CmcOqpPiP&rumC0HoO(PAJYGOYkh1o;=Em5|wIg(Q)r-uqyt zmlpRLTT10I{w122fV)5Y3I}hm&CqX6=M{kQtp*=IU`P}YN#*mrIB3WRZZA($rr7>< zsK~6~C*e~ZD6UoW>K)=vX?<~cNh+17*go49pW`!M7xPKq1%oz9Wyjntx?uLQ=%55T zsp5r7)m;$+@;~gptuWzl5*!fZsS>woz1BY8;LEJZZCHc5)t#-$F1thFJopJ>k5vHK zV5p`!0|bKCK?|(J@CUYGjp1J6IbvsrZ5QF(S3oiuH$yDAJ0FS3EDY$H=Hly_U(}CM zV9C<>ACNN$aC7ZP!0=AQ^icUpAMM!U(VUhSjCd;bap4 zsQd#hn-SEc!J7S;|G>D~&@)r{;mYxM&f<4rEB$oRcHvi3@8Jev_i`hLkZ6h~z4Icj z7zjNmHHi^fB=aeJf&4`x53Mu@{ZCyHYeY(XgEi43C&1NaBL_;&Mx`G#(5bQOigQ9v z`#gsg{=L?=)+b0Tk`TR&^` zT+4<3p=6~Q-|xOuAp^mYMx2SIbzSV! zlM5}c3g27>32!3z3-H>zCPOqcl2*xb3)wpXTKHry`o1&wXJok@XB@~?@jH_+VI6F{ zjjgn&KWXmj;*HrM?u|}_CgUR8J$S0M{MzP&#L6)r@Agd>H#3B6MkfWpOXALhu&Z5* zuDdhk5*NNP;%$EyA{IJM)L?Se!~=_DURQTsx+ppFjs#p(2Fv5^Oc4}K>@S(j>aiP zi@K{A-Xctpd@JF2C9(@72XB_vUmnT)C#E`lZD3?? zVVG_2ywJYIlnzkG)|HI3kmIUHH_yq(D*t8oIsUzTj3=Rdj2C3>TP+_RK0cu96yKK< z<^$ewS_O}WBfrhqp(+D15-cn3x10iBn_^sD zCvQkC#Q=G{5XVUrxI~Z)&^kavKs40aPXVNA6C@cbDVURkX`vfRxr~A2{#a;ZO2qEZ zlfZy z@s6vxf2rs7{X?hE3uZ8>{(uY_-P|vuMWlfkK;c6cJniGS6w|aEHX>x-j$)qWye`CbcBI?ua-}zGH#*DOaxle%c(o+6m z#H+Hlj#D8=C+#$l`xFfHJqgcB&a7xB&7suTi%ZLY+0T0YVgsP_8DL3~!bpQGvVR}# zEz9`VfG>nbG?iKpvu)P~Sfrj$gGK5{1PxDpAMK47>oP?}Dm0p;CRG40z%{-7Vz^N1 zGjO5WyHctvYQ@m>?bhjVRoOZsuBr)STc%s?pBC?ELczF5W;QowPE}M_>{Ex08T9^t zh0{b`JAo1jJqn+J@VzkQUYoM3e<@2 z#!-cU0ttl=$1>!B)59FM|NX1Pp-X5ly#{Y=O_+__dPvXM%`=ZSVaeTs`KC=2Gl&MGgTJBgbH+3gLjOq&<%S`?UAe6g&IF$>wRS zybE~w2#Im#%oK2bt?|MAbv=yip=qT0WXF~GOQ$rWW6C@kO4%6x%WRXw{FPDPq=$_Q zS5LL$eVHF{ZBxa$^zw!?ZM0CSjS{>(-_N3%scwF`9)B zM9q>e^NFad3FbYgqAJY&0WGsfheT7yKq@tS4{~ZOl-(n1y)o__s>dU@%^T@$o9_B7 z2~Bq1$BkRlwDt&&!wJ@Kh3>+4l<1j;VJ^p5iKQ8O^ZWM7Xzz&&R{1{S{O+FsZ_p*? zh%zJH@)Rkuq|Ji${>;Kb0e(2OV*=724dZhHF+KEt6=I3(aW@YJV&GwK#o5Ff;WY%5 z?JM>dY&~fK*E@1^)j!B!l-7%U#>>brX_~cA1m2nG72C`3yx^Ht=JHG=jR_{SLhx3^RgLAJP}9qK3O<(|!Q zOfs+dz@ce|TH-{1a;Ux5CU8CryK|mc5|r3s5g^Ef&rS|h!p4;gf7zvYXp|%C!v&=_ zI&L%Qq^^&nDQ_m>JM!cT*C2e(=fp%%a(tQmZ8Alhj!$Yxy1nZVs+!6Jxb$4N>SBSn zOg(Kp>w4e6Nk)*s-(MX?!GPQ8XUrQk4D;&a*JS{sSFLvz&--oq)32Et3MP)9;ujr; zs;x(UoEg1J4pB)RwRmgdP1{MeBH2G0=<3=8fvpVS{}A33pl{)I*iB7~O?1R4hcEi7GE-@eBhOdkloDbBlJt{4_Oo+n zOy||bT~eK%Fh?BxqpicqyvFW!K83BT3I3nob;7C)eciko43w^6M(RpH^6sxiE1}Ff zNwH@|!x9s$7m)a$VpsTKr#29{R+ zPmB7Lj1H@>Vj9>$Ym~935he+B)vKTV;J+j;i4<+9nl{mYJFZ$Ud6)#!M5X=F?rTwr zZY6Tqps?wMPUf`)Cu{k{OLlcQGY@8lHa6k&BWpQLOM z)N(CkRI!9503BWf$aa8Y21s-fzV1?45G?JHm(A^5%M1S|KgRtUqwU7dCr9VOJN6;U z+%!n|B80^v#_%#)yVg4`&7&zQfo;7l6xrth+h%mL);S9Pl^=aaomf6NvK2rOim=VWfuHBmR1syQZR1 zD>Wo&P|rT~A6YT5G&ZuBBeXB3b1izf2#1H#y&zu3^c)u^Hp*OaMNs9wPg|VX=R+lK zLW4*N??q8e^E^MZQctu|y@L`5@l3t(+5_(YhR&Tg%8cPy^NDjB=ZV(-Xt*tH8?vNi zkf6*}u=nGhM9xCpgPq+)9#3Y`%j$X;%!Y>RfoKeZ$=2p`*@GGog{p36;eDOL+EAuy zli(fK8lk_hnjBfvp(%O)FvvAe73PvfA@+$8hTKF9Ba}1;s@cs!fA117h*EZ2R0nKM z6*|C8-+(%Y~)?LdM9VZZxnSgRh#NFKKFEuU4#)4-%dt6FBV=?Ct9+GQn2ug zIbkW~luqRvgp%n<_Re&eyc`s*Bky={$R!Y-hS^VyBJ{ zHy~y@H#(ynpU}<|N{(%&y3HAJ#YQ^4P$#`ZWF7blL&qbd!aSpixnD6(_X5a_X&46Q zx*YWu2r-qg)04D{bCvn7*~O5BJATcE^hGO4A%tq$Vuj34QWP+;Ok<{HC#o#G+JN&& zO@I|z>C~ds(V;zJACQb)+MEt7V+G~=g58|J!2(NRtg^b}N{FG4V!cle`5JseHlR4q zgUE&~_g^2VUkyt60w(DJ_};*%FFvGYba$7Y(W>10}zZPs=j z5kKZd(fJHXJqwrqqIh$pHthY3erFGK_76kZY6j}N_5eRQ32Ev?p}8)z_T(h+SWPr*w528AREcUNp>htbXp=%|xAM1^6i zQ(f0uepMtdb1pIvRRoy+v?AMi%108t8Lz_hfD2W@H}2A4zc-tUioL)ADdgnyVpk0k0*tF%LIbJC~>UnRCG>66$GF{PtG;(6o~-^R=%(n zw$uJzrY?JCWB%?$F(-l@4uks$Oq>F37&(Ws-fI&pr2nRU9Vfei7aN<4NdIiaakIyz ztbl5uR2*1Z4Z$?{x84_#45y%;KapXlx)`4D(j$XBJ`U76xeS~5BW(ycdmm7?0kjjr z=xLfME^3QFLIL;aZg;Ec?4|-Yn-sgr7(0}BcSFix(T|{rX-IDk+&mxItH;damvFos z-d4Frh5U?s6^L-z9(LS+!SoJ@t9BQj)|!~#CQn998oUC;0z46vS>(g_t8}B-Q%`+t z!al9LXDAOmexgOczI`4WKk^GV>58Qv*74v0Iw*#d^n)RI#e6HXNr_;n_@7K)8G(+*Rq&i8VGy<=^%w!m@Q|!-Dit)*#){nngaZ~G> zyIoiA&mj8|V{zqpRka9|&wU>>qhZm;0wU;Y1Fm(T9UIc#tA4-8=FwYb=`;;Y<|90Jq z1DZ4vMiAmX5Rf4d;;SyNA0)A%EPgnoJz@Iz7ptJxI;=nHEukPN=V(TMtSsowh9OY$ zS#Cb?YF8h?tKBchrJ3tmQQEI?@Ny}0Qcz(K0QkcHZW1{K@gVc;D+h5$`~rUfI)j}p zGwwEJ8nU~s{-w##&=j@M5bekl?*wzQKGaEXzb&YG-`tWvve^0LR*vi|)!jZodH$lX|^3Asn za*|-8(&M1Xmp`YF=U0O8QSGk;cb7zyvy0uc{d&8^fk#_dC#9OJ%3sMz6#h>}QZAdo zg67V)SGa1$uexdpQ>6=U6cD4Vy+ir98-V!HT=gRrwuhYb9-PNz4ymJTIIqlS$hUQ& zCc6}}Q0h4ox=nixh)}O}mvHCEXPBj>Aok%Nbq(rFb&RKsGCehYckuJQX|McGw{pY> zuK9at$Q0(?h@gCMRB@5Q-ASzBq#f*EaRmU-QAGW%|1FTgVVIa$x#E#1QYE<|;J#1x zI1`y3egM*UtnoOIMt81j(?*|6)idH*aTxu{Mr^71oCWbmmLjDPT{wOU~OHQHjxFoZqqEwC0jtoQ6(N zh%?y_8Kz(bLvYV#=>VM!f5?lf!4A0Kt!nbXl30H83Z{ykTFk6{3Z~J_cA+A^?I?%| z?Y1Jll{|rnpx6l8JEsl?+K$wl9QjsLHMp3c_Acd5B{p5$pG}a#+A>NjDCI&0(9h!U zRPYB!TWHdZM-w@(42tTmCD-`P;~17Sq?L)RR^f^3iDvJQZombL5S*Z<-6yOcSzWD+ zFr6V1au_+n#67*dLM8KKn<6Q3hQOHAjgXx}qu2%L3q?Cqc{vXYWX`{$nK@WS4hR6Zi7UpQ`SMxhDPFc%EO^rGYihWLXJ!sDYw)aY^@f01%)n2Xt#y*J6CmJ?g7pzO5iu0x&)^ zABW!$ho$WIa-RgAdmnx&kkAjD764j#dkYe2*EJo>T|jjIWO3)V4I$tJuUM~d6#fl+ z%UvF|K6^e5RWJuIbXpurcs^SB0{}UL{MmxX*zr3`U+;u~0;>*~A*$zT#>l0|(b&>w z9&4uQ-J1}+;7JfmQYPwhXAI=Z@VM=K$>0Pv!ANzk_R;kLFfM4TmxHUiomHRvKS}jj&+;y_+u_v#D6Um(w}RU*fq!Mgowp4g47H7f7*rTAb;P-+;jZlI+_5sJdZ@SkQ&sY`l!>QGF5~n zpKij4=mPS$!tz%x6`5-n2Gn1IaU0`*_f)8)N6C7W{ATqLz~=+5;Vxjzu3^ls9B>YW z@uD{&g{fRXS39n#>j)lzh~ZEmc5l7JTUDDz5-}IjmnGJ~qXx^=gK{YeHrVU5cEd~> zk4q>HRcheQGhtSj_TUf*d-iWj-7|0MZg)H^muu6IF+SjP*@QSYtjY6 z^O}kez0Xs^5k*v*EyYb1i0l%7ZZ0QAJviGC>~9XB#RsZ(1**KR_;Rzd^c0aTibQZA z5;XI8Laba)kZiu}nA4w1Gi&B8-I}FE*|8AR$mHbs3QA zl)c=B+HlzDk_PiAuF2-680JnBSl11Ky*YY}TX|e1`J(xM`qQX~#7@e3M2(}lYMnRHMg}tNg*hnPjy|aD!<|Vo@=qqlwi=k# z)i(UeoKY)e(%_?sco5-MkU0pb^_4lQX${`tmfJBJNWe3><$>$34GF-Z2=08wfb~xP zlRJ;KO)?1Lo7fDn{u@uKc{JCMM$YBv*$fBa$rMiZ1bFI|oZwWLAltD8KXv`uU3Hfl zNj;9yKP%P|Q%jlOnlhs+tlLwNQW9O!yVU3Z$QjZ*u;6luY_dV^8arBW_W16*%H->6 zeh}BtFu%%wG%2E9ZJA8mch%dz{2Y@bS4!6Kep#!FvYLt{Nq>X1^jMhd@?(^l_KwP& z9Ipj!1-N%3&xryZaMRV=9bio^OUK4kMUl$6KZ2~w8WP7BFe7DB1G7=&V;i{Z71{y{V?1C6U^vrh7d;S;-jyOWo^!WUe zm{QkfoAeL6B~(Zq%5#2wy72}mHcnZ^`Ut@oMIOx@_dp9bq9^ly2=6Eq>@C(YGQEL- zH9#gq4ZQK@vqZ^5v-R$-2h19CeHDGS%hv#BI%XAZcI;7T(O8%`pM4Rx=}{&%JAzxG zl6&(4u)s<$XT7NemjA=ycZHXjO0YE0=8FKTc62V1A#N6Dl6HyBMdmxYDvV~eWgKOH zmDGF8IYnB<192R_?9aNj|-<(>4m{KnoI1Y9{5s--Zk|KEO$&u!)jnj^SMUTHLS}Ucuc%Jsg zy~B;yG~VG=I)2NJv(vnQ?|P_e+w~Us0ooig7-{Y7T?OyQ!e~0M4~^&J>-9dD9l-gt z;#s6Ny@+2c?%W@t@tnCPwurU>G^FwJhr0=wt}FZ7TVczE>zq3Cju11qiY4pXI6+{3 zxYa!!ViH0)S6(W8QT_ShOCy?nrnVl;#~`e4pCQyE+%%;1EDOn?-XMLkuQ9#`_W9n05W0sAnA5I`9}1|En# zjK^R701>#m*ze|DyMZvlv{^{kM9j5@DntR@;SHq@b3dbx_!b_m4YjKBpa?uGnk=qk zU(xy!lv(_~gOr>ty~R`VtI3x9%u(EI)R{3!Cbw0ZP^qmfos@VCm>^%^9gl4@1uw-s z(S()Vq0(MM;8_a7hd2|MQvkO^t}U@fZp-Br102l;cI=LRSwNb~on*Q~a>Ht4YwhB+ z4TYJ4R_7z_#8yH2a<%t!v5&+Y{k@tkzmZU}VOUe%D03y4q9Xp)1ID7r_X_{Z<-2i4 zr}=N7%WkXl8Dt^2o-?SCK_`n=Gd)8hAe+LQgqxE?Ug~{b-DEF#0{{g&QWeyCgwm$y z{i~$Qd3>c--Mm5NpGTAUxecJRSZX+7SFr#gK8jgG<# ztL$NwA*R|T4t!=hh^kwRq!GWatONK)?F_9imhU`vCad4T_7OAM{iD5U&T%_k)}ALf zU1xq>w_(~N3+I;fbJDYp?a46q<9tBoJDiyiabHZyQdt5(=TOW6|Jyr13=?z888A8s zJKOiW{&#X|X*;cpqxl}Imnnp$*KNOB@mUg}jHa8ET(XuZNKuFgu37;jOHG?{e_r!> z#m5EptqQJ75kw7HxjgCg-q%~>=|FP2&kahZ@w^1R$JBq{No(Zj{^DB7*imM{rZ~v* zpv9aK8jKkbzXk-pb8EfgaXt-JI^>M1d=XLGef-H>-TE`!7B8MtvlnqRSiDHbjyNO$l8RpO|_BSXoOIcwdVIuHGi7EI-SHYJfK` zUJx&-iKa(K7{Rt9j%moEe5sL^0CNm*x86>wR|S*kqQA8Qj>XyYR3k0$fvphXM2R$6 z!4*P1E1ybYj&B`6SztBw*I6g({Wy^LnD>KCcO+KF`@&s<1T~s0f0_NJKZduYF2atx z+>$FPD2Uh2ojTpMJYjUL)C9%N!Z-kY$+3+c50y;r<#`rj{(-$#;1mWl^>Fw2 zfRz}8t3<5r_}@>6|il>`g7x1zc%en3yMEX(HT_>Qw(x4Zp&ll z2>Ap?+;k#}Z}z&KbA~L8V&(;)kAGH&(W965M<)CO?U#8&#S^-twJ|wx@PzJ2#;x*? zV8>2iaQRTXo+%V2{TzzhYev#@jU0z`s#T`s zl1ZP+r;rb(oH%ZtwPk~lEo*!y14FcD`GUb)6>b>Sr~Dbg(MaW_8fRJn`i<_3DDN}t zv!jVz4_oWr6H42uS-_gzcO+AN-1i^hOcO#GE!`lqWA)aN6hZp3F@e|Usmrb}z9NQ(9~NDDuFOu!T%&~fYL{D{>G-!FbUTo%2M z59H<}_va!AUi0e(-Y1v@*o+XkjOr)+^X%`&hLc*Aav&4Ovm+FBc*Fc;8^n&Q!|mr9 zh;K4;bV2gNWiJt3Ftpa1>veBeGpCu@i<=NlBrO|+Clc3gZm+OjFyQ*E^pzlD{ZLby z+rpEu2Nn}W+~*7smOUxwj3E+VwB(G5uYOeGloy%$`fh9vuq6kKTCTbNh#`ezQr`(U zu=mpzSD13}6CC&xEab4fwe$sMVMvrPbI{=dkTG|`>DeQ@D@T_4zT5IXFS3kH*kh@0M)V@i#S5R z`49N_unhJVF9krQ8)GIuTPN?*?ZdCr9Rhd~3}0RNkQ+N4Xy<0t8HobMG9qaJ-xZNJ z47HxE=W7ASo!_X*Cqg`}FpfF{Z@bL?Rn7o(bDHm4&HxGc9t!0TcRv(SVr*_NDfB5% zRadm8&fMbk&T^OzrK29~3!pO+>)l&up(N@)J0bZ)6>tEpU>H7;C+nzLbJ(Z1w0^4~ z5~K)(Ev|2d25Bxy0OyA*DOM;ZLDnQ*#fp~(rUU<2LbA&c!7&U0UKML3#p{$izgr;3 zsrUMR$byw#d`CQ@OB8j(EpzU$Ca>7hN;DJ$y!(>npA6R0Luf?|Kv(qrz`+(XU4~43 zgt+!8tP{YURcyKi-W<4TH=;h;DG^Tghtuz&Fje3lPV^$U#9=D}1|p%6caL+iJ8C;k zLnO7}@^CI_)DuF&1P^5aZK|!Go+I66o86(%sZzl8wEH%#p8P!YS_qx@ZW9cT;xF3O z$ZED^)EOYZWJ9wQK3zfekHu^+iv{MiIcpQ_5k&xi-}j6lQ97Hot+vHdU^HGZZ+rw{ z*c(F*@R*#y4}XCuUQ&O(*8x4v@gcfM?(1hwG$^TCn@l>8k80|U1`j^IeNT<5VF zkM*(bz6*c!+>`mH5l1pSUFjsHR}z6HlQw4m^Vm1Gd#LL18fw386FZ53^_ z3R%i^o3X?{O~Z9xJ%f=ZQazK@XYhjrHcDOD8>82F5qUhKvyWj0mRdK6m-s$2rG@u2 z6!8N;Oo%h4kq=;0`W4Zj@tjz*^IQ8FJk(Y?Dk#mf?hW*0HPDh0pBK~t$LayD%hD0p z#Y96j6%h{{x|!eGaSLRj9h<0_fP|=zG$u$pC6}OcEGUr(!{6=kP(6z zG17eVg=PB~F%A@&ep;~tAgiAvaCuv+t&47uSje+nemOVm2@;Vd_VbX8(Uzk=r>I`F zOG^vrO>Q;ztkl#mswQu~rtTlqa#tH7dhT)mb(bh(eNQjFey{)im?)ls`x!U&q)_Jk z8duzr4ay`KWiU*|{k?jK%*_%qaaN?K9%%cusqtOAPNuq){wx0xkPpq);;HJQ6yRd^ zk zf#eSzoh8K}P)l?sm5u%?CAc^ow=)m>1K%pp;&pp>1#G=-w>~8oh-lk#N+&9vmO(}G)*E4 zj*fd+`1CX@nTFuPHQx^L=59SYKl@+2KtM23|BK_tPgU?5gEv&;-qy}0_b2K;9kq!s_Q~qY7;WTBb-mv zFY0h`(rLSddlMX2QRWW!((;T%MC-dqV8&LDXN3E!22n6WDD~mOvr}H>yVku59*>$B zvjM{>1_;g>9vJJnIsrN|aK6-A1mwt4s?P|3xjE&hJrmeecRu0TcM~PX?B}|fYmHUV z`c7hP1>YJ8IL|hXvAp@q$P_~!OK`kzEa@ea0LG4TTh0QIlm&jcHt}8P`o2pRdb3?v zvfOOY4a9%7sv|}M^Gtnw0)BvChiHtesDd$r%-!|sAxq|gsC?vxD3ZrAMXsu&oJEq< zy6CyRUIJN8`=fpqkH^?9-1^D4!z)XK(ZPAUB+TdljJd--ZcN#@0+Tzorh&U)VM>gu zeipti;2%l`kklGH1CGxb$rOgBwRHFE?}=8J zkT2>12xMnMqKVF8hdNX9iU^DfI@@RF1%V0ljlmWg^ytyb(!lAp7J+ODuoZz^!by^I zxWzdGS3geb>KpVWYtE*nPf|JZIn`D|mkMbD8TP59x|GmR4lqS%?z%&3E&0q--ONq7 zF}S4vS<*@MG*f7*AHpc<329$c)iR^OEw@zz5PhEQ9tP6)au#?f(WajB%J@XV@37&d zbm}S8jHDoabz;1~yuO>1PSA=(yWrya6X_z<;7}kmSv-+tFm4neb;k^F zQ<;zd=AqBR_}^o-Z|Yj9^IK~FpM|ck0smR(ItlQfg|4*#|5@l-3-F(Xu2}*9S?Ib8 z@SlaQ8vy@V==uWipM|dd0RLI&8XfSTg|6oS|JR{wDJH{G*!8Ad)!%+g*3hN5ABf3j z!8iXd3YeI_sq02}U=-kQBK)5$(EMlF)c3j8;NA#2jKhmiEF%;`Y7PikO9C8*%s)TS z5p1GBMp-^O@2k5pwJMoPyJfgf>Y;%AIb$n*?R({vIxE|Z^ZgQt)G&7!GY9v~_Y$Ai zOHRxzF8-%kw}W`PP|$)bbqwo-XW@m4h)gqTAysBeA&t zALbg#p|HZpJ!Pe3qrY;yUjVWN*qqEbiG%`M5eZ5q5q<`78!)s6g|pMwkT$nwzVgUx z9L5N*uyC=}pX*x>EhG+(l13KUO%>UJg`pyWwKEjDgaS-$B5FoBzCi0C@Rx4uALKfj z`XA)_s(<+(mcEFO@rv$JC4>JLZTcX_@=xJ4=?X3m-Yr}54FYyN#B zbtcwZ^YHM{BrQ~}Am=SqsrM>ZRy;rBR#A89(^D^aeZLCOyvVo6|LPacSt~ylo>@pQ z5AiCc`((bv$#5TU>yzO4)-vy)S}MEDajWqo3az-3Hw2(oGTg%3lf5E3*c89=YST0l zfv90ny_XsU!*)Yn+>^wcMAlT>73tv4Vfn?G^Ek+Za7{Z-vxvCx#3>)_s~q&K!JvLp z{Sf%*_lFrqT3*WaPm-DkgiZHQ9a~9@cENfd3HiJ)?&)6U=_W-$hzA|4{c86^r~V|n zmSLT=TQ>mdBqcz9F;;zKfvvx2Gyl|^Szj~NM$PY~=Z6^j({QLAFG7D7FG%NlEL3H!skUdQs;6)f0kx@C;_&q18%a1-Yeb>+?sb>Mw>X4DpOF3 z{GmBbyyHP{$8`OTI>O&UW8KgjnRVY6rg`)bL4cIDa0f^U>CY0$m4LM_xRkRONWqSQ z5GJkGVPo)k-NgrSg5Igh3P8sZ8-=Qg5pWcgOQZe3k+DH6;7Vc^4{|bM=5PMwdm+u2 z2Bx6_LFSobg8qmHq-|KBevO};&dQWzt6C&*5_8Grugt6 zTL8?BLuzAjBfO|OB;kc;)1e{;Mh%O}K-z+6Fvn0561p=JYo-A186RieDBCd}2Hmvd z^B#l^tiZwjsb#zhnHGfT+DhJ8B7S64f3a*Cu5G6;xXDS7R&0a60)XrmVMW!aN*~#xWY9)6n|B=w_g@z9 zV~bR>=1}g=lO6K1FFlY_0hC6HXe!!0b);G?o|_h6p=ERwMiC^4`k!9F$A$U|5rDNT zEKPdoqf}S-jo)ljNE}_{g(K+V&hhZ=ok~t48(LVl)owRGo`xN_Q?{>zj>mpCJN}x= zGdod<>dz1wY+$=z4rDl{rT(3EC+WLsz)$O|Rdqf4+VVJ5w8g7rcdv7oiIRv`!eVK} zOgvfy#y_4En>d%hgk8f+@Bhjj3Je&jVhCZWY&FA-+>`Y?UCzWfs7ut35|OGW7`2+9 zD{JC>4^!GF%kEngfz4cQ6-@Jo!aRYgyAl;Jfelg_LJJdzG6}mi$t;#66GE%Ipf8h- zDKn#11!6pBMaL6wM@^6>L5QIzKK(QgOhAISGMki#vIdg!3?5v$d9K@AbpV7!q1-BF zvuAM=8U`c4$BDSzfk$aVg6|%XvpfsqB}3v4HrA91am!&M2M|N?y7u!ys6f#vU+Hp6 zsx2DQ4WqGH(^8@#i@DY#AovCScE$$U*b?r8;1FV{W6{aP7h*t&j=HG@>ZV;d!Lfkq z|EO`a$`aC$We2W1`QshdfCk_eb4Sk3@`9jj4Z`Ws07D8;eQ(35TkqJ#ohOKtTzRyI z@G3_a*h)i;1WWbYA-Mh9iaqjj-ks>ab>#d$6cW}K0=CUss(V8!GtW%jw_c_i41yb) zzMU@IuL<$vL!9#sso4ssP`^c`*i3iRS)fVkHQ|(?%o5(C8~b?lIdD z3%8%o7{-6_PUhW*ogT-A-#Cm8q1%b|}DEaE01h z1#SSy?$#Q>4{hI@PP)wA2r2rSd7o?DR3_(ZwcXHa2xfv8En*yS<-77(Kn;xpiug-& zd?{GI`p%2UT|eT5!0*UBOx)%r`y*KlHZ-;g_53Yx33E z$+Lqxa0F63G!VUPkj+$zUMJFq{N znDhekK7}v|#=S{2;VQv3@-u$1oDGth=|nL4)7?3R=7yL2@-o02F~~89t2;0%afXQh zQDmAX?39FXx-`*ujcm75rt`2;)rdiW=~rZ<264b6eAcJD0M#7K&x|JL#|loAq{}y_ z1h?C7nVh#gNXp7*Yhm+@)Je=0YY_xp?{V_T)K|~i6(JW$3=M=_K3K&^05mY3NYNSZ zJuR^xZ$=V!%RR0Dk{-bL-zN2ceYAnHv9TvQfKvgQHU5W%P!VK3y2v7epQS}W$qQXS zqlSk|#~BkPQ$9qYgnHX~H!~KEXgSp2TFv;RyYGJPF+`~@AoFxfAhOfCAzUXlt~H}H zKMs5riFHWI|OuXM^k$^+kVIGUvjQt}K0E%0DnI6aLG*j}4p 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

    pz_0RL(-9B* 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

    qq6ylJZYra~=e7z_tq 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%0DQ!? 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 z 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%0DWjEsDB# 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%0ArK~ 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 U-gK9bhqn*W)Y0+d(0!)=1jWAcwEzGB delta 352057 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≤A)y0+kJLaTJWfn${IJx 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 a=%3TS(jyX~a&d5SaPc8gQ%il4M*45W_K$J^

Tepihj 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⋙`*jbq4F6r3H+o8 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