aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_sdc2_user.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_sdc2_user.py')
-rw-r--r--tests/test_sdc2_user.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/test_sdc2_user.py b/tests/test_sdc2_user.py
new file mode 100644
index 0000000..8b17fc2
--- /dev/null
+++ b/tests/test_sdc2_user.py
@@ -0,0 +1,60 @@
+from collections import namedtuple
+from random import choice, randint
+from sys import maxsize
+from unittest.mock import patch
+from uuid import uuid4
+
+from pytest import raises
+
+from onapsdk.exceptions import ResourceNotFound
+from onapsdk.sdc2.sdc_user import SdcUser
+
+
+@patch("onapsdk.sdc2.sdc_user.SdcUser.send_message_json")
+@patch("onapsdk.sdc2.sdc_user.SdcUser.create_from_api_response")
+def test_get_all(mock_create_from_api_response, mock_send_message_json):
+ mock_send_message_json.return_value = []
+
+ assert len(list(SdcUser.get_all())) == 0
+ mock_create_from_api_response.assert_not_called()
+
+ mock_send_message_json.return_value = [{}]
+ assert len(list(SdcUser.get_all())) == 1
+ mock_create_from_api_response.assert_called_once_with({})
+
+
+@patch("onapsdk.sdc2.sdc_user.SdcUser.get_all")
+def test_get_by_user_id(mock_get_all):
+ mock_get_all.return_value = []
+ with raises(ResourceNotFound):
+ SdcUser.get_by_user_id("test_user")
+
+ TestUser = namedtuple("TestUser", ["user_id"])
+ mock_get_all.return_value = [TestUser("not_test_user")]
+ with raises(ResourceNotFound):
+ SdcUser.get_by_user_id("test_user")
+
+ mock_get_all.return_value = [TestUser("test_user")]
+ assert SdcUser.get_by_user_id("test_user") is not None
+
+
+def test_create_from_api_response():
+ api_response = {
+ "userId": str(uuid4()),
+ "role": str(uuid4()),
+ "email": str(uuid4()),
+ "firstName": str(uuid4()),
+ "fullName": str(uuid4()),
+ "lastLoginTime": randint(0, maxsize),
+ "lastName": str(uuid4()),
+ "status": choice(list(SdcUser.SdcUserStatus))
+ }
+ sdc_user = SdcUser.create_from_api_response(api_response)
+ assert sdc_user.user_id == api_response["userId"]
+ assert sdc_user.role == api_response["role"]
+ assert sdc_user.email == api_response["email"]
+ assert sdc_user.first_name == api_response["firstName"]
+ assert sdc_user.last_login_time == api_response["lastLoginTime"]
+ assert sdc_user.last_name == api_response["lastName"]
+ assert sdc_user.full_name == api_response["fullName"]
+ assert sdc_user.status == SdcUser.SdcUserStatus(api_response["status"])