Skip to content

Commit 91283ad

Browse files
Test suite for application resource api
1 parent c8e7c27 commit 91283ad

2 files changed

Lines changed: 268 additions & 37 deletions

File tree

tests/unit/orkes/test_async_authorization_client.py

Lines changed: 128 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import logging
22

33
import pytest
4+
from pydantic import ValidationError
45

6+
from conductor.asyncio_client.adapters import ApiClient
57
from conductor.asyncio_client.adapters.api.application_resource_api import (
68
ApplicationResourceApiAdapter,
79
)
@@ -42,10 +44,8 @@
4244
from conductor.asyncio_client.orkes.orkes_authorization_client import (
4345
OrkesAuthorizationClient,
4446
)
45-
from conductor.asyncio_client.adapters import ApiClient
4647
from conductor.shared.http.enums import SubjectType, TargetType
4748

48-
4949
APP_ID = "5d860b70-a429-4b20-8d28-6b5198155882"
5050
APP_NAME = "ut_application_name"
5151
USER_ID = "us_user@orkes.io"
@@ -155,17 +155,15 @@ def disable_logging():
155155

156156
def test_init(authorization_client):
157157
message = "application_api is not of type ApplicationResourceApi"
158-
assert isinstance(
159-
authorization_client.application_api, ApplicationResourceApiAdapter
160-
), message
158+
assert isinstance(authorization_client.application_api, ApplicationResourceApiAdapter), message
161159
message = "user_api is not of type UserResourceApi"
162160
assert isinstance(authorization_client.user_api, UserResourceApiAdapter), message
163161
message = "group_api is not of type GroupResourceApi"
164162
assert isinstance(authorization_client.group_api, GroupResourceApiAdapter), message
165163
message = "authorization_api is not of type AuthorizationResourceApi"
166-
assert isinstance(
167-
authorization_client.authorization_api, AuthorizationResourceApiAdapter
168-
), message
164+
assert isinstance(authorization_client.authorization_api, AuthorizationResourceApiAdapter), (
165+
message
166+
)
169167

170168

171169
@pytest.mark.asyncio
@@ -174,9 +172,7 @@ async def test_create_application(
174172
):
175173
mock = mocker.patch.object(ApplicationResourceApiAdapter, "create_application")
176174
mock.return_value = extended_conductor_application_adapter
177-
app = await authorization_client.create_application(
178-
extended_conductor_application_adapter
179-
)
175+
app = await authorization_client.create_application(extended_conductor_application_adapter)
180176
mock.assert_called_with(
181177
create_or_update_application_request=extended_conductor_application_adapter
182178
)
@@ -271,9 +267,7 @@ async def test_delete_user(mocker, authorization_client):
271267

272268

273269
@pytest.mark.asyncio
274-
async def test_list_users_with_apps(
275-
mocker, authorization_client, conductor_user_adapter
276-
):
270+
async def test_list_users_with_apps(mocker, authorization_client, conductor_user_adapter):
277271
mock = mocker.patch.object(UserResourceApiAdapter, "list_users")
278272
mock.return_value = [conductor_user_adapter]
279273
users = await authorization_client.list_users(include_apps=True)
@@ -397,9 +391,7 @@ async def test_remove_users_from_group(mocker, authorization_client):
397391

398392

399393
@pytest.mark.asyncio
400-
async def test_get_users_in_group(
401-
mocker, authorization_client, conductor_user_adapter, roles
402-
):
394+
async def test_get_users_in_group(mocker, authorization_client, conductor_user_adapter, roles):
403395
mock = mocker.patch.object(GroupResourceApiAdapter, "get_users_in_group")
404396
mock.return_value = [conductor_user_adapter]
405397
users = await authorization_client.get_users_in_group(GROUP_ID)
@@ -491,3 +483,122 @@ async def test_get_group_permissions(mocker, authorization_client: OrkesAuthoriz
491483
}
492484
]
493485
}
486+
487+
488+
@pytest.mark.asyncio
489+
async def test_create_access_key_empty_string_converts_to_none(mocker, authorization_client):
490+
from conductor.asyncio_client.http.api.application_resource_api import (
491+
ApplicationResourceApi,
492+
)
493+
494+
mock = mocker.patch.object(ApplicationResourceApi, "create_access_key")
495+
mock.return_value = {
496+
"id": "test-key-id",
497+
"secret": "test-secret",
498+
}
499+
await authorization_client.create_access_key("")
500+
mock.assert_called_with(id=None)
501+
502+
503+
@pytest.mark.asyncio
504+
async def test_add_role_to_application_user_empty_strings_convert_to_none(
505+
mocker, authorization_client
506+
):
507+
from conductor.asyncio_client.http.api.application_resource_api import (
508+
ApplicationResourceApi,
509+
)
510+
511+
mock = mocker.patch.object(ApplicationResourceApi, "add_role_to_application_user")
512+
await authorization_client.add_role_to_application_user("", "")
513+
mock.assert_called_with(application_id=None, role=None)
514+
515+
516+
@pytest.mark.asyncio
517+
async def test_delete_access_key_empty_strings_convert_to_none(mocker, authorization_client):
518+
from conductor.asyncio_client.http.api.application_resource_api import (
519+
ApplicationResourceApi,
520+
)
521+
522+
mock = mocker.patch.object(ApplicationResourceApi, "delete_access_key")
523+
await authorization_client.delete_access_key("", "")
524+
mock.assert_called_with(application_id=None, key_id=None)
525+
526+
527+
@pytest.mark.asyncio
528+
async def test_remove_role_from_application_user_empty_strings_convert_to_none(
529+
mocker, authorization_client
530+
):
531+
from conductor.asyncio_client.http.api.application_resource_api import (
532+
ApplicationResourceApi,
533+
)
534+
535+
mock = mocker.patch.object(ApplicationResourceApi, "remove_role_from_application_user")
536+
await authorization_client.remove_role_from_application_user("", "")
537+
mock.assert_called_with(application_id=None, role=None)
538+
539+
540+
@pytest.mark.asyncio
541+
async def test_get_app_by_access_key_id_empty_string_converts_to_none(
542+
mocker, authorization_client, extended_conductor_application_adapter
543+
):
544+
from conductor.asyncio_client.http.api.application_resource_api import (
545+
ApplicationResourceApi,
546+
)
547+
548+
mock = mocker.patch.object(ApplicationResourceApi, "get_app_by_access_key_id")
549+
mock.return_value = extended_conductor_application_adapter
550+
await authorization_client.get_app_by_access_key_id("")
551+
mock.assert_called_with(access_key_id=None)
552+
553+
554+
@pytest.mark.asyncio
555+
async def test_get_access_keys_empty_string_converts_to_none(mocker, authorization_client):
556+
from conductor.asyncio_client.http.api.application_resource_api import (
557+
ApplicationResourceApi,
558+
)
559+
560+
mock = mocker.patch.object(ApplicationResourceApi, "get_access_keys")
561+
mock.return_value = []
562+
await authorization_client.get_access_keys("")
563+
mock.assert_called_with(id=None)
564+
565+
566+
@pytest.mark.asyncio
567+
async def test_toggle_access_key_status_empty_strings_convert_to_none(mocker, authorization_client):
568+
from conductor.asyncio_client.http.api.application_resource_api import (
569+
ApplicationResourceApi,
570+
)
571+
572+
mock = mocker.patch.object(ApplicationResourceApi, "toggle_access_key_status")
573+
mock.return_value = {
574+
"id": "test-key-id",
575+
"createdAt": 1698926045112,
576+
"status": "INACTIVE",
577+
}
578+
await authorization_client.toggle_access_key_status("", "")
579+
mock.assert_called_with(application_id=None, key_id=None)
580+
581+
582+
@pytest.mark.asyncio
583+
async def test_get_tags_for_application_empty_string_converts_to_none(mocker, authorization_client):
584+
from conductor.asyncio_client.http.api.application_resource_api import (
585+
ApplicationResourceApi,
586+
)
587+
588+
mock = mocker.patch.object(ApplicationResourceApi, "get_tags_for_application")
589+
mock.return_value = []
590+
await authorization_client.get_application_tags("")
591+
mock.assert_called_with(id=None)
592+
593+
594+
@pytest.mark.asyncio
595+
async def test_delete_tag_for_application_empty_strings_convert_to_none(
596+
mocker, authorization_client
597+
):
598+
from conductor.asyncio_client.http.api.application_resource_api import (
599+
ApplicationResourceApi,
600+
)
601+
602+
mock = mocker.patch.object(ApplicationResourceApi, "delete_tag_for_application")
603+
await authorization_client.delete_application_tags([], "")
604+
mock.assert_called_with(id=None, tag=None)

0 commit comments

Comments
 (0)