33import pytest
44from pytest_mock import MockerFixture
55
6+ from pydantic import SecretStr
7+
8+ import constants
9+
610from models .config import (
711 QuotaLimiterConfiguration ,
812 PostgreSQLDatabaseConfiguration ,
1620
1721def test_quota_limiters_no_storage () -> None :
1822 """Test the quota limiters creating when no storage is configured."""
19- configuration = QuotaHandlersConfiguration ()
23+ configuration = QuotaHandlersConfiguration () # pyright: ignore[reportCallIssue]
2024 configuration .sqlite = None
2125 configuration .postgres = None
2226 configuration .limiters = []
@@ -26,37 +30,47 @@ def test_quota_limiters_no_storage() -> None:
2630
2731def test_quota_limiters_no_limiters_pg_storage () -> None :
2832 """Test the quota limiters creating when no limiters are specified."""
29- configuration = QuotaHandlersConfiguration ()
33+ configuration = QuotaHandlersConfiguration () # pyright: ignore[reportCallIssue]
3034 configuration .postgres = PostgreSQLDatabaseConfiguration (
3135 db = "test" ,
3236 user = "user" ,
33- password = "password" ,
37+ password = SecretStr ( "password" ) ,
3438 namespace = "foo" ,
39+ host = "host" ,
40+ port = 1234 ,
41+ ssl_mode = constants .POSTGRES_DEFAULT_SSL_MODE ,
42+ gss_encmode = constants .POSTGRES_DEFAULT_GSS_ENCMODE ,
43+ ca_cert_path = None ,
3544 )
36- configuration .limiters = None
45+ configuration .limiters = None # pyright: ignore
3746 limiters = QuotaLimiterFactory .quota_limiters (configuration )
3847 assert not limiters
3948
4049
4150def test_quota_limiters_no_limiters_sqlite_storage () -> None :
4251 """Test the quota limiters creating when no limiters are specified."""
43- configuration = QuotaHandlersConfiguration ()
52+ configuration = QuotaHandlersConfiguration () # pyright: ignore[reportCallIssue]
4453 configuration .sqlite = SQLiteDatabaseConfiguration (
4554 db_path = "/foo/bar" ,
4655 )
47- configuration .limiters = None
56+ configuration .limiters = None # pyright: ignore
4857 limiters = QuotaLimiterFactory .quota_limiters (configuration )
4958 assert not limiters
5059
5160
5261def test_quota_limiters_empty_limiters_pg_storage () -> None :
5362 """Test the quota limiters creating when no limiters are specified."""
54- configuration = QuotaHandlersConfiguration ()
63+ configuration = QuotaHandlersConfiguration () # pyright: ignore[reportCallIssue]
5564 configuration .postgres = PostgreSQLDatabaseConfiguration (
5665 db = "test" ,
5766 user = "user" ,
58- password = "password" ,
67+ password = SecretStr ( "password" ) ,
5968 namespace = "foo" ,
69+ host = "host" ,
70+ port = 1234 ,
71+ ssl_mode = constants .POSTGRES_DEFAULT_SSL_MODE ,
72+ gss_encmode = constants .POSTGRES_DEFAULT_GSS_ENCMODE ,
73+ ca_cert_path = None ,
6074 )
6175 configuration .limiters = []
6276 limiters = QuotaLimiterFactory .quota_limiters (configuration )
@@ -65,7 +79,7 @@ def test_quota_limiters_empty_limiters_pg_storage() -> None:
6579
6680def test_quota_limiters_empty_limiters_sqlite_storage () -> None :
6781 """Test the quota limiters creating when no limiters are specified."""
68- configuration = QuotaHandlersConfiguration ()
82+ configuration = QuotaHandlersConfiguration () # pyright: ignore[reportCallIssue]
6983 configuration .sqlite = SQLiteDatabaseConfiguration (
7084 db_path = "/foo/bar" ,
7185 )
@@ -78,12 +92,17 @@ def test_quota_limiters_user_quota_limiter_postgres_storage(
7892 mocker : MockerFixture ,
7993) -> None :
8094 """Test the quota limiters creating when one limiter is specified."""
81- configuration = QuotaHandlersConfiguration ()
95+ configuration = QuotaHandlersConfiguration () # pyright: ignore[reportCallIssue]
8296 configuration .postgres = PostgreSQLDatabaseConfiguration (
8397 db = "test" ,
8498 user = "user" ,
85- password = "password" ,
99+ password = SecretStr ( "password" ) ,
86100 namespace = "foo" ,
101+ host = "host" ,
102+ port = 1234 ,
103+ ssl_mode = constants .POSTGRES_DEFAULT_SSL_MODE ,
104+ gss_encmode = constants .POSTGRES_DEFAULT_GSS_ENCMODE ,
105+ ca_cert_path = None ,
87106 )
88107 configuration .limiters = [
89108 QuotaLimiterConfiguration (
@@ -103,7 +122,7 @@ def test_quota_limiters_user_quota_limiter_postgres_storage(
103122
104123def test_quota_limiters_user_quota_limiter_sqlite_storage () -> None :
105124 """Test the quota limiters creating when one limiter is specified."""
106- configuration = QuotaHandlersConfiguration ()
125+ configuration = QuotaHandlersConfiguration () # pyright: ignore[reportCallIssue]
107126 configuration .sqlite = SQLiteDatabaseConfiguration (
108127 db_path = ":memory:" ,
109128 )
@@ -125,12 +144,17 @@ def test_quota_limiters_cluster_quota_limiter_postgres_storage(
125144 mocker : MockerFixture ,
126145) -> None :
127146 """Test the quota limiters creating when one limiter is specified."""
128- configuration = QuotaHandlersConfiguration ()
147+ configuration = QuotaHandlersConfiguration () # pyright: ignore[reportCallIssue]
129148 configuration .postgres = PostgreSQLDatabaseConfiguration (
130149 db = "test" ,
131150 user = "user" ,
132- password = "password" ,
151+ password = SecretStr ( "password" ) ,
133152 namespace = "foo" ,
153+ host = "host" ,
154+ port = 1234 ,
155+ ssl_mode = constants .POSTGRES_DEFAULT_SSL_MODE ,
156+ gss_encmode = constants .POSTGRES_DEFAULT_GSS_ENCMODE ,
157+ ca_cert_path = None ,
134158 )
135159 configuration .limiters = [
136160 QuotaLimiterConfiguration (
@@ -150,7 +174,7 @@ def test_quota_limiters_cluster_quota_limiter_postgres_storage(
150174
151175def test_quota_limiters_cluster_quota_limiter_sqlite_storage () -> None :
152176 """Test the quota limiters creating when one limiter is specified."""
153- configuration = QuotaHandlersConfiguration ()
177+ configuration = QuotaHandlersConfiguration () # pyright: ignore[reportCallIssue]
154178 configuration .sqlite = SQLiteDatabaseConfiguration (
155179 db_path = ":memory:" ,
156180 )
@@ -170,12 +194,17 @@ def test_quota_limiters_cluster_quota_limiter_sqlite_storage() -> None:
170194
171195def test_quota_limiters_two_limiters (mocker : MockerFixture ) -> None :
172196 """Test the quota limiters creating when two limiters are specified."""
173- configuration = QuotaHandlersConfiguration ()
197+ configuration = QuotaHandlersConfiguration () # pyright: ignore[reportCallIssue]
174198 configuration .postgres = PostgreSQLDatabaseConfiguration (
175199 db = "test" ,
176200 user = "user" ,
177- password = "password" ,
201+ password = SecretStr ( "password" ) ,
178202 namespace = "foo" ,
203+ host = "host" ,
204+ port = 1234 ,
205+ ssl_mode = constants .POSTGRES_DEFAULT_SSL_MODE ,
206+ gss_encmode = constants .POSTGRES_DEFAULT_GSS_ENCMODE ,
207+ ca_cert_path = None ,
179208 )
180209 configuration .limiters = [
181210 QuotaLimiterConfiguration (
@@ -203,12 +232,17 @@ def test_quota_limiters_two_limiters(mocker: MockerFixture) -> None:
203232
204233def test_quota_limiters_invalid_limiter_type (mocker : MockerFixture ) -> None :
205234 """Test the quota limiters creating when invalid limiter type is specified."""
206- configuration = QuotaHandlersConfiguration ()
235+ configuration = QuotaHandlersConfiguration () # pyright: ignore[reportCallIssue]
207236 configuration .postgres = PostgreSQLDatabaseConfiguration (
208237 db = "test" ,
209238 user = "user" ,
210- password = "password" ,
239+ password = SecretStr ( "password" ) ,
211240 namespace = "foo" ,
241+ host = "host" ,
242+ port = 1234 ,
243+ ssl_mode = constants .POSTGRES_DEFAULT_SSL_MODE ,
244+ gss_encmode = constants .POSTGRES_DEFAULT_GSS_ENCMODE ,
245+ ca_cert_path = None ,
212246 )
213247 configuration .limiters = [
214248 QuotaLimiterConfiguration (
@@ -219,7 +253,7 @@ def test_quota_limiters_invalid_limiter_type(mocker: MockerFixture) -> None:
219253 period = "5 days" ,
220254 ),
221255 ]
222- configuration .limiters [0 ].type = "foo"
256+ configuration .limiters [0 ].type = "foo" # pyright: ignore
223257 # do not use connection to real PostgreSQL instance
224258 mocker .patch ("psycopg2.connect" )
225259 with pytest .raises (ValueError , match = "Invalid limiter type: foo" ):
0 commit comments