Fix problem in sanitize_for_serialization for Python (pydantic type SecretStr ) BUG#16086 (2nd pull) (#18023)

* fix-for-bug-16086

* add to_dict alternative

* fix assertEqual

* remove extra blank line + test_model Argument SecretStr set

* update samples / remove extra blank line

* restore sanitize test for serialization with different data types

* remove empty line in api_client.mustache

* remove 2nd empty line in api_client.mustache
This commit is contained in:
Artur Zdolinski
2024-03-20 12:14:43 +01:00
committed by GitHub
parent e2df0d6154
commit c15e267e22
6 changed files with 50 additions and 7 deletions

View File

@@ -8,7 +8,7 @@ import os
import time
import unittest
from pydantic import ValidationError
from pydantic import ValidationError, SecretStr, BaseModel, StrictStr, Field
import pytest
import petstore_api
@@ -407,9 +407,17 @@ class ModelTests(unittest.TestCase):
a.pattern_with_digits_and_delimiter = "image_123"
self.assertEqual(a.pattern_with_digits_and_delimiter, "image_123")
# test sanitize for serializaation with SecretStr (format: password)
# test sanitize for serialization with different data types
self.assertEquals(petstore_api.ApiClient().sanitize_for_serialization(a), {'byte': b'string', 'date': '2013-09-17', 'number': 123.45, 'password': 'testing09876', 'pattern_with_digits_and_delimiter': 'image_123'})
# test sanitize for serialization with SecretStr (format: password)
class LoginTest(BaseModel):
username: StrictStr = Field(min_length=2, strict=True, max_length=64)
password: SecretStr
l = LoginTest(username="admin", password=SecretStr("testing09876"))
self.assertEqual(petstore_api.ApiClient().sanitize_for_serialization(l), {'username': "admin", 'password': "testing09876"})
def test_inline_enum_validator(self):
self.pet = petstore_api.Pet(name="test name", photoUrls=["string"])
self.pet.id = 1