Skip to content

Commit d58d9bf

Browse files
authored
Merge pull request #1075 from tisnik/lcore-890-fixed-all-pyright-issues-found-in-quota-limiters-tests
LCORE-890: fixed all pyright issues found in quota limiters tests
2 parents 70f7dbe + 1ceab70 commit d58d9bf

4 files changed

Lines changed: 69 additions & 24 deletions

File tree

tests/unit/quota/test_cluster_quota_limiter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def create_quota_limiter(
1717
name: str, initial_quota: int, quota_limit: int
1818
) -> ClusterQuotaLimiter:
1919
"""Create new quota limiter instance."""
20-
configuration = QuotaHandlersConfiguration()
20+
configuration = QuotaHandlersConfiguration() # pyright: ignore[reportCallIssue]
2121
configuration.sqlite = SQLiteDatabaseConfiguration(
2222
db_path=":memory:",
2323
)

tests/unit/quota/test_connect_pg.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
import pytest
44
from pytest_mock import MockerFixture
55

6+
from pydantic import SecretStr
67
from psycopg2 import OperationalError
78

9+
import constants
810
from quota.connect_pg import connect_pg
911
from models.config import PostgreSQLDatabaseConfiguration
1012

@@ -15,8 +17,13 @@ def test_connect_pg_when_connection_established(mocker: MockerFixture) -> None:
1517
configuration = PostgreSQLDatabaseConfiguration(
1618
db="db",
1719
user="user",
18-
password="password",
20+
password=SecretStr("password"),
1921
namespace="foo",
22+
host="host",
23+
port=1234,
24+
ssl_mode=constants.POSTGRES_DEFAULT_SSL_MODE,
25+
gss_encmode=constants.POSTGRES_DEFAULT_GSS_ENCMODE,
26+
ca_cert_path=None,
2027
)
2128

2229
# do not use connection to real PostgreSQL instance
@@ -34,8 +41,12 @@ def test_connect_pg_when_connection_error(mocker: MockerFixture) -> None:
3441
host="foo",
3542
db="db",
3643
user="user",
37-
password="password",
44+
password=SecretStr("password"),
3845
namespace="foo",
46+
port=1234,
47+
ssl_mode=constants.POSTGRES_DEFAULT_SSL_MODE,
48+
gss_encmode=constants.POSTGRES_DEFAULT_GSS_ENCMODE,
49+
ca_cert_path=None,
3950
)
4051

4152
# do not use connection to real PostgreSQL instance

tests/unit/quota/test_quota_limiter_factory.py

Lines changed: 54 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
import pytest
44
from pytest_mock import MockerFixture
55

6+
from pydantic import SecretStr
7+
8+
import constants
9+
610
from models.config import (
711
QuotaLimiterConfiguration,
812
PostgreSQLDatabaseConfiguration,
@@ -16,7 +20,7 @@
1620

1721
def 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

2731
def 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

4150
def 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

5261
def 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

6680
def 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

104123
def 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

151175
def 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

171195
def 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

204233
def 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"):

tests/unit/quota/test_user_quota_limiter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def create_quota_limiter(
1717
name: str, initial_quota: int, quota_limit: int
1818
) -> UserQuotaLimiter:
1919
"""Create new quota limiter instance."""
20-
configuration = QuotaHandlersConfiguration()
20+
configuration = QuotaHandlersConfiguration() # pyright: ignore[reportCallIssue]
2121
configuration.sqlite = SQLiteDatabaseConfiguration(
2222
db_path=":memory:",
2323
)

0 commit comments

Comments
 (0)