11import logging
22
33import pytest
4- from pydantic import (
5- BaseModel ,
6- )
4+ from pydantic import BaseModel
75from pydantic_settings import SettingsConfigDict
86
9- from pydantic_ssm_settings import (
10- AwsSsmSourceConfig ,
11- SsmSettingsConfigDict ,
12- )
7+ from pydantic_ssm_settings import AwsSsmSourceConfig , SsmSettingsConfigDict
138
149logger = logging .getLogger ("pydantic_ssm_settings" )
1510logger .setLevel (logging .DEBUG )
@@ -38,33 +33,33 @@ def test_ssm_prefix_must_be_absolute():
3833
3934
4035def test_lookup_from_ssm (ssm ):
41- ssm .put_parameter (Name = "/foo" , Value = "bar" )
36+ ssm .put_parameter (Name = "/foo" , Value = "bar" , Type = "String" )
4237 settings = SimpleSettings ()
4338 assert settings .foo == "bar"
4439
4540
4641def test_lookup_from_ssm_with_prefix (ssm ):
47- ssm .put_parameter (Name = "/asdf/foo" , Value = "bar" )
42+ ssm .put_parameter (Name = "/asdf/foo" , Value = "bar" , Type = "String" )
4843 settings = SimpleSettings (_ssm_prefix = "/asdf" )
4944 assert settings .foo == "bar"
5045
5146
5247def test_casting (ssm ):
53- ssm .put_parameter (Name = "/foo" , Value = "xyz123" )
54- ssm .put_parameter (Name = "/bar" , Value = "99" )
48+ ssm .put_parameter (Name = "/foo" , Value = "xyz123" , Type = "String" )
49+ ssm .put_parameter (Name = "/bar" , Value = "99" , Type = "String" )
5550 settings = IntSettings ()
5651 assert isinstance (settings .bar , int )
5752 assert settings .bar == 99
5853
5954
6055def test_parameter_override (ssm ):
61- ssm .put_parameter (Name = "/foo" , Value = "ssm_bar" )
56+ ssm .put_parameter (Name = "/foo" , Value = "ssm_bar" , Type = "String" )
6257 s = SimpleSettings (foo = "param_bar" )
6358 assert s .foo == "param_bar"
6459
6560
6661def test_dotenv_override (tmp_path , ssm ):
67- ssm .put_parameter (Name = "/foo" , Value = "ssm_bar" )
62+ ssm .put_parameter (Name = "/foo" , Value = "ssm_bar" , Type = "String" )
6863 p = tmp_path / ".env"
6964 p .write_text ("foo=dotenv_bar" )
7065
@@ -73,7 +68,7 @@ def test_dotenv_override(tmp_path, ssm):
7368
7469
7570def test_env_override (env , ssm ):
76- ssm .put_parameter (Name = "/foo" , Value = "ssm_bar" )
71+ ssm .put_parameter (Name = "/foo" , Value = "ssm_bar" , Type = "String" )
7772 env .set ("foo" , "env_bar" )
7873 s = SimpleSettings ()
7974 assert s .foo == "env_bar"
@@ -82,26 +77,26 @@ def test_env_override(env, ssm):
8277def test_secret_override (tmp_path , ssm ):
8378 p = tmp_path / "foo"
8479 p .write_text ("secret_bar" )
85- ssm .put_parameter (Name = "/foo" , Value = "ssm_bar" )
80+ ssm .put_parameter (Name = "/foo" , Value = "ssm_bar" , Type = "String" )
8681 s = SimpleSettings (_secrets_dir = tmp_path )
8782 assert s .foo == "secret_bar"
8883
8984
9085def test_nested_parameters (ssm ):
91- ssm .put_parameter (Name = "/foo/bar" , Value = "bar_value" )
86+ ssm .put_parameter (Name = "/foo/bar" , Value = "bar_value" , Type = "String" )
9287 settings = ParentSetting ()
9388 assert settings .foo .bar == "bar_value"
9489
9590
9691def test_ssm_parameter_json (ssm ):
97- ssm .put_parameter (Name = "/foo" , Value = '{"bar": "xyz123"}' )
92+ ssm .put_parameter (Name = "/foo" , Value = '{"bar": "xyz123"}' , Type = "String" )
9893 settings = ParentSetting ()
9994 assert settings .foo .bar == "xyz123"
10095
10196
10297def test_ssm_parameter_json_override (ssm ):
103- ssm .put_parameter (Name = "/foo" , Value = '{"bar": "xyz123"}' )
104- ssm .put_parameter (Name = "/foo/bar" , Value = "overwritten" )
98+ ssm .put_parameter (Name = "/foo" , Value = '{"bar": "xyz123"}' , Type = "String" )
99+ ssm .put_parameter (Name = "/foo/bar" , Value = "overwritten" , Type = "String" )
105100 settings = ParentSetting ()
106101 assert settings .foo .bar == "overwritten"
107102
@@ -112,7 +107,7 @@ class CaseInsensitiveSettings(AwsSsmSourceConfig):
112107
113108
114109def test_case_insensitivity (ssm ):
115- ssm .put_parameter (Name = "/FOO" , Value = "bar" )
110+ ssm .put_parameter (Name = "/FOO" , Value = "bar" , Type = "String" )
116111 settings = CaseInsensitiveSettings ()
117112 assert settings .foo == "bar"
118113
@@ -123,6 +118,6 @@ class CustomConfigDict(AwsSsmSourceConfig):
123118
124119
125120def test_parameters_from_model_config (ssm ):
126- ssm .put_parameter (Name = "/asdf/foo" , Value = "bar" )
121+ ssm .put_parameter (Name = "/asdf/foo" , Value = "bar" , Type = "String" )
127122 settings = CustomConfigDict ()
128123 assert settings .foo == "bar"
0 commit comments