From 70ab8b77b4c0f2981528c51410c9dd5608b10cdf Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 14 May 2021 20:22:41 -0400 Subject: [PATCH 1/3] Expose `organizations` on `Client` --- tests/test_client.py | 11 +++++++++++ workos/client.py | 7 +++++++ 2 files changed, 18 insertions(+) diff --git a/tests/test_client.py b/tests/test_client.py index 1c94284f..0362e951 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -22,6 +22,9 @@ def test_initialize_audit_log(self, set_api_key): def test_initialize_directory_sync(self, set_api_key): assert bool(client.directory_sync) + def test_initialize_organizations(self, set_api_key): + assert bool(client.organizations) + def test_initialize_passwordless(self, set_api_key): assert bool(client.passwordless) @@ -70,6 +73,14 @@ def test_initialize_directory_sync_missing_api_key(self): assert "api_key" in message + def test_initialize_organizations_missing_api_key(self): + with pytest.raises(ConfigurationException) as ex: + client.organizations + + message = str(ex) + + assert "api_key" in message + def test_initialize_passwordless_missing_api_key(self): with pytest.raises(ConfigurationException) as ex: client.passwordless diff --git a/workos/client.py b/workos/client.py index 7391b6bf..27368fe6 100644 --- a/workos/client.py +++ b/workos/client.py @@ -1,5 +1,6 @@ from workos.audit_trail import AuditTrail from workos.directory_sync import DirectorySync +from workos.organizations import Organizations from workos.passwordless import Passwordless from workos.portal import Portal from workos.sso import SSO @@ -26,6 +27,12 @@ def directory_sync(self): self._directory_sync = DirectorySync() return self._directory_sync + @property + def organizations(self): + if not getattr(self, "_organizations", None): + self._organizations = Organizations() + return self._organizations + @property def passwordless(self): if not getattr(self, "_passwordless", None): From 1dd1f2f9987a5d7511ebe01519765471034a3f2a Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 14 May 2021 20:26:49 -0400 Subject: [PATCH 2/3] Add trailing comma --- workos/utils/validation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workos/utils/validation.py b/workos/utils/validation.py index 4776aaea..4e14cd76 100644 --- a/workos/utils/validation.py +++ b/workos/utils/validation.py @@ -13,7 +13,7 @@ REQUIRED_SETTINGS_FOR_MODULE = { AUDIT_TRAIL_MODULE: ["api_key",], DIRECTORY_SYNC_MODULE: ["api_key",], - ORGANIZATIONS_MODULE: ["api_key"], + ORGANIZATIONS_MODULE: ["api_key",], PASSWORDLESS_MODULE: ["api_key",], PORTAL_MODULE: ["api_key",], SSO_MODULE: ["api_key", "client_id",], From 8913d33e3f18321932e700247c0b91cf1be58cc0 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 14 May 2021 20:29:17 -0400 Subject: [PATCH 3/3] Fix test --- tests/test_client.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_client.py b/tests/test_client.py index 0362e951..60109908 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -9,6 +9,7 @@ class TestClient(object): def setup(self): client._audit_trail = None client._directory_sync = None + client._organizations = None client._passwordless = None client._portal = None client._sso = None