X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=smo-install%2Ftest%2Fpythonsdk%2Fsrc%2Foransdk%2Fenrichmentservice%2Fenrichmentservice.py;fp=smo-install%2Ftest%2Fpythonsdk%2Fsrc%2Foransdk%2Fenrichmentservice%2Fenrichmentservice.py;h=eeab9098648a66c5ba363c3398f0c459749b0bca;hb=285d9a5c96b23594b419d95c71c5d6a2cf52052e;hp=0000000000000000000000000000000000000000;hpb=0fd7875b5673d8d9b56c73adff2c8368d95e825b;p=it%2Fdep.git diff --git a/smo-install/test/pythonsdk/src/oransdk/enrichmentservice/enrichmentservice.py b/smo-install/test/pythonsdk/src/oransdk/enrichmentservice/enrichmentservice.py new file mode 100644 index 00000000..eeab9098 --- /dev/null +++ b/smo-install/test/pythonsdk/src/oransdk/enrichmentservice/enrichmentservice.py @@ -0,0 +1,209 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# SPDX-License-Identifier: Apache-2.0 +"""Oran Enrichment Service module.""" + +from oransdk.configuration import settings +from onapsdk.onap_service import OnapService + +class EnrichmentService(OnapService): + """Enrichment Service library.""" + + base_url = settings.EMS_URL + header = {"Content-Type": "application/json"} + + @classmethod + def check_status(cls) -> str: + """ + Get the status of the EnrichmentService component. + + Returns: + the status of the EnrichmentService component + + """ + url = f"{cls.base_url}/status" + status = cls.send_message('GET', + 'Get EMS status', + url) + return status + + @classmethod + def get_eitypes(cls) -> str: + """ + Get all the EiTypes. + + Returns: + the list of EiTypes + + """ + url = f"{cls.base_url}/data-producer/v1/info-types" + eitypes = cls.send_message('GET', + 'Get all the EiTypes', + url, + headers=cls.header) + return eitypes + + @classmethod + def get_eitype_individual(cls, eitype_name) -> str: + """ + Get individual EiType. + + Args: + eitype_name: the EiType name + + Returns: + the details of the EiType + + """ + url = f"{cls.base_url}/data-producer/v1/info-types/{eitype_name}" + eitype = cls.send_message('GET', + 'Get individual EiType', + url, + headers=cls.header) + return eitype + + @classmethod + def get_eiproducers(cls) -> str: + """ + Get all the EiProducers. + + Returns: + the list of EiProducers + + """ + url = f"{cls.base_url}/data-producer/v1/info-producers" + eitypes = cls.send_message('GET', + 'Get all the EiProducers', + url, + headers=cls.header) + return eitypes + + @classmethod + def get_eiproducer_individual(cls, producer) -> str: + """ + Get individual EiProducer. + + Args: + type: the EiProducer name + + Returns: + the details of the EiProducer + + """ + url = f"{cls.base_url}/data-producer/v1/info-producers/{producer}" + eiproducer = cls.send_message('GET', + 'Get individual EiProducer', + url, + headers=cls.header) + return eiproducer + + @classmethod + def get_eiproducer_status(cls, producer) -> str: + """ + Get the status of EiProducer. + + Args: + type: the EiProducer name + + Returns: + the status of the EiProducer + + """ + url = f"{cls.base_url}/data-producer/v1/info-producers/{producer}/status" + status = cls.send_message('GET', + 'Get the status of EiProducer', + url, + headers=cls.header) + return status + + @classmethod + def get_eijobs(cls) -> str: + """ + Get all the EiJobs. + + Returns: + the list of EiJobs + + """ + url = f"{cls.base_url}/A1-EI/v1/eijobs" + eijobs = cls.send_message('GET', + 'Get all the EiJobs', + url, + headers=cls.header) + return eijobs + + @classmethod + def get_eijob_individual(cls, job) -> str: + """ + Get individual EiJob. + + Args: + type: the EiJob name + + Returns: + the details of the EiJob + + """ + url = f"{cls.base_url}/A1-EI/v1/eijobs/{job}" + eijob = cls.send_message('GET', + 'Get individual EiJob', + url, + headers=cls.header) + return eijob + + @classmethod + def create_eitype(cls, + type_name, + type_data) -> None: + """ + Create EiType. + + Args: + type: the EiType name + type_data: the EiType data to create, in binary format + + """ + url = f"{cls.base_url}/data-producer/v1/info-types/{type_name}" + cls.send_message('PUT', + 'Create EiType', + url, + data=type_data, + headers=cls.header) + + @classmethod + def create_eiproducer(cls, + producer, + producer_data) -> None: + """ + Create EiProducer. + + Args: + producer: the EiProducer name + producer_data: the EiProducer data to create, in binary format + + """ + url = f"{cls.base_url}/data-producer/v1/info-producers/{producer}" + cls.send_message('PUT', + 'Create EiProducer', + url, + data=producer_data, + headers=cls.header) + + @classmethod + def create_eijob(cls, + job, + job_data) -> None: + """ + Create EiJob. + + Args: + job: the EiJob name + job_data: the EiJob data to create, in binary format + + """ + url = f"{cls.base_url}/A1-EI/v1/eijobs/{job}" + cls.send_message('PUT', + 'Create EiJob', + url, + data=job_data, + headers=cls.header)