Commit 7322bc1c authored by Javi Moreno's avatar Javi Moreno
Browse files

Fixed new tests, WIP

parent 6c5395ad
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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()

@@ -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

+4 −4
Original line number Diff line number Diff line
@@ -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):

src/monitoring/test_monitoring.py

deleted100644 → 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.
+0 −0

Empty file added.

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