Commit 2d410ea8 authored by Francisco-Javier Moreno-Muro's avatar Francisco-Javier Moreno-Muro
Browse files

Improve QueryKpiData RPC

parent 86951ab9
Loading
Loading
Loading
Loading
+34 −30
Original line number Original line Diff line number Diff line
@@ -182,17 +182,17 @@ def subs_scheduler():


    return _scheduler
    return _scheduler


def ingestion_data():
def ingestion_data(kpi_id_int):
    metrics_db = MetricsDB("localhost", "9009", "9000", "monitoring")
    metrics_db = MetricsDB("localhost", "9009", "9000", "monitoring")


    for i in range(200):
    for i in range(50):
        kpiSampleType   = KpiSampleType.Name(KpiSampleType.KPISAMPLETYPE_PACKETS_RECEIVED).upper().replace('KPISAMPLETYPE_', '')
        kpiSampleType   = KpiSampleType.Name(KpiSampleType.KPISAMPLETYPE_PACKETS_RECEIVED).upper().replace('KPISAMPLETYPE_', '')
        kpiId = "3"
        kpiId           = kpi_id_int
        deviceId = 'DEV3'
        deviceId        = 'DEV'+ str(kpi_id_int)
        endpointId = 'END3'
        endpointId      = 'END' + str(kpi_id_int)
        serviceId = 'SERV3'
        serviceId       = 'SERV' + str(kpi_id_int)
        sliceId = 'SLC3'
        sliceId         = 'SLC' + str(kpi_id_int)
        connectionId = 'CON3'
        connectionId    = 'CON' + str(kpi_id_int)
        time_stamp      = timestamp_utcnow_to_float()
        time_stamp      = timestamp_utcnow_to_float()
        kpi_value       = 500*random()
        kpi_value       = 500*random()


@@ -208,9 +208,8 @@ def ingestion_data():
def test_set_kpi(monitoring_client): # pylint: disable=redefined-outer-name
def test_set_kpi(monitoring_client): # pylint: disable=redefined-outer-name
    # make call to server
    # make call to server
    LOGGER.warning('test_create_kpi requesting')
    LOGGER.warning('test_create_kpi requesting')
    response = monitoring_client.SetKpi(create_kpi_request())
    for i in range(3):
    LOGGER.debug(str(response))
        response = monitoring_client.SetKpi(create_kpi_request(str(i+1)))
    response = monitoring_client.SetKpi(create_kpi_request_b())
        LOGGER.debug(str(response))
        LOGGER.debug(str(response))
        assert isinstance(response, KpiId)
        assert isinstance(response, KpiId)


@@ -219,7 +218,7 @@ def test_set_kpi(monitoring_client): # pylint: disable=redefined-outer-name
def test_delete_kpi(monitoring_client): # pylint: disable=redefined-outer-name
def test_delete_kpi(monitoring_client): # pylint: disable=redefined-outer-name
    # make call to server
    # make call to server
    LOGGER.warning('delete_kpi requesting')
    LOGGER.warning('delete_kpi requesting')
    response = monitoring_client.SetKpi(create_kpi_request_b())
    response = monitoring_client.SetKpi(create_kpi_request('4'))
    response = monitoring_client.DeleteKpi(response)
    response = monitoring_client.DeleteKpi(response)
    LOGGER.debug(str(response))
    LOGGER.debug(str(response))
    assert isinstance(response, Empty)
    assert isinstance(response, Empty)
@@ -227,7 +226,7 @@ def test_delete_kpi(monitoring_client): # pylint: disable=redefined-outer-name
# Test case that makes use of client fixture to test server's GetKpiDescriptor method
# Test case that makes use of client fixture to test server's GetKpiDescriptor method
def test_get_kpidescritor(monitoring_client): # pylint: disable=redefined-outer-name
def test_get_kpidescritor(monitoring_client): # pylint: disable=redefined-outer-name
    LOGGER.warning('test_getkpidescritor_kpi begin')
    LOGGER.warning('test_getkpidescritor_kpi begin')
    response = monitoring_client.SetKpi(create_kpi_request_c())
    response = monitoring_client.SetKpi(create_kpi_request('1'))
    response = monitoring_client.GetKpiDescriptor(response)
    response = monitoring_client.GetKpiDescriptor(response)
    LOGGER.debug(str(response))
    LOGGER.debug(str(response))
    assert isinstance(response, KpiDescriptor)
    assert isinstance(response, KpiDescriptor)
@@ -243,7 +242,8 @@ def test_get_kpi_descriptor_list(monitoring_client): # pylint: disable=redefined
def test_include_kpi(monitoring_client): # pylint: disable=redefined-outer-name
def test_include_kpi(monitoring_client): # pylint: disable=redefined-outer-name
    # make call to server
    # make call to server
    LOGGER.warning('test_include_kpi requesting')
    LOGGER.warning('test_include_kpi requesting')
    kpi_id = monitoring_client.SetKpi(create_kpi_request_c())
    kpi_id = monitoring_client.SetKpi(create_kpi_request('1'))
    LOGGER.debug(str(kpi_id))
    response = monitoring_client.IncludeKpi(include_kpi_request(kpi_id))
    response = monitoring_client.IncludeKpi(include_kpi_request(kpi_id))
    LOGGER.debug(str(response))
    LOGGER.debug(str(response))
    assert isinstance(response, Empty)
    assert isinstance(response, Empty)
@@ -277,7 +277,7 @@ def test_monitor_kpi(
    response = device_client.AddDevice(Device(**device_with_connect_rules))
    response = device_client.AddDevice(Device(**device_with_connect_rules))
    assert response.device_uuid.uuid == DEVICE_DEV1_UUID
    assert response.device_uuid.uuid == DEVICE_DEV1_UUID


    response = monitoring_client.SetKpi(create_kpi_request())
    response = monitoring_client.SetKpi(create_kpi_request('1'))
    _monitor_kpi_request = monitor_kpi_request(response.kpi_id.uuid, 120, 5) # pylint: disable=maybe-no-member
    _monitor_kpi_request = monitor_kpi_request(response.kpi_id.uuid, 120, 5) # pylint: disable=maybe-no-member
    response = monitoring_client.MonitorKpi(_monitor_kpi_request)
    response = monitoring_client.MonitorKpi(_monitor_kpi_request)
    LOGGER.debug(str(response))
    LOGGER.debug(str(response))
@@ -287,19 +287,23 @@ def test_monitor_kpi(
def test_query_kpi_data(monitoring_client,subs_scheduler): # pylint: disable=redefined-outer-name
def test_query_kpi_data(monitoring_client,subs_scheduler): # pylint: disable=redefined-outer-name


    kpi_id_list = []
    kpi_id_list = []
    kpi_id = monitoring_client.SetKpi(create_kpi_request_c())
    for i in range(2):
    subs_scheduler.add_job(ingestion_data)
        kpi_id = monitoring_client.SetKpi(create_kpi_request(str(i+1)))
        subs_scheduler.add_job(ingestion_data, args=[kpi_id.kpi_id.uuid])
        kpi_id_list.append(kpi_id)
        kpi_id_list.append(kpi_id)
    LOGGER.warning('test_query_kpi_data')
    LOGGER.warning('test_query_kpi_data')
    sleep(5)
    response = monitoring_client.QueryKpiData(kpi_query(kpi_id_list))
    response = monitoring_client.QueryKpiData(kpi_query(kpi_id_list))
    LOGGER.debug(str(response))
    LOGGER.debug(str(response))
    assert isinstance(response, RawKpiTable)
    assert isinstance(response, RawKpiTable)
    if (subs_scheduler.state != STATE_STOPPED):
        subs_scheduler.shutdown()


# Test case that makes use of client fixture to test server's SetKpiSubscription method
# Test case that makes use of client fixture to test server's SetKpiSubscription method
def test_set_kpi_subscription(monitoring_client,subs_scheduler): # pylint: disable=redefined-outer-name
def test_set_kpi_subscription(monitoring_client,subs_scheduler): # pylint: disable=redefined-outer-name
    LOGGER.warning('test_set_kpi_subscription')
    LOGGER.warning('test_set_kpi_subscription')
    kpi_id = monitoring_client.SetKpi(create_kpi_request_c())
    kpi_id = monitoring_client.SetKpi(create_kpi_request('1'))
    subs_scheduler.add_job(ingestion_data)
    subs_scheduler.add_job(ingestion_data, args=[kpi_id.kpi_id.uuid])
    response = monitoring_client.SetKpiSubscription(subs_descriptor(kpi_id))
    response = monitoring_client.SetKpiSubscription(subs_descriptor(kpi_id))
    assert isinstance(response, _MultiThreadedRendezvous)
    assert isinstance(response, _MultiThreadedRendezvous)
    for item in response:
    for item in response:
@@ -363,9 +367,9 @@ def test_get_alarm_descriptor(monitoring_client):
# Test case that makes use of client fixture to test server's GetAlarmResponseStream method
# Test case that makes use of client fixture to test server's GetAlarmResponseStream method
def test_get_alarm_response_stream(monitoring_client,subs_scheduler):
def test_get_alarm_response_stream(monitoring_client,subs_scheduler):
    LOGGER.warning('test_get_alarm_descriptor')
    LOGGER.warning('test_get_alarm_descriptor')
    _kpi_id = monitoring_client.SetKpi(create_kpi_request_c())
    _kpi_id = monitoring_client.SetKpi(create_kpi_request('3'))
    _alarm_id = monitoring_client.SetKpiAlarm(alarm_descriptor(_kpi_id))
    _alarm_id = monitoring_client.SetKpiAlarm(alarm_descriptor(_kpi_id))
    subs_scheduler.add_job(ingestion_data)
    subs_scheduler.add_job(ingestion_data,args=[_kpi_id.kpi_id.uuid])
    _response = monitoring_client.GetAlarmResponseStream(alarm_subscription(_alarm_id))
    _response = monitoring_client.GetAlarmResponseStream(alarm_subscription(_alarm_id))
    assert isinstance(_response, _MultiThreadedRendezvous)
    assert isinstance(_response, _MultiThreadedRendezvous)
    for item in _response:
    for item in _response:
@@ -403,7 +407,7 @@ def test_get_stream_kpi(monitoring_client): # pylint: disable=redefined-outer-na


def test_managementdb_tools_insert_kpi(management_db): # pylint: disable=redefined-outer-name
def test_managementdb_tools_insert_kpi(management_db): # pylint: disable=redefined-outer-name
    LOGGER.warning('test_managementdb_tools_insert_kpi begin')
    LOGGER.warning('test_managementdb_tools_insert_kpi begin')
    _create_kpi_request = create_kpi_request()
    _create_kpi_request = create_kpi_request('5')
    kpi_description = _create_kpi_request.kpi_description                # pylint: disable=maybe-no-member
    kpi_description = _create_kpi_request.kpi_description                # pylint: disable=maybe-no-member
    kpi_sample_type = _create_kpi_request.kpi_sample_type                # pylint: disable=maybe-no-member
    kpi_sample_type = _create_kpi_request.kpi_sample_type                # pylint: disable=maybe-no-member
    kpi_device_id   = _create_kpi_request.device_id.device_uuid.uuid     # pylint: disable=maybe-no-member
    kpi_device_id   = _create_kpi_request.device_id.device_uuid.uuid     # pylint: disable=maybe-no-member
@@ -417,7 +421,7 @@ def test_managementdb_tools_insert_kpi(management_db): # pylint: disable=redefin


def test_managementdb_tools_get_kpi(management_db): # pylint: disable=redefined-outer-name
def test_managementdb_tools_get_kpi(management_db): # pylint: disable=redefined-outer-name
    LOGGER.warning('test_managementdb_tools_get_kpi begin')
    LOGGER.warning('test_managementdb_tools_get_kpi begin')
    _create_kpi_request = create_kpi_request()
    _create_kpi_request = create_kpi_request('5')
    kpi_description = _create_kpi_request.kpi_description                # pylint: disable=maybe-no-member
    kpi_description = _create_kpi_request.kpi_description                # pylint: disable=maybe-no-member
    kpi_sample_type = _create_kpi_request.kpi_sample_type                # pylint: disable=maybe-no-member
    kpi_sample_type = _create_kpi_request.kpi_sample_type                # pylint: disable=maybe-no-member
    kpi_device_id   = _create_kpi_request.device_id.device_uuid.uuid     # pylint: disable=maybe-no-member
    kpi_device_id   = _create_kpi_request.device_id.device_uuid.uuid     # pylint: disable=maybe-no-member
@@ -438,7 +442,7 @@ def test_managementdb_tools_get_kpis(management_db): # pylint: disable=redefined
def test_managementdb_tools_delete_kpi(management_db): # pylint: disable=redefined-outer-name
def test_managementdb_tools_delete_kpi(management_db): # pylint: disable=redefined-outer-name
    LOGGER.warning('test_managementdb_tools_get_kpi begin')
    LOGGER.warning('test_managementdb_tools_get_kpi begin')


    _create_kpi_request = create_kpi_request()
    _create_kpi_request = create_kpi_request('5')
    kpi_description = _create_kpi_request.kpi_description  # pylint: disable=maybe-no-member
    kpi_description = _create_kpi_request.kpi_description  # pylint: disable=maybe-no-member
    kpi_sample_type = _create_kpi_request.kpi_sample_type  # pylint: disable=maybe-no-member
    kpi_sample_type = _create_kpi_request.kpi_sample_type  # pylint: disable=maybe-no-member
    kpi_device_id = _create_kpi_request.device_id.device_uuid.uuid  # pylint: disable=maybe-no-member
    kpi_device_id = _create_kpi_request.device_id.device_uuid.uuid  # pylint: disable=maybe-no-member