aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Jagiello <michal.jagiello@t-mobile.pl>2023-03-14 14:13:21 +0000
committerMichal Jagiello <michal.jagiello@t-mobile.pl>2023-03-14 14:13:21 +0000
commit2c63b984358cee239966846457acd4f1d8831b70 (patch)
tree478dd6f6a83af066ea8c12d208edaa38fd8bee5a
parentce25f900f0115cdf8ec6c2ac3a98d7c62079ea8c (diff)
Version 10.4.2
Archive SDC Vendor Issue-ID: INT-2193 Signed-off-by: Michal Jagiello <michal.jagiello@t-mobile.pl> Change-Id: I520ca35a973eb52f3d5625cc282c88bdd06effff
-rw-r--r--src/onapsdk/constants.py1
-rw-r--r--src/onapsdk/sdc/sdc_element.py2
-rw-r--r--src/onapsdk/sdc/vendor.py16
-rw-r--r--src/onapsdk/sdc/vsp.py19
-rw-r--r--src/onapsdk/version.py2
-rw-r--r--tests/test_vendor.py15
-rw-r--r--tests/test_version.py2
7 files changed, 34 insertions, 23 deletions
diff --git a/src/onapsdk/constants.py b/src/onapsdk/constants.py
index 11bd03b..98d7af6 100644
--- a/src/onapsdk/constants.py
+++ b/src/onapsdk/constants.py
@@ -32,6 +32,7 @@ UNDER_CERTIFICATION = "Certification in progress"
CHECKED_IN = "Checked In"
SUBMITTED = "Submitted"
DISTRIBUTED = "Distributed"
+ARCHIVED = "ARCHIVED"
##
# Actions
##
diff --git a/src/onapsdk/sdc/sdc_element.py b/src/onapsdk/sdc/sdc_element.py
index 9273861..8fd8da1 100644
--- a/src/onapsdk/sdc/sdc_element.py
+++ b/src/onapsdk/sdc/sdc_element.py
@@ -144,6 +144,8 @@ class SdcElement(SdcOnboardable, ABC):
str: the URL to use
"""
+ if action_type == const.ARCHIVE:
+ version_path = version_path.split("/")[0]
return "{}/{}/{}/actions".format(base, subpath, version_path)
@classmethod
diff --git a/src/onapsdk/sdc/vendor.py b/src/onapsdk/sdc/vendor.py
index a82e3b9..0618a4f 100644
--- a/src/onapsdk/sdc/vendor.py
+++ b/src/onapsdk/sdc/vendor.py
@@ -46,6 +46,17 @@ class Vendor(SdcElement):
super().__init__()
self.name: str = name or "Generic-Vendor"
+ @classmethod
+ def _get_all_url(cls) -> str:
+ """
+ Get URL for all elements in SDC.
+
+ Returns:
+ str: the url
+
+ """
+ return f"{cls._base_url()}/items?itemType=vlm"
+
def onboard(self) -> None:
"""Onboard the vendor in SDC."""
if not self.status:
@@ -106,3 +117,8 @@ class Vendor(SdcElement):
def _sdc_path(cls) -> None:
"""Give back the end of SDC path."""
return cls.VENDOR_PATH
+
+ def archive(self) -> None:
+ """Archive Vendor."""
+ self._action_to_sdc(const.ARCHIVE, action_type=const.ARCHIVE)
+ self._status = const.ARCHIVED
diff --git a/src/onapsdk/sdc/vsp.py b/src/onapsdk/sdc/vsp.py
index a04b3c0..3100647 100644
--- a/src/onapsdk/sdc/vsp.py
+++ b/src/onapsdk/sdc/vsp.py
@@ -340,25 +340,6 @@ class Vsp(SdcElement): # pylint: disable=too-many-instance-attributes
"""
return f"{cls._base_url()}/items?itemType=vsp"
- def _action_url(self, base: str, subpath: str, version_path: str,
- action_type: str = None) -> str:
- """Generate action URL for VSP to send to SDC.
-
- Args:
- base (str): base part of vsp action url
- subpath (str): subpath of vsp action url
- version_path (str): version path. If action is equal to ARCHIVE
- it's going to be edited
- action_type (str, optional): the type of action.
-
- Returns:
- str: the URL to use
-
- """
- if action_type == const.ARCHIVE:
- version_path = version_path.split("/")[0]
- return super()._action_url(base, subpath, version_path, action_type)
-
@classmethod
def import_from_sdc(cls, values: Dict[str, Any]) -> 'Vsp':
"""
diff --git a/src/onapsdk/version.py b/src/onapsdk/version.py
index d47a213..07e058e 100644
--- a/src/onapsdk/version.py
+++ b/src/onapsdk/version.py
@@ -13,4 +13,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-__version__ = "10.4.1"
+__version__ = "10.4.2"
diff --git a/tests/test_vendor.py b/tests/test_vendor.py
index 78c4bad..f791b8e 100644
--- a/tests/test_vendor.py
+++ b/tests/test_vendor.py
@@ -26,7 +26,7 @@ def test_get_all_no_vendors(mock_send):
"""Returns empty array if no vendors."""
mock_send.return_value = {}
assert Vendor.get_all() == []
- mock_send.assert_called_once_with("GET", 'get Vendors', 'https://sdc.api.fe.simpledemo.onap.org:30207/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models')
+ mock_send.assert_called_once_with("GET", 'get Vendors', 'https://sdc.api.fe.simpledemo.onap.org:30207/sdc1/feProxy/onboarding-api/v1.0/items?itemType=vlm')
@mock.patch.object(Vendor, 'send_message_json')
def test_get_all_some_vendors(mock_send):
@@ -43,7 +43,7 @@ def test_get_all_some_vendors(mock_send):
assert vendor_2.name == "two"
assert vendor_2.identifier == "1235"
assert vendor_2.created()
- mock_send.assert_called_with("GET", 'get Vendors', 'https://sdc.api.fe.simpledemo.onap.org:30207/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models')
+ mock_send.assert_called_with("GET", 'get Vendors', 'https://sdc.api.fe.simpledemo.onap.org:30207/sdc1/feProxy/onboarding-api/v1.0/items?itemType=vlm')
@mock.patch.object(Vendor, 'exists')
def test_init_no_name(mock_exists):
@@ -314,3 +314,14 @@ def test_onboard_whole_vendor(mock_create, mock_submit):
vendor.onboard()
mock_submit.assert_called_once()
mock_create.assert_called_once()
+
+@mock.patch.object(Vendor, 'load')
+@mock.patch.object(Vendor, "send_message")
+def test_vendor_archive(mock_send, mock_load):
+ vendor = Vendor()
+ vendor.identifier = "12345"
+ vendor.archive()
+ mock_send.assert_called_once_with("PUT",
+ "ARCHIVE Vendor",
+ "https://sdc.api.fe.simpledemo.onap.org:30207/sdc1/feProxy/onboarding-api/v1.0/items/12345/actions",
+ data='{\n\n "action": "ARCHIVE"\n}')
diff --git a/tests/test_version.py b/tests/test_version.py
index 6e63e9d..a81c404 100644
--- a/tests/test_version.py
+++ b/tests/test_version.py
@@ -17,4 +17,4 @@ import onapsdk.version as version
def test_version():
"""Check version is the right one."""
- assert version.__version__ == '10.4.1'
+ assert version.__version__ == '10.4.2'