Loading manifests/deviceservice.yaml +0 −4 Original line number Diff line number Diff line Loading @@ -19,10 +19,6 @@ spec: ports: - containerPort: 2020 env: - name: DB_ENGINE value: "redis" - name: REDIS_DATABASE_ID value: "0" - name: LOG_LEVEL value: "DEBUG" readinessProbe: Loading run_local_tests.sh +12 −12 Original line number Diff line number Diff line Loading @@ -14,23 +14,23 @@ cat $PROJECTDIR/coverage/.coveragerc.template | sed s+~/teraflow/controller+$PRO # First destroy old coverage file rm -f $COVERAGEFILE coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ common/orm/tests/test_unitary.py \ common/message_broker/tests/test_unitary.py \ common/rpc_method_wrapper/tests/test_unitary.py #coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ # common/orm/tests/test_unitary.py \ # common/message_broker/tests/test_unitary.py \ # common/rpc_method_wrapper/tests/test_unitary.py coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ centralizedattackdetector/tests/test_unitary.py #coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ # centralizedattackdetector/tests/test_unitary.py coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ context/tests/test_unitary.py #coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ # context/tests/test_unitary.py coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ device/tests/test_unitary_driverapi.py \ device/tests/test_unitary_service.py coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ service/tests/test_unitary.py #coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ # service/tests/test_unitary.py coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ compute/tests/test_unitary.py #coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ # compute/tests/test_unitary.py src/common/message_broker/tests/test_unitary.py +20 −11 Original line number Diff line number Diff line import logging, pytest, threading, time import logging, os, pytest, threading, time from typing import List, Set from common.message_broker.Factory import get_messagebroker_backend from common.message_broker.Message import Message Loading @@ -9,13 +9,19 @@ from common.message_broker.backend._Backend import _Backend logging.basicConfig(level=logging.INFO) LOGGER = logging.getLogger(__name__) DEFAULT_REDIS_SERVICE_HOST = '127.0.0.1' DEFAULT_REDIS_SERVICE_PORT = 6379 DEFAULT_REDIS_DATABASE_ID = 0 REDIS_CONFIG = { 'REDIS_SERVICE_HOST': os.environ.get('REDIS_SERVICE_HOST', DEFAULT_REDIS_SERVICE_HOST), 'REDIS_SERVICE_PORT': os.environ.get('REDIS_SERVICE_PORT', DEFAULT_REDIS_SERVICE_PORT), 'REDIS_DATABASE_ID' : os.environ.get('REDIS_DATABASE_ID', DEFAULT_REDIS_DATABASE_ID ), } SCENARIOS = [ (BackendEnum.INMEMORY, {}), (BackendEnum.REDIS, { 'REDIS_SERVICE_HOST': '10.1.7.194', 'REDIS_SERVICE_PORT': 30283, 'REDIS_DATABASE_ID': 0, }), ('all_inmemory', BackendEnum.INMEMORY, {} ), ('all_redis', BackendEnum.REDIS, REDIS_CONFIG), ] CONSUME_TIMEOUT = 0.1 # seconds Loading Loading @@ -43,11 +49,14 @@ class Consumer(threading.Thread): self._output_list.append(message) LOGGER.info('{:s} terminates') @pytest.fixture(scope='session', ids=[str(scenario[0].value) for scenario in SCENARIOS], params=SCENARIOS) @pytest.fixture(scope='session', ids=[str(scenario[0]) for scenario in SCENARIOS], params=SCENARIOS) def message_broker(request): backend,settings = request.param LOGGER.info('Running fixture with backend={:s}, settings={:s}...'.format(str(backend), str(settings))) return MessageBroker(get_messagebroker_backend(backend=backend, **settings)) name,mb_backend,mb_settings = request.param msg = 'Running scenario {:s} mb_backend={:s}, mb_settings={:s}...' LOGGER.info(msg.format(str(name), str(mb_backend.value), str(mb_settings))) _message_broker = MessageBroker(get_messagebroker_backend(backend=mb_backend, **mb_settings)) yield _message_broker _message_broker.terminate() def test_messagebroker_instantiation(): with pytest.raises(AttributeError) as e: Loading src/context/service/__main__.py +1 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ from context.service.rest_server.Resources import RESOURCES terminate = threading.Event() LOGGER = None def signal_handler(signal_, frame): def signal_handler(signal, frame): # pylint: disable=redefined-outer-name LOGGER.warning('Terminate signal received') terminate.set() Loading src/device/client/DeviceClient.py +14 −7 Original line number Diff line number Diff line import grpc, logging from common.tools.client.RetryDecorator import retry, delay_exponential from device.proto.context_pb2 import Device, DeviceId, Empty from device.proto.context_pb2 import Device, DeviceConfig, DeviceId, Empty from device.proto.device_pb2_grpc import DeviceServiceStub LOGGER = logging.getLogger(__name__) Loading @@ -27,21 +27,28 @@ class DeviceClient: @retry(exceptions=set(), max_retries=MAX_RETRIES, delay_function=DELAY_FUNCTION, prepare_method_name='connect') def AddDevice(self, request : Device) -> DeviceId: LOGGER.debug('AddDevice request: {}'.format(request)) LOGGER.debug('AddDevice request: {:s}'.format(request)) response = self.stub.AddDevice(request) LOGGER.debug('AddDevice result: {}'.format(response)) LOGGER.debug('AddDevice result: {:s}'.format(response)) return response @retry(exceptions=set(), max_retries=MAX_RETRIES, delay_function=DELAY_FUNCTION, prepare_method_name='connect') def ConfigureDevice(self, request : Device) -> DeviceId: LOGGER.debug('ConfigureDevice request: {}'.format(request)) LOGGER.debug('ConfigureDevice request: {:s}'.format(request)) response = self.stub.ConfigureDevice(request) LOGGER.debug('ConfigureDevice result: {}'.format(response)) LOGGER.debug('ConfigureDevice result: {:s}'.format(response)) return response @retry(exceptions=set(), max_retries=MAX_RETRIES, delay_function=DELAY_FUNCTION, prepare_method_name='connect') def DeleteDevice(self, request : DeviceId) -> Empty: LOGGER.debug('DeleteDevice request: {}'.format(request)) LOGGER.debug('DeleteDevice request: {:s}'.format(request)) response = self.stub.DeleteDevice(request) LOGGER.debug('DeleteDevice result: {}'.format(response)) LOGGER.debug('DeleteDevice result: {:s}'.format(response)) return response @retry(exceptions=set(), max_retries=MAX_RETRIES, delay_function=DELAY_FUNCTION, prepare_method_name='connect') def GetInitialConfig(self, request : DeviceId) -> DeviceConfig: LOGGER.debug('GetInitialConfig request: {:s}'.format(request)) response = self.stub.GetInitialConfig(request) LOGGER.debug('GetInitialConfig result: {:s}'.format(response)) return response Loading
manifests/deviceservice.yaml +0 −4 Original line number Diff line number Diff line Loading @@ -19,10 +19,6 @@ spec: ports: - containerPort: 2020 env: - name: DB_ENGINE value: "redis" - name: REDIS_DATABASE_ID value: "0" - name: LOG_LEVEL value: "DEBUG" readinessProbe: Loading
run_local_tests.sh +12 −12 Original line number Diff line number Diff line Loading @@ -14,23 +14,23 @@ cat $PROJECTDIR/coverage/.coveragerc.template | sed s+~/teraflow/controller+$PRO # First destroy old coverage file rm -f $COVERAGEFILE coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ common/orm/tests/test_unitary.py \ common/message_broker/tests/test_unitary.py \ common/rpc_method_wrapper/tests/test_unitary.py #coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ # common/orm/tests/test_unitary.py \ # common/message_broker/tests/test_unitary.py \ # common/rpc_method_wrapper/tests/test_unitary.py coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ centralizedattackdetector/tests/test_unitary.py #coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ # centralizedattackdetector/tests/test_unitary.py coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ context/tests/test_unitary.py #coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ # context/tests/test_unitary.py coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ device/tests/test_unitary_driverapi.py \ device/tests/test_unitary_service.py coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ service/tests/test_unitary.py #coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ # service/tests/test_unitary.py coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ compute/tests/test_unitary.py #coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ # compute/tests/test_unitary.py
src/common/message_broker/tests/test_unitary.py +20 −11 Original line number Diff line number Diff line import logging, pytest, threading, time import logging, os, pytest, threading, time from typing import List, Set from common.message_broker.Factory import get_messagebroker_backend from common.message_broker.Message import Message Loading @@ -9,13 +9,19 @@ from common.message_broker.backend._Backend import _Backend logging.basicConfig(level=logging.INFO) LOGGER = logging.getLogger(__name__) DEFAULT_REDIS_SERVICE_HOST = '127.0.0.1' DEFAULT_REDIS_SERVICE_PORT = 6379 DEFAULT_REDIS_DATABASE_ID = 0 REDIS_CONFIG = { 'REDIS_SERVICE_HOST': os.environ.get('REDIS_SERVICE_HOST', DEFAULT_REDIS_SERVICE_HOST), 'REDIS_SERVICE_PORT': os.environ.get('REDIS_SERVICE_PORT', DEFAULT_REDIS_SERVICE_PORT), 'REDIS_DATABASE_ID' : os.environ.get('REDIS_DATABASE_ID', DEFAULT_REDIS_DATABASE_ID ), } SCENARIOS = [ (BackendEnum.INMEMORY, {}), (BackendEnum.REDIS, { 'REDIS_SERVICE_HOST': '10.1.7.194', 'REDIS_SERVICE_PORT': 30283, 'REDIS_DATABASE_ID': 0, }), ('all_inmemory', BackendEnum.INMEMORY, {} ), ('all_redis', BackendEnum.REDIS, REDIS_CONFIG), ] CONSUME_TIMEOUT = 0.1 # seconds Loading Loading @@ -43,11 +49,14 @@ class Consumer(threading.Thread): self._output_list.append(message) LOGGER.info('{:s} terminates') @pytest.fixture(scope='session', ids=[str(scenario[0].value) for scenario in SCENARIOS], params=SCENARIOS) @pytest.fixture(scope='session', ids=[str(scenario[0]) for scenario in SCENARIOS], params=SCENARIOS) def message_broker(request): backend,settings = request.param LOGGER.info('Running fixture with backend={:s}, settings={:s}...'.format(str(backend), str(settings))) return MessageBroker(get_messagebroker_backend(backend=backend, **settings)) name,mb_backend,mb_settings = request.param msg = 'Running scenario {:s} mb_backend={:s}, mb_settings={:s}...' LOGGER.info(msg.format(str(name), str(mb_backend.value), str(mb_settings))) _message_broker = MessageBroker(get_messagebroker_backend(backend=mb_backend, **mb_settings)) yield _message_broker _message_broker.terminate() def test_messagebroker_instantiation(): with pytest.raises(AttributeError) as e: Loading
src/context/service/__main__.py +1 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ from context.service.rest_server.Resources import RESOURCES terminate = threading.Event() LOGGER = None def signal_handler(signal_, frame): def signal_handler(signal, frame): # pylint: disable=redefined-outer-name LOGGER.warning('Terminate signal received') terminate.set() Loading
src/device/client/DeviceClient.py +14 −7 Original line number Diff line number Diff line import grpc, logging from common.tools.client.RetryDecorator import retry, delay_exponential from device.proto.context_pb2 import Device, DeviceId, Empty from device.proto.context_pb2 import Device, DeviceConfig, DeviceId, Empty from device.proto.device_pb2_grpc import DeviceServiceStub LOGGER = logging.getLogger(__name__) Loading @@ -27,21 +27,28 @@ class DeviceClient: @retry(exceptions=set(), max_retries=MAX_RETRIES, delay_function=DELAY_FUNCTION, prepare_method_name='connect') def AddDevice(self, request : Device) -> DeviceId: LOGGER.debug('AddDevice request: {}'.format(request)) LOGGER.debug('AddDevice request: {:s}'.format(request)) response = self.stub.AddDevice(request) LOGGER.debug('AddDevice result: {}'.format(response)) LOGGER.debug('AddDevice result: {:s}'.format(response)) return response @retry(exceptions=set(), max_retries=MAX_RETRIES, delay_function=DELAY_FUNCTION, prepare_method_name='connect') def ConfigureDevice(self, request : Device) -> DeviceId: LOGGER.debug('ConfigureDevice request: {}'.format(request)) LOGGER.debug('ConfigureDevice request: {:s}'.format(request)) response = self.stub.ConfigureDevice(request) LOGGER.debug('ConfigureDevice result: {}'.format(response)) LOGGER.debug('ConfigureDevice result: {:s}'.format(response)) return response @retry(exceptions=set(), max_retries=MAX_RETRIES, delay_function=DELAY_FUNCTION, prepare_method_name='connect') def DeleteDevice(self, request : DeviceId) -> Empty: LOGGER.debug('DeleteDevice request: {}'.format(request)) LOGGER.debug('DeleteDevice request: {:s}'.format(request)) response = self.stub.DeleteDevice(request) LOGGER.debug('DeleteDevice result: {}'.format(response)) LOGGER.debug('DeleteDevice result: {:s}'.format(response)) return response @retry(exceptions=set(), max_retries=MAX_RETRIES, delay_function=DELAY_FUNCTION, prepare_method_name='connect') def GetInitialConfig(self, request : DeviceId) -> DeviceConfig: LOGGER.debug('GetInitialConfig request: {:s}'.format(request)) response = self.stub.GetInitialConfig(request) LOGGER.debug('GetInitialConfig result: {:s}'.format(response)) return response