X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=it%2Fdep.git;a=blobdiff_plain;f=smo-install%2Ftest%2Fpythonsdk%2Fsrc%2Foransdk%2Fsdc%2Fcategory_management.py;fp=smo-install%2Ftest%2Fpythonsdk%2Fsrc%2Foransdk%2Fsdc%2Fcategory_management.py;h=aee9f3c5ed1df8213309b8eabe2f663e9044986b;hp=0000000000000000000000000000000000000000;hb=bc6231f7d4d44ab5f269683c42eb90c2ce4ec9a6;hpb=f97b292fa01903c18b71ec8a549824c7ec3bea93 diff --git a/smo-install/test/pythonsdk/src/oransdk/sdc/category_management.py b/smo-install/test/pythonsdk/src/oransdk/sdc/category_management.py new file mode 100644 index 00000000..aee9f3c5 --- /dev/null +++ b/smo-install/test/pythonsdk/src/oransdk/sdc/category_management.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +### +# ============LICENSE_START======================================================= +# ORAN SMO PACKAGE - PYTHONSDK TESTS +# ================================================================================ +# Copyright (C) 2022 AT&T Intellectual Property. All rights +# reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END============================================ +# =================================================================== +# +### +"""Onap SDC Category Management module.""" +import json +from onapsdk.sdc.category_management import ServiceCategory + +class OranServiceCategory(ServiceCategory): + """Onap SDC Category Management module .""" + + @classmethod + def create(cls, name: str) -> "BaseCategory": + """Create category instance. + + Checks if category with given name exists and if it already + exists just returns category with given name. + + Returns: + BaseCategory: Created category instance + + """ + category_obj: "BaseCategory" = cls(name) + if category_obj.exists(): + return category_obj + cls.send_message_json("POST", + f"Create {name} {cls.category_name()}", + cls._base_create_url(), + data=json.dumps({"name": name, "models": ["SDC AID"], "metadataKeys": []}), + headers=cls.headers()) + category_obj.exists() + return category_obj