"""Tests for the ows_users model.""" import uuid from unittest.mock import MagicMock from owsrequest import request as requests from requests.models import Response from account.models import ows_users from account.models.types import ProfileInfo def test_get_user(monkeypatch): """Test get user.""" ows_users_response = Response() ows_users_response.status_code = 200 ows_users_response.json = MagicMock(return_value='RESULT') monkeypatch.setattr(requests, 'get', MagicMock(return_value=ows_users_response)) user_id = 'alw:123' result = ows_users.get_user_details(user_id) requests.get.assert_called_once_with('ows-users', '/users/alw:123') assert result.status == 200 assert result.message == 'RESULT' def test_get_user_error(monkeypatch): """Test get user when an error is returned from ows-users.""" ows_users_response = Response() ows_users_response.status_code = 500 monkeypatch.setattr(requests, 'get', MagicMock(return_value=ows_users_response)) user_id = 'alw:123' result = ows_users.get_user_details(user_id) requests.get.assert_called_once_with('ows-users', '/users/alw:123') assert result.status == 500 def test_get_user_profiles_by_identity_id(monkeypatch): """Test get_user_profiles_by_identity_id.""" ows_users_response = Response() ows_users_response.status_code = 200 ows_users_response.json = MagicMock( return_value={ 'items': [ { 'profile_type': 'OrchAdminProfile', 'profile_id': 182392521, 'uuid': '778f7c28-146b-402f-91ea-7532cd0f0181', } ] } ) monkeypatch.setattr(requests, 'get', MagicMock(return_value=ows_users_response)) identity_id = uuid.UUID('ee71af06-bc3f-46ed-a381-73afacd48ced') result = ows_users.get_user_profiles_by_identity_id(identity_id) requests.get.assert_called_once_with( 'ows-users', '/users/identity/ee71af06-bc3f-46ed-a381-73afacd48ced/profiles' ) assert result == [ ProfileInfo( profile_type='OrchAdminProfile', profile_id=182392521, roles=[], uuid='778f7c28-146b-402f-91ea-7532cd0f0181', ) ] def test_get_user_profiles_by_identity_id_returns_none(monkeypatch): """Test get_user_profiles_by_identity_id.""" ows_users_response = Response() ows_users_response.status_code = 400 monkeypatch.setattr(requests, 'get', MagicMock(return_value=ows_users_response)) identity_id = uuid.UUID('ee71af06-bc3f-46ed-a381-73afacd48ced') result = ows_users.get_user_profiles_by_identity_id(identity_id) requests.get.assert_called_once_with( 'ows-users', '/users/identity/ee71af06-bc3f-46ed-a381-73afacd48ced/profiles' ) assert result is None