99import requests
1010from aiohttp .test_utils import unused_port
1111from faker import Faker
12+ from models_library .utils .fastapi_encoders import jsonable_encoder
1213from moto .server import ThreadedMotoServer
13- from pydantic import AnyHttpUrl , parse_obj_as
14+ from pydantic import AnyHttpUrl , SecretStr , parse_obj_as
1415from pytest_mock .plugin import MockerFixture
16+ from settings_library .basic_types import IDStr
1517from settings_library .ec2 import EC2Settings
1618from settings_library .s3 import S3Settings
1719from settings_library .ssm import SSMSettings
@@ -74,7 +76,7 @@ def mocked_ec2_server_envs(
7476 monkeypatch : pytest .MonkeyPatch ,
7577) -> EnvVarsDict :
7678 changed_envs : EnvVarsDict = mocked_ec2_server_settings .dict ()
77- return setenvs_from_dict (monkeypatch , changed_envs )
79+ return setenvs_from_dict (monkeypatch , { ** changed_envs } )
7880
7981
8082@pytest .fixture
@@ -98,9 +100,12 @@ def mocked_ssm_server_settings(
98100 reset_aws_server_state : None ,
99101) -> SSMSettings :
100102 return SSMSettings (
101- SSM_ACCESS_KEY_ID = "xxx" ,
102- SSM_ENDPOINT = f"http://{ mocked_aws_server ._ip_address } :{ mocked_aws_server ._port } " , # pylint: disable=protected-access # noqa: SLF001
103- SSM_SECRET_ACCESS_KEY = "xxx" , # noqa: S106
103+ SSM_ACCESS_KEY_ID = SecretStr ("xxx" ),
104+ SSM_ENDPOINT = parse_obj_as (
105+ AnyHttpUrl ,
106+ f"http://{ mocked_aws_server ._ip_address } :{ mocked_aws_server ._port } " , # pylint: disable=protected-access # noqa: SLF001
107+ ),
108+ SSM_SECRET_ACCESS_KEY = SecretStr ("xxx" ),
104109 )
105110
106111
@@ -109,23 +114,23 @@ def mocked_ssm_server_envs(
109114 mocked_ssm_server_settings : SSMSettings ,
110115 monkeypatch : pytest .MonkeyPatch ,
111116) -> EnvVarsDict :
112- changed_envs : EnvVarsDict = mocked_ssm_server_settings . dict ( )
113- return setenvs_from_dict (monkeypatch , changed_envs )
117+ changed_envs : EnvVarsDict = jsonable_encoder ( mocked_ssm_server_settings )
118+ return setenvs_from_dict (monkeypatch , { ** changed_envs } )
114119
115120
116121@pytest .fixture
117122def mocked_s3_server_settings (
118123 mocked_aws_server : ThreadedMotoServer , reset_aws_server_state : None , faker : Faker
119124) -> S3Settings :
120125 return S3Settings (
121- S3_ACCESS_KEY = "xxx" ,
126+ S3_ACCESS_KEY = IDStr ( "xxx" ) ,
122127 S3_ENDPOINT = parse_obj_as (
123128 AnyHttpUrl ,
124129 f"http://{ mocked_aws_server ._ip_address } :{ mocked_aws_server ._port } " , # pylint: disable=protected-access # noqa: SLF001
125130 ),
126- S3_SECRET_KEY = "xxx" , # noqa: S106
127- S3_BUCKET_NAME = f"pytest{ faker .pystr ().lower ()} " ,
128- S3_REGION = "us-east-1" ,
131+ S3_SECRET_KEY = IDStr ( "xxx" ),
132+ S3_BUCKET_NAME = IDStr ( f"pytest{ faker .pystr ().lower ()} " ) ,
133+ S3_REGION = IDStr ( "us-east-1" ) ,
129134 )
130135
131136
@@ -135,4 +140,4 @@ def mocked_s3_server_envs(
135140 monkeypatch : pytest .MonkeyPatch ,
136141) -> EnvVarsDict :
137142 changed_envs : EnvVarsDict = mocked_s3_server_settings .dict (exclude_unset = True )
138- return setenvs_from_dict (monkeypatch , changed_envs )
143+ return setenvs_from_dict (monkeypatch , { ** changed_envs } )
0 commit comments