Loading src/monitoring/tests/test_unitary.py +34 −30 Original line number Original line Diff line number Diff line Loading @@ -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() Loading @@ -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) Loading @@ -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) Loading @@ -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) Loading @@ -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) Loading Loading @@ -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)) Loading @@ -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: Loading Loading @@ -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: Loading Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading Loading
src/monitoring/tests/test_unitary.py +34 −30 Original line number Original line Diff line number Diff line Loading @@ -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() Loading @@ -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) Loading @@ -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) Loading @@ -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) Loading @@ -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) Loading Loading @@ -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)) Loading @@ -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: Loading Loading @@ -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: Loading Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading