diff --git a/src/common/tools/kafka/Variables.py b/src/common/tools/kafka/Variables.py index ba58e31eff4b62ba3a9b0d209c935381c6badf36..a6f996932011f6838c8a1e96a325a6a9d885fbd9 100644 --- a/src/common/tools/kafka/Variables.py +++ b/src/common/tools/kafka/Variables.py @@ -36,9 +36,6 @@ class KafkaTopic(Enum): """ Method to create Kafka topics defined as class members """ - # LOGGER.debug("Topics to be created: {:}".format(KafkaTopic.__members__.values())) - # LOGGER.debug("Topics to be created: {:}".format(KafkaTopic.__members__.keys())) - # LOGGER.debug("Topics to be created: {:}".format([member.value for member in KafkaTopic])) all_topics = [member.value for member in KafkaTopic] if( KafkaTopic.create_new_topic_if_not_exists( all_topics )): LOGGER.debug("All topics created sucsessfully") @@ -54,16 +51,20 @@ class KafkaTopic(Enum): Args: list of topic: containing the topic name(s) to be created on Kafka """ - LOGGER.debug("Recevied topic List: {:}".format(new_topics)) + LOGGER.debug("Topics names to be verified and created: {:}".format(new_topics)) for topic in new_topics: try: topic_metadata = KafkaConfig.ADMIN_CLIENT.value.list_topics(timeout=5) + # LOGGER.debug("Existing topic list: {:}".format(topic_metadata.topics)) if topic not in topic_metadata.topics: # If the topic does not exist, create a new topic - print(f"Topic '{topic}' does not exist. Creating...") + print("Topic {:} does not exist. Creating...".format(topic)) LOGGER.debug("Topic {:} does not exist. Creating...".format(topic)) new_topic = NewTopic(topic, num_partitions=1, replication_factor=1) KafkaConfig.ADMIN_CLIENT.value.create_topics([new_topic]) + else: + print("Topic name already exists: {:}".format(topic)) + LOGGER.debug("Topic name already exists: {:}".format(topic)) except Exception as e: LOGGER.debug("Failed to create topic: {:}".format(e)) return False diff --git a/src/kpi_value_api/requirements.in b/src/kpi_value_api/requirements.in new file mode 100644 index 0000000000000000000000000000000000000000..a642b5e5884a4303506413cdb4e69c5d184f1385 --- /dev/null +++ b/src/kpi_value_api/requirements.in @@ -0,0 +1,2 @@ +confluent-kafka==2.3.0 +requests==2.27.1 \ No newline at end of file diff --git a/src/kpi_value_api/service/KpiValueApiServiceServicerImpl.py b/src/kpi_value_api/service/KpiValueApiServiceServicerImpl.py index 1d3b9bdfd62f5cef34be152c723cfe511d30934c..3ecf20c08a6e280ce346273e5c154e0cdd565c1d 100644 --- a/src/kpi_value_api/service/KpiValueApiServiceServicerImpl.py +++ b/src/kpi_value_api/service/KpiValueApiServiceServicerImpl.py @@ -105,19 +105,16 @@ class KpiValueApiServiceServicerImpl(KpiValueAPIServiceServicer): return KpiValueType(int64Val=int64_value) except ValueError: pass - # Check if the value is a float try: float_value = float(value) return KpiValueType(floatVal=float_value) except ValueError: pass - # Check if the value is a boolean if value.lower() in ['true', 'false']: bool_value = value.lower() == 'true' return KpiValueType(boolVal=bool_value) - # If none of the above, treat it as a string return KpiValueType(stringVal=value) diff --git a/src/kpi_value_api/tests/test_kpi_value_api.py b/src/kpi_value_api/tests/test_kpi_value_api.py index 519a61704c6e5d4ce27d9dc3be45e8ffe5b288cb..6c2858659d75fbf6f9f7df1e691db91797d50701 100644 --- a/src/kpi_value_api/tests/test_kpi_value_api.py +++ b/src/kpi_value_api/tests/test_kpi_value_api.py @@ -90,3 +90,4 @@ def test_store_kpi_values(kpi_value_api_client): LOGGER.debug(" >>> test_set_list_of_KPIs: START <<< ") response = kpi_value_api_client.StoreKpiValues(create_kpi_value_list()) assert isinstance(response, Empty) + diff --git a/src/kpi_value_writer/requirements.in b/src/kpi_value_writer/requirements.in new file mode 100644 index 0000000000000000000000000000000000000000..a642b5e5884a4303506413cdb4e69c5d184f1385 --- /dev/null +++ b/src/kpi_value_writer/requirements.in @@ -0,0 +1,2 @@ +confluent-kafka==2.3.0 +requests==2.27.1 \ No newline at end of file diff --git a/src/kpi_value_writer/tests/test_kpi_value_writer.py b/src/kpi_value_writer/tests/test_kpi_value_writer.py index 0a57c7416e13e6f2e491f47a68aba14a264b84e9..572495d48d70cdc40c0ef6bb1efcf877e2a610ee 100755 --- a/src/kpi_value_writer/tests/test_kpi_value_writer.py +++ b/src/kpi_value_writer/tests/test_kpi_value_writer.py @@ -22,31 +22,31 @@ from kpi_value_writer.tests.test_messages import create_kpi_id_request LOGGER = logging.getLogger(__name__) -def test_GetKpiDescriptor(): - LOGGER.info(" >>> test_GetKpiDescriptor: START <<< ") - kpi_manager_client = KpiManagerClient() - # adding KPI - LOGGER.info(" --->>> calling SetKpiDescriptor ") - response_id = kpi_manager_client.SetKpiDescriptor(create_kpi_descriptor_request()) - # get KPI - LOGGER.info(" --->>> calling GetKpiDescriptor with response ID") - response = kpi_manager_client.GetKpiDescriptor(response_id) - LOGGER.info("Response gRPC message object: {:}".format(response)) +# def test_GetKpiDescriptor(): +# LOGGER.info(" >>> test_GetKpiDescriptor: START <<< ") +# kpi_manager_client = KpiManagerClient() +# # adding KPI +# LOGGER.info(" --->>> calling SetKpiDescriptor ") +# response_id = kpi_manager_client.SetKpiDescriptor(create_kpi_descriptor_request()) +# # get KPI +# LOGGER.info(" --->>> calling GetKpiDescriptor with response ID") +# response = kpi_manager_client.GetKpiDescriptor(response_id) +# LOGGER.info("Response gRPC message object: {:}".format(response)) - LOGGER.info(" --->>> calling GetKpiDescriptor with random ID") - rand_response = kpi_manager_client.GetKpiDescriptor(create_kpi_id_request()) - LOGGER.info("Response gRPC message object: {:}".format(rand_response)) +# LOGGER.info(" --->>> calling GetKpiDescriptor with random ID") +# rand_response = kpi_manager_client.GetKpiDescriptor(create_kpi_id_request()) +# LOGGER.info("Response gRPC message object: {:}".format(rand_response)) - LOGGER.info("\n------------------ TEST FINISHED ---------------------\n") - assert isinstance(response, KpiDescriptor) +# LOGGER.info("\n------------------ TEST FINISHED ---------------------\n") +# assert isinstance(response, KpiDescriptor) # -------- Initial Test ---------------- -# def test_validate_kafka_topics(): -# LOGGER.debug(" >>> test_validate_kafka_topics: START <<< ") -# response = KafkaTopic.create_all_topics() -# assert isinstance(response, bool) +def test_validate_kafka_topics(): + LOGGER.debug(" >>> test_validate_kafka_topics: START <<< ") + response = KafkaTopic.create_all_topics() + assert isinstance(response, bool) -# def test_KafkaConsumer(): -# LOGGER.debug(" --->>> test_kafka_consumer: START <<<--- ") -# KpiValueWriter.RunKafkaConsumer() +def test_KafkaConsumer(): + LOGGER.debug(" --->>> test_kafka_consumer: START <<<--- ") + KpiValueWriter.RunKafkaConsumer()