Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions etc/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ services:
restart: 'no'
networks:
- storage
image: 'ghcr.io/zitadel/zitadel:latest'
image: 'ghcr.io/zitadel/zitadel:v4.0.0-rc.1'
command: 'init --config /example-zitadel-config.yaml --config /example-zitadel-secrets.yaml'
depends_on:
db:
Expand All @@ -34,7 +34,7 @@ services:
restart: 'no'
networks:
- storage
image: 'ghcr.io/zitadel/zitadel:latest-debug'
image: 'ghcr.io/zitadel/zitadel:v4.0.0-rc.1-debug'
user: root
entrypoint: '/bin/bash'
command: [ "-c", "/app/zitadel setup --config /example-zitadel-config.yaml --config /example-zitadel-secrets.yaml --steps /example-zitadel-init-steps.yaml --masterkey \"my_test_masterkey_0123456789ABEF\" && echo \"--- ZITADEL SETUP COMPLETE ---\" && echo \"Personal Access Token (PAT) will be in ./zitadel_output/pat.txt on your host.\" && echo \"Service Account Key will be in ./zitadel_output/sa-key.json on your host.\" && echo \"OAuth Client ID and Secret will be in 'zitadel' service logs (grep for 'Application created').\"" ]
Expand All @@ -55,7 +55,7 @@ services:
networks:
- backend
- storage
image: 'ghcr.io/zitadel/zitadel:latest'
image: 'ghcr.io/zitadel/zitadel:v4.0.0-rc.1'
command: >
start --config /example-zitadel-config.yaml
--config /example-zitadel-secrets.yaml
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ addopts = [
"--cov-report=html:build/coverage/html",
"--cov-report=xml:build/coverage/clover.xml",
"--cov-report=term",
"--xml-junit-dir=build/reports/"

]
junit_family = "legacy"

Expand Down
4 changes: 2 additions & 2 deletions spec/auth/using_access_token_spec.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def test_retrieves_general_settings_with_valid_token(self, docker_compose: Dict[
docker_compose["base_url"],
docker_compose["auth_token"],
)
client.settings.settings_service_get_general_settings()
client.settings.get_general_settings()

def test_raises_api_exception_with_invalid_token(self, docker_compose: Dict[str, str]) -> None: # noqa F811
"""Raises ApiException when using an invalid access token."""
Expand All @@ -35,4 +35,4 @@ def test_raises_api_exception_with_invalid_token(self, docker_compose: Dict[str,
"invalid",
)
with pytest.raises(ZitadelError):
client.settings.settings_service_get_general_settings()
client.settings.get_general_settings()
4 changes: 2 additions & 2 deletions spec/auth/using_client_credentials_spec.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def test_retrieves_general_settings_with_valid_client_credentials(self, docker_c
credentials["client_id"],
credentials["client_secret"],
)
client.settings.settings_service_get_general_settings()
client.settings.get_general_settings()

def test_raises_api_exception_with_invalid_client_credentials(self, docker_compose: Dict[str, str]) -> None: # noqa F811
"""Raises ApiException when using invalid client credentials."""
Expand All @@ -88,4 +88,4 @@ def test_raises_api_exception_with_invalid_client_credentials(self, docker_compo
"invalid",
)
with pytest.raises(ZitadelError):
client.settings.settings_service_get_general_settings()
client.settings.get_general_settings()
4 changes: 2 additions & 2 deletions spec/auth/using_private_key_spec.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def test_retrieves_general_settings_with_valid_private_key(self, docker_compose:
docker_compose["base_url"],
docker_compose["jwt_key"],
)
client.settings.settings_service_get_general_settings()
client.settings.get_general_settings()

def test_raises_api_exception_with_invalid_private_key(self, docker_compose: Dict[str, str]) -> None: # noqa F811
"""Raises ApiException when using an invalid private key path."""
Expand All @@ -35,4 +35,4 @@ def test_raises_api_exception_with_invalid_private_key(self, docker_compose: Dic
docker_compose["jwt_key"],
)
with pytest.raises(ZitadelError):
client.settings.settings_service_get_general_settings()
client.settings.get_general_settings()
35 changes: 17 additions & 18 deletions spec/check_session_service_spec.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,10 @@
SessionServiceCreateSessionRequest,
SessionServiceCreateSessionResponse,
SessionServiceDeleteSessionRequest,
SessionServiceGetSessionRequest,
SessionServiceGetSessionResponse,
SessionServiceListSessionsRequest,
SessionServiceListSessionsResponse,
SessionServiceSetSessionRequest,
SessionServiceSetSessionResponse,
UserServiceAddHumanUserRequest,
UserServiceSetHumanEmail,
UserServiceSetHumanProfile,
Expand All @@ -40,19 +39,20 @@ def session(client: zitadel.Zitadel) -> Generator[SessionServiceCreateSessionRes
profile=UserServiceSetHumanProfile(given_name="John", family_name="Doe"), # type: ignore[call-arg]
email=UserServiceSetHumanEmail(email=f"johndoe{uuid.uuid4().hex}@example.com"),
)
client.users.user_service_add_human_user(request1)
client.users.add_human_user(request1)

request = SessionServiceCreateSessionRequest(
checks=SessionServiceChecks(user=SessionServiceCheckUser(loginName=username)),
lifetime="18000s",
)
response = client.sessions.session_service_create_session(request)
response = client.sessions.create_session(request)
yield response
# Teardown
delete_body = SessionServiceDeleteSessionRequest()
delete_body = SessionServiceDeleteSessionRequest(
sessionId=response.session_id if response.session_id is not None else "",
)
try:
client.sessions.session_service_delete_session(
response.session_id if response.session_id is not None else "",
client.sessions.delete_session(
delete_body,
)
except ApiError:
Expand Down Expand Up @@ -82,9 +82,8 @@ def test_retrieves_session_details_by_id(
session: SessionServiceCreateSessionResponse,
) -> None:
"""Retrieves the session details by ID."""
response: SessionServiceGetSessionResponse = client.sessions.session_service_get_session(
session.session_id if session.session_id is not None else ""
)
request = SessionServiceGetSessionRequest(sessionId=session.session_id if session.session_id is not None else "")
response: SessionServiceGetSessionResponse = client.sessions.get_session(request)
assert response.session is not None
assert response.session.id == session.session_id

Expand All @@ -95,7 +94,7 @@ def test_includes_created_session_when_listing(
) -> None:
"""Includes the created session when listing all sessions."""
request = SessionServiceListSessionsRequest(queries=[])
response: SessionServiceListSessionsResponse = client.sessions.session_service_list_sessions(request)
response = client.sessions.list_sessions(request)
assert response.sessions is not None
assert session.session_id in [session.id for session in response.sessions]

Expand All @@ -105,11 +104,10 @@ def test_updates_session_lifetime_and_returns_new_token(
session: SessionServiceCreateSessionResponse,
) -> None:
"""Updates the session lifetime and returns a new token."""
request = SessionServiceSetSessionRequest(lifetime="36000s")
response: SessionServiceSetSessionResponse = client.sessions.session_service_set_session(
session.session_id if session.session_id is not None else "",
request,
request = SessionServiceSetSessionRequest(
sessionId=session.session_id if session.session_id is not None else "", lifetime="36000s"
)
response = client.sessions.set_session(request)
assert isinstance(response.session_token, str)

def test_raises_api_exception_for_nonexistent_session(
Expand All @@ -119,7 +117,8 @@ def test_raises_api_exception_for_nonexistent_session(
) -> None:
"""Raises an ApiException when retrieving a non-existent session."""
with pytest.raises(ApiError):
client.sessions.session_service_get_session(
str(uuid.uuid4()),
session_token=session.session_token,
request = SessionServiceGetSessionRequest(
sessionId=str(uuid.uuid4()),
sessionToken=session.session_token,
)
client.sessions.get_session(request)
32 changes: 23 additions & 9 deletions spec/check_user_service_spec.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import time
import uuid
from typing import Dict, Generator

Expand All @@ -9,6 +10,7 @@
from zitadel_client.models import (
UserServiceAddHumanUserRequest,
UserServiceAddHumanUserResponse,
UserServiceGetUserByIDRequest,
UserServiceGetUserByIDResponse,
UserServiceListUsersRequest,
UserServiceSetHumanEmail,
Expand All @@ -33,10 +35,12 @@ def user(client: zitadel.Zitadel) -> Generator[UserServiceAddHumanUserResponse,
profile=UserServiceSetHumanProfile(given_name="John", family_name="Doe"), # type: ignore[call-arg]
email=UserServiceSetHumanEmail(email=f"johndoe{uuid.uuid4().hex}@example.com"),
)
response = client.users.user_service_add_human_user(request)
response = client.users.add_human_user(request)
print(response)
time.sleep(4)
yield response
try:
client.users.user_service_delete_user(response.user_id) # type: ignore[arg-type]
pass
except ApiError:
pass

Expand Down Expand Up @@ -64,7 +68,10 @@ def test_retrieves_user_details_by_id(
user: UserServiceAddHumanUserResponse,
) -> None:
"""Retrieves the user details by ID."""
response: UserServiceGetUserByIDResponse = client.users.user_service_get_user_by_id(user.user_id) # type: ignore[arg-type]
request = UserServiceGetUserByIDRequest(
userId=user.user_id or "",
)
response: UserServiceGetUserByIDResponse = client.users.get_user_by_id(request)
assert response.user.user_id == user.user_id # type: ignore[union-attr]

def test_includes_created_user_when_listing(
Expand All @@ -74,7 +81,7 @@ def test_includes_created_user_when_listing(
) -> None:
"""Includes the created user when listing all users."""
request = UserServiceListUsersRequest(queries=[])
response = client.users.user_service_list_users(request)
response = client.users.list_users(request)
ids = [u.user_id for u in response.result] # type: ignore
assert user.user_id in ids

Expand All @@ -84,11 +91,15 @@ def test_updates_user_email_and_reflects_in_get(
user: UserServiceAddHumanUserResponse,
) -> None:
"""Updates the user's email and verifies the change."""
client.users.user_service_update_human_user(
user.user_id, # type: ignore[arg-type]
UserServiceUpdateHumanUserRequest(email=UserServiceSetHumanEmail(email=f"updated{uuid.uuid4().hex}@example.com")),
request = UserServiceUpdateHumanUserRequest(
userId=user.user_id, email=UserServiceSetHumanEmail(email=f"updated{uuid.uuid4().hex}@example.com")
)
client.users.update_human_user(request)
response = client.users.get_user_by_id(
UserServiceGetUserByIDRequest(
userId=user.user_id or "",
)
)
response = client.users.user_service_get_user_by_id(user.user_id) # type: ignore[arg-type]
assert "updated" in response.user.human.email.email # type: ignore

def test_raises_api_exception_for_nonexistent_user(
Expand All @@ -97,4 +108,7 @@ def test_raises_api_exception_for_nonexistent_user(
) -> None:
"""Raises an ApiException when retrieving a non-existent user."""
with pytest.raises(ApiError):
client.users.user_service_get_user_by_id(str(uuid.uuid4()))
request = UserServiceGetUserByIDRequest(
userId=str(uuid.uuid4()),
)
client.users.get_user_by_id(request)
15 changes: 14 additions & 1 deletion zitadel_client/api/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
# flake8: noqa

# import apis into api package
from zitadel_client.api.action_service_api import ActionServiceApi
from zitadel_client.api.beta_action_service_api import BetaActionServiceApi
from zitadel_client.api.beta_app_service_api import BetaAppServiceApi
from zitadel_client.api.beta_authorization_service_api import BetaAuthorizationServiceApi
from zitadel_client.api.beta_feature_service_api import BetaFeatureServiceApi
from zitadel_client.api.beta_instance_service_api import BetaInstanceServiceApi
from zitadel_client.api.beta_internal_permission_service_api import BetaInternalPermissionServiceApi
from zitadel_client.api.beta_oidc_service_api import BetaOIDCServiceApi
from zitadel_client.api.beta_organization_service_api import BetaOrganizationServiceApi
from zitadel_client.api.beta_project_service_api import BetaProjectServiceApi
from zitadel_client.api.beta_session_service_api import BetaSessionServiceApi
from zitadel_client.api.beta_settings_service_api import BetaSettingsServiceApi
from zitadel_client.api.beta_telemetry_service_api import BetaTelemetryServiceApi
from zitadel_client.api.beta_user_service_api import BetaUserServiceApi
from zitadel_client.api.beta_web_key_service_api import BetaWebKeyServiceApi
from zitadel_client.api.feature_service_api import FeatureServiceApi
from zitadel_client.api.identity_provider_service_api import IdentityProviderServiceApi
from zitadel_client.api.oidc_service_api import OIDCServiceApi
Expand Down
Loading
Loading