Skip to content

Commit

Permalink
Merge branch 'timhallmann-pydantic_deprecations'
Browse files Browse the repository at this point in the history
Includes commits from and closes #36
  • Loading branch information
lilioid committed Feb 14, 2025
2 parents f4cae7c + 363f69f commit 0856860
Show file tree
Hide file tree
Showing 11 changed files with 21 additions and 21 deletions.
8 changes: 4 additions & 4 deletions src/simple_openid_connect/base_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def encode_x_www_form_urlencoded(self) -> str:
"""
query = Query()
query.set(self.dict(exclude_defaults=True))
query.set(self.model_dump(exclude_defaults=True))
return query.encode() # type: ignore # because furl has no typedefs, but we know what this returns

def encode_url(self, url: str) -> str:
Expand All @@ -44,7 +44,7 @@ def encode_url(self, url: str) -> str:
it should never need to generate responses.
"""
url_parsed = furl(url)
url_parsed.args.update(self.dict(exclude_defaults=True))
url_parsed.args.update(self.model_dump(exclude_defaults=True))
return url_parsed.tostr() # type: ignore # because furl has no typedefs, but we know what this returns

@classmethod
Expand All @@ -54,7 +54,7 @@ def parse_x_www_form_urlencoded(cls: Type[Self], s: str) -> Self:
"""
query = Query(s)
one_value_params = {key: query.params[key] for key in query.params.keys()}
return cls.parse_obj(one_value_params)
return cls.model_validate(one_value_params)

@classmethod
def parse_url(
Expand Down Expand Up @@ -97,4 +97,4 @@ def parse_jwt(cls: Type[Self], value: str, signing_keys: List[JWK]) -> Self:
"""
verifier = JWS()
msg = verifier.verify_compact(value, signing_keys)
return cls.parse_obj(msg)
return cls.model_validate(msg)
2 changes: 1 addition & 1 deletion src/simple_openid_connect/discovery.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ def discover_configuration_from_issuer(issuer: str) -> ProviderMetadata:
)

try:
result = ProviderMetadata.parse_raw(response.content)
result = ProviderMetadata.model_validate_json(response.content)
assert result.issuer.rstrip("/") == issuer, "issuer mismatch"
except Exception as e:
raise OpenidProtocolError(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,6 @@ def exchange_code_for_tokens(
)

if response.status_code == 200:
return TokenSuccessResponse.parse_raw(response.content)
return TokenSuccessResponse.model_validate_json(response.content)
else:
return TokenErrorResponse.parse_raw(response.content)
return TokenErrorResponse.model_validate_json(response.content)
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,6 @@ def authenticate(
)

if response.status_code == 200:
return TokenSuccessResponse.parse_raw(response.content)
return TokenSuccessResponse.model_validate_json(response.content)
else:
return TokenErrorResponse.parse_raw(response.content)
return TokenErrorResponse.model_validate_json(response.content)
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,6 @@ def authenticate(
)

if response.status_code == 200:
return TokenSuccessResponse.parse_raw(response.content)
return TokenSuccessResponse.model_validate_json(response.content)
else:
return TokenErrorResponse.parse_raw(response.content)
return TokenErrorResponse.model_validate_json(response.content)
2 changes: 1 addition & 1 deletion src/simple_openid_connect/integrations/django/apps.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ def safe_settings(self) -> SettingsModel:
"""
type-validated version of django settings
"""
return SettingsModel.from_orm(settings)
return SettingsModel.model_validate(settings)

@cached_property
def user_mapper(self) -> "UserMapper":
Expand Down
4 changes: 2 additions & 2 deletions src/simple_openid_connect/integrations/django/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ def update_session(
access_token_expiry=_calc_expiry(token_response.expires_in),
refresh_token=token_response.refresh_token or "",
refresh_token_expiry=_calc_expiry(token_response.refresh_expires_in),
_id_token=id_token.json(), # type: ignore[unused-ignore,misc]
_id_token=id_token.model_dump_json(), # type: ignore[unused-ignore,misc]
raw_id_token=token_response.id_token,
)

Expand All @@ -112,7 +112,7 @@ class OpenidSession(models.Model):

@property
def id_token(self) -> IdToken:
return IdToken.parse_raw(self._id_token)
return IdToken.model_validate_json(self._id_token)

@id_token.setter
def id_token(self, value: IdToken) -> None:
Expand Down
4 changes: 2 additions & 2 deletions src/simple_openid_connect/token_introspection.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,6 @@ def introspect_token(
)

if response.status_code == 200:
return TokenIntrospectionSuccessResponse.parse_raw(response.content)
return TokenIntrospectionSuccessResponse.model_validate_json(response.content)
else:
return TokenIntrospectionErrorResponse.parse_raw(response.content)
return TokenIntrospectionErrorResponse.model_validate_json(response.content)
4 changes: 2 additions & 2 deletions src/simple_openid_connect/token_refresh.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,6 @@ def exchange_refresh_token(
)

if response.status_code == 200:
return TokenSuccessResponse.parse_raw(response.content)
return TokenSuccessResponse.model_validate_json(response.content)
else:
return TokenErrorResponse.parse_raw(response.content)
return TokenErrorResponse.model_validate_json(response.content)
4 changes: 2 additions & 2 deletions src/simple_openid_connect/userinfo.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,6 @@ def fetch_userinfo(
)

if response.status_code == 200:
return UserinfoSuccessResponse.parse_raw(response.content)
return UserinfoSuccessResponse.model_validate_json(response.content)
else:
return UserinfoErrorResponse.parse_raw(response.content)
return UserinfoErrorResponse.model_validate_json(response.content)
2 changes: 1 addition & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ def dummy_provider_config(jwks, response_mock):
introspection_endpoint="https://provider.example.com/token-introspection",
subject_types_supported=["public"],
id_token_signing_alg_values_supported=["RS256"],
).dict(exclude_defaults=True),
).model_dump(exclude_defaults=True),
)
response_mock.get(
url="https://provider.example.com/jwks",
Expand Down

0 comments on commit 0856860

Please sign in to comment.