aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_aai_project.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_aai_project.py')
-rw-r--r--tests/test_aai_project.py82
1 files changed, 82 insertions, 0 deletions
diff --git a/tests/test_aai_project.py b/tests/test_aai_project.py
new file mode 100644
index 0000000..4186772
--- /dev/null
+++ b/tests/test_aai_project.py
@@ -0,0 +1,82 @@
+# Copyright 2022 Orange, Deutsche Telekom AG
+#
+# 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.
+from unittest import mock
+
+from onapsdk.aai.business.project import Project
+
+
+PROJECTS = {
+ "project": [
+ {
+ "project-name": "test-name",
+ "resource-version": "1234"
+ },
+ {
+ "project-name": "test-name2",
+ "resource-version": "4321"
+ }
+ ]
+}
+
+
+COUNT = {
+ "results":[
+ {
+ "project":1
+ }
+ ]
+}
+
+
+@mock.patch("onapsdk.aai.business.project.Project.send_message_json")
+def test_project_get_all(mock_send_message_json):
+ mock_send_message_json.return_value = {}
+ assert len(list(Project.get_all())) == 0
+
+ mock_send_message_json.return_value = PROJECTS
+ projects = list(Project.get_all())
+ assert len(projects) == 2
+ lob1, lob2 = projects
+ assert lob1.name == "test-name"
+ assert lob1.resource_version == "1234"
+ assert lob2.name == "test-name2"
+ assert lob2.resource_version == "4321"
+
+
+@mock.patch("onapsdk.aai.business.project.Project.send_message_json")
+def test_project_get_by_name(mock_send):
+ Project.get_by_name(name="test-name")
+ mock_send.assert_called_once_with("GET",
+ "Get test-name project",
+ "https://aai.api.sparky.simpledemo.onap.org:30233/aai/v23/business/projects/project/test-name")
+
+
+@mock.patch("onapsdk.aai.business.project.Project.send_message")
+@mock.patch("onapsdk.aai.business.project.Project.get_by_name")
+def test_project_create(_, mock_send):
+ Project.create(name="test-name")
+ mock_send.assert_called_once_with("PUT",
+ "Declare A&AI project",
+ "https://aai.api.sparky.simpledemo.onap.org:30233/aai/v23/business/projects/project/test-name",
+ data='{\n "project-name": "test-name"\n}')
+
+
+@mock.patch("onapsdk.aai.business.project.Project.send_message_json")
+def test_project_count(mock_send_message_json):
+ mock_send_message_json.return_value = COUNT
+ assert Project.count() == 1
+
+def test_project_url():
+ project = Project(name="test-project", resource_version="123")
+ assert project.name in project.url