Commit bc07386c authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Initial backup of device component re-working.

parent d6d55efb
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -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:
+12 −12
Original line number Diff line number Diff line
@@ -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
+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
@@ -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
@@ -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:
+1 −1
Original line number Diff line number Diff line
@@ -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()

+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__)
@@ -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