Loading src/monitoring/monitoring_client.py +4 −4 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ class MonitoringClient: def MonitorKpi(self, request): LOGGER.info('MonitorKpi: {}'.format(request)) response = self.server.IncludeKpi(request) response = self.server.MonitorKpi(request) LOGGER.info('MonitorKpi result: {}'.format(response)) return context_pb2.Empty() Loading @@ -39,7 +39,7 @@ class MonitoringClient: def GetInstantKpi(self, request): LOGGER.info('GetInstantKpi: {}'.format(request)) response = self.server.IncludeKpi(request) response = self.server.GetInstantKpi(request) LOGGER.info('GetInstantKpi result: {}'.format(response)) return response Loading src/monitoring/monitoring_server.py +4 −4 Original line number Diff line number Diff line Loading @@ -45,18 +45,18 @@ class MonitoringServiceServicerImpl(monitoring_pb2_grpc.MonitoringServiceService def MonitorKpi ( self, request, context): # receives monitoring.KpiDevice returns context.Empty LOGGER.info('IncludeKpi') LOGGER.info('MonitorKpi') return context_pb2.Empty() def GetStream_kpi ( self, request, context): # receives monitoring.KpiId returns stream monitoring.Kpi LOGGER.info('IncludeKpi') return LOGGER.info('GetStream_kpi') return monitoring_pb2.KpiList() @MONITORING_GETINSTANTKPI_REQUEST_TIME.time() def GetInstantKpi ( self, request, context): # receives monitoring.KpiId returns monitoring.Kpi LOGGER.info('IncludeKpi') LOGGER.info('GetInstantKpi') return monitoring_pb2.Kpi() def start_server(address='[::]', port=PORT, max_workers=10): Loading src/monitoring/test_monitoring.pydeleted 100644 → 0 +0 −53 Original line number Diff line number Diff line import logging, pytest, time from . import context_pb2 from . import monitoring_pb2 from .monitoring_server import start_server, stop_server from .monitoring_client import MonitoringClient LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) SERVER_ADDRESS = '127.0.0.1' LISTEN_ADDRESS = '[::]' PORT = 7070 # This fixture will be requested by test cases and last during testing session @pytest.fixture(scope='session') def monitoring_service(): LOGGER.warning('monitoring_service begin') LOGGER.info('Initializing MonitoringService...') server = start_server(address=LISTEN_ADDRESS, port=PORT) # yield the server, when test finishes, execution will resume to stop it LOGGER.warning('monitoring_service yielding') yield server LOGGER.info('Terminating MonitoringService...') stop_server(server) # This fixture will be requested by test cases and last during testing session. # The client requires the server, so client fixture has the server as dependency. @pytest.fixture(scope='session') def monitoring_client(monitoring_service): LOGGER.warning('monitoring_client begin') client = MonitoringClient(server=SERVER_ADDRESS, port=PORT) # instantiate the client LOGGER.warning('monitoring_client returning') return client # Test case that makes use of client fixture to test server's IncludeKpi method def test_include_kpi(monitoring_client): LOGGER.warning('test_include_kpi begin') # form request kpi = monitoring_pb2.Kpi() kpi.kpi_id.kpi_id.uuid = 'KPIID0000' # pylint: disable=maybe-no-member kpi.kpiDescription = 'KPI Desc' # make call to server LOGGER.warning('test_include_kpi requesting') response = monitoring_client.IncludeKpi(kpi) LOGGER.debug(str(response)) assert isinstance(response, context_pb2.Empty) # You can add as many tests as you want. Just copy the "def test_include_kpi(monitoring_client):" and implement # appropriate tests. monitoring_client and monitoring_service fixtures and their connection are reused along tests. src/monitoring/tests/__init__.py 0 → 100644 +0 −0 Empty file added. src/monitoring/tests/test_monitoring.py +33 −27 Original line number Diff line number Diff line import logging, pytest, time from . import context_pb2 from . import monitoring_pb2 from .monitoring_server import start_server, stop_server from .monitoring_client import MonitoringClient import logging import pytest from .. import context_pb2 from .. import monitoring_pb2 from ..monitoring_client import MonitoringClient from ..monitoring_server import start_server, stop_server LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) Loading @@ -11,6 +13,9 @@ SERVER_ADDRESS = '127.0.0.1' LISTEN_ADDRESS = '[::]' PORT = 7070 ########################### # Tests Setup ########################### # This fixture will be requested by test cases and last during testing session @pytest.fixture(scope='session') Loading @@ -37,48 +42,49 @@ def monitoring_client(monitoring_service): LOGGER.warning('monitoring_client returning') return client # Test case that makes use of client fixture to test server's IncludeKpi method def test_include_kpi(monitoring_client): # This fixture will be requested by test cases and last during testing session. @pytest.fixture(scope='session') def kpi(): LOGGER.warning('test_include_kpi begin') # form request kpi = monitoring_pb2.Kpi() kpi.kpi_id.kpi_id.uuid = 'KPIID0000' # pylint: disable=maybe-no-member kpi.kpiDescription = 'KPI Desc' return kpi ########################### # Tests Implementation ########################### # Test case that makes use of client fixture to test server's IncludeKpi method def test_include_kpi(monitoring_client,kpi): # make call to server LOGGER.warning('test_include_kpi requesting') response = monitoring_client.IncludeKpi(kpi) LOGGER.debug(str(response)) assert isinstance(response, context_pb2.Empty) # You can add as many tests as you want. Just copy the "def test_include_kpi(monitoring_client):" and implement # appropriate tests. monitoring_client and monitoring_service fixtures and their connection are reused along tests. # Test case that makes use of client fixture to test server's MonitorKpi method def test_monitor_kpi(monitoring_client): def test_monitor_kpi(monitoring_client,kpi): LOGGER.warning('test_monitor_kpi begin') # form request kpi = monitoring_pb2.Kpi() # TBC response = monitoring_client.MonitorKpi(kpi) LOGGER.debug(str(response)) assert isinstance(response, context_pb2.Empty) # Test case that makes use of client fixture to test server's GetStreamKpi method def test_getstream_kpi(monitoring_client): def test_getstream_kpi(monitoring_client,kpi): LOGGER.warning('test_getstream_kpi begin') # form request kpi = monitoring_pb2.Kpi() # TBC response = monitoring_client.GetStream_kpi(kpi) LOGGER.debug(str(response)) assert isinstance(response, monitoring_pb2.Kpi) # Test case that makes use of client fixture to test server's GetInstantKpi method def test_getinstant_kpi(monitoring_client): def test_getinstant_kpi(monitoring_client,kpi): LOGGER.warning('test_getinstant_kpi begin') # form request kpi = monitoring_pb2.Kpi() # TBC No newline at end of file response = monitoring_client.GetInstantKpi(kpi) LOGGER.debug(str(response)) assert isinstance(response, monitoring_pb2.Kpi) Loading
src/monitoring/monitoring_client.py +4 −4 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ class MonitoringClient: def MonitorKpi(self, request): LOGGER.info('MonitorKpi: {}'.format(request)) response = self.server.IncludeKpi(request) response = self.server.MonitorKpi(request) LOGGER.info('MonitorKpi result: {}'.format(response)) return context_pb2.Empty() Loading @@ -39,7 +39,7 @@ class MonitoringClient: def GetInstantKpi(self, request): LOGGER.info('GetInstantKpi: {}'.format(request)) response = self.server.IncludeKpi(request) response = self.server.GetInstantKpi(request) LOGGER.info('GetInstantKpi result: {}'.format(response)) return response Loading
src/monitoring/monitoring_server.py +4 −4 Original line number Diff line number Diff line Loading @@ -45,18 +45,18 @@ class MonitoringServiceServicerImpl(monitoring_pb2_grpc.MonitoringServiceService def MonitorKpi ( self, request, context): # receives monitoring.KpiDevice returns context.Empty LOGGER.info('IncludeKpi') LOGGER.info('MonitorKpi') return context_pb2.Empty() def GetStream_kpi ( self, request, context): # receives monitoring.KpiId returns stream monitoring.Kpi LOGGER.info('IncludeKpi') return LOGGER.info('GetStream_kpi') return monitoring_pb2.KpiList() @MONITORING_GETINSTANTKPI_REQUEST_TIME.time() def GetInstantKpi ( self, request, context): # receives monitoring.KpiId returns monitoring.Kpi LOGGER.info('IncludeKpi') LOGGER.info('GetInstantKpi') return monitoring_pb2.Kpi() def start_server(address='[::]', port=PORT, max_workers=10): Loading
src/monitoring/test_monitoring.pydeleted 100644 → 0 +0 −53 Original line number Diff line number Diff line import logging, pytest, time from . import context_pb2 from . import monitoring_pb2 from .monitoring_server import start_server, stop_server from .monitoring_client import MonitoringClient LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) SERVER_ADDRESS = '127.0.0.1' LISTEN_ADDRESS = '[::]' PORT = 7070 # This fixture will be requested by test cases and last during testing session @pytest.fixture(scope='session') def monitoring_service(): LOGGER.warning('monitoring_service begin') LOGGER.info('Initializing MonitoringService...') server = start_server(address=LISTEN_ADDRESS, port=PORT) # yield the server, when test finishes, execution will resume to stop it LOGGER.warning('monitoring_service yielding') yield server LOGGER.info('Terminating MonitoringService...') stop_server(server) # This fixture will be requested by test cases and last during testing session. # The client requires the server, so client fixture has the server as dependency. @pytest.fixture(scope='session') def monitoring_client(monitoring_service): LOGGER.warning('monitoring_client begin') client = MonitoringClient(server=SERVER_ADDRESS, port=PORT) # instantiate the client LOGGER.warning('monitoring_client returning') return client # Test case that makes use of client fixture to test server's IncludeKpi method def test_include_kpi(monitoring_client): LOGGER.warning('test_include_kpi begin') # form request kpi = monitoring_pb2.Kpi() kpi.kpi_id.kpi_id.uuid = 'KPIID0000' # pylint: disable=maybe-no-member kpi.kpiDescription = 'KPI Desc' # make call to server LOGGER.warning('test_include_kpi requesting') response = monitoring_client.IncludeKpi(kpi) LOGGER.debug(str(response)) assert isinstance(response, context_pb2.Empty) # You can add as many tests as you want. Just copy the "def test_include_kpi(monitoring_client):" and implement # appropriate tests. monitoring_client and monitoring_service fixtures and their connection are reused along tests.
src/monitoring/tests/test_monitoring.py +33 −27 Original line number Diff line number Diff line import logging, pytest, time from . import context_pb2 from . import monitoring_pb2 from .monitoring_server import start_server, stop_server from .monitoring_client import MonitoringClient import logging import pytest from .. import context_pb2 from .. import monitoring_pb2 from ..monitoring_client import MonitoringClient from ..monitoring_server import start_server, stop_server LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) Loading @@ -11,6 +13,9 @@ SERVER_ADDRESS = '127.0.0.1' LISTEN_ADDRESS = '[::]' PORT = 7070 ########################### # Tests Setup ########################### # This fixture will be requested by test cases and last during testing session @pytest.fixture(scope='session') Loading @@ -37,48 +42,49 @@ def monitoring_client(monitoring_service): LOGGER.warning('monitoring_client returning') return client # Test case that makes use of client fixture to test server's IncludeKpi method def test_include_kpi(monitoring_client): # This fixture will be requested by test cases and last during testing session. @pytest.fixture(scope='session') def kpi(): LOGGER.warning('test_include_kpi begin') # form request kpi = monitoring_pb2.Kpi() kpi.kpi_id.kpi_id.uuid = 'KPIID0000' # pylint: disable=maybe-no-member kpi.kpiDescription = 'KPI Desc' return kpi ########################### # Tests Implementation ########################### # Test case that makes use of client fixture to test server's IncludeKpi method def test_include_kpi(monitoring_client,kpi): # make call to server LOGGER.warning('test_include_kpi requesting') response = monitoring_client.IncludeKpi(kpi) LOGGER.debug(str(response)) assert isinstance(response, context_pb2.Empty) # You can add as many tests as you want. Just copy the "def test_include_kpi(monitoring_client):" and implement # appropriate tests. monitoring_client and monitoring_service fixtures and their connection are reused along tests. # Test case that makes use of client fixture to test server's MonitorKpi method def test_monitor_kpi(monitoring_client): def test_monitor_kpi(monitoring_client,kpi): LOGGER.warning('test_monitor_kpi begin') # form request kpi = monitoring_pb2.Kpi() # TBC response = monitoring_client.MonitorKpi(kpi) LOGGER.debug(str(response)) assert isinstance(response, context_pb2.Empty) # Test case that makes use of client fixture to test server's GetStreamKpi method def test_getstream_kpi(monitoring_client): def test_getstream_kpi(monitoring_client,kpi): LOGGER.warning('test_getstream_kpi begin') # form request kpi = monitoring_pb2.Kpi() # TBC response = monitoring_client.GetStream_kpi(kpi) LOGGER.debug(str(response)) assert isinstance(response, monitoring_pb2.Kpi) # Test case that makes use of client fixture to test server's GetInstantKpi method def test_getinstant_kpi(monitoring_client): def test_getinstant_kpi(monitoring_client,kpi): LOGGER.warning('test_getinstant_kpi begin') # form request kpi = monitoring_pb2.Kpi() # TBC No newline at end of file response = monitoring_client.GetInstantKpi(kpi) LOGGER.debug(str(response)) assert isinstance(response, monitoring_pb2.Kpi)