Skip to content

Commit 86759f5

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent 1bcb594 commit 86759f5

File tree

4 files changed

+83
-47
lines changed

4 files changed

+83
-47
lines changed

tests/test_analytics.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from datetime import datetime, timedelta
33
from unittest import mock
44

5-
from hamcrest import assert_that, is_, equal_to
5+
from hamcrest import assert_that, equal_to, is_
66

77
from flagsmith.analytics import ANALYTICS_TIMER, AnalyticsProcessor
88

tests/test_flagsmith.py

Lines changed: 78 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,18 @@
88
import responses
99
from flag_engine.environments.models import EnvironmentModel
1010
from flag_engine.features.models import FeatureModel, FeatureStateModel
11-
from hamcrest import assert_that, none, not_none, is_, has_entry, has_length, empty, equal_to, same_instance, is_not
11+
from hamcrest import (
12+
assert_that,
13+
empty,
14+
equal_to,
15+
has_entry,
16+
has_length,
17+
is_,
18+
is_not,
19+
none,
20+
not_none,
21+
same_instance,
22+
)
1223
from pytest_mock import MockerFixture
1324
from responses import matchers
1425

@@ -22,7 +33,7 @@
2233

2334

2435
def test_flagsmith_starts_polling_manager_on_init_if_enabled(
25-
mocker: MockerFixture, server_api_key: str, requests_session_response_ok: None
36+
mocker: MockerFixture, server_api_key: str, requests_session_response_ok: None
2637
) -> None:
2738
# Given
2839
mock_polling_manager = mocker.MagicMock()
@@ -40,7 +51,7 @@ def test_flagsmith_starts_polling_manager_on_init_if_enabled(
4051

4152
@responses.activate()
4253
def test_update_environment_sets_environment(
43-
flagsmith: Flagsmith, environment_json: str, environment_model: EnvironmentModel
54+
flagsmith: Flagsmith, environment_json: str, environment_model: EnvironmentModel
4455
) -> None:
4556
# Given
4657
responses.add(method="GET", url=flagsmith.environment_url, body=environment_json)
@@ -56,7 +67,7 @@ def test_update_environment_sets_environment(
5667

5768
@responses.activate()
5869
def test_get_environment_flags_calls_api_when_no_local_environment(
59-
api_key: str, flagsmith: Flagsmith, flags_json: str
70+
api_key: str, flagsmith: Flagsmith, flags_json: str
6071
) -> None:
6172
# Given
6273
responses.add(method="GET", url=flagsmith.environment_flags_url, body=flags_json)
@@ -79,7 +90,7 @@ def test_get_environment_flags_calls_api_when_no_local_environment(
7990

8091
@responses.activate()
8192
def test_get_environment_flags_uses_local_environment_when_available(
82-
flagsmith: Flagsmith, environment_model: EnvironmentModel
93+
flagsmith: Flagsmith, environment_model: EnvironmentModel
8394
) -> None:
8495
# Given
8596
flagsmith._environment = environment_model
@@ -91,14 +102,19 @@ def test_get_environment_flags_uses_local_environment_when_available(
91102
# Then
92103
assert_that(responses.calls, empty())
93104
assert_that(len(all_flags), equal_to(1))
94-
assert_that(all_flags[0].feature_name, equal_to(environment_model.feature_states[0].feature.name))
105+
assert_that(
106+
all_flags[0].feature_name,
107+
equal_to(environment_model.feature_states[0].feature.name),
108+
)
95109
assert_that(all_flags[0].enabled, is_(environment_model.feature_states[0].enabled))
96-
assert_that(all_flags[0].value, equal_to(environment_model.feature_states[0].get_value()))
110+
assert_that(
111+
all_flags[0].value, equal_to(environment_model.feature_states[0].get_value())
112+
)
97113

98114

99115
@responses.activate()
100116
def test_get_identity_flags_calls_api_when_no_local_environment_no_traits(
101-
flagsmith: Flagsmith, identities_json: str
117+
flagsmith: Flagsmith, identities_json: str
102118
) -> None:
103119
# Given
104120
responses.add(method="POST", url=flagsmith.identities_url, body=identities_json)
@@ -122,7 +138,7 @@ def test_get_identity_flags_calls_api_when_no_local_environment_no_traits(
122138

123139
@responses.activate()
124140
def test_get_identity_flags_calls_api_when_no_local_environment_with_traits(
125-
flagsmith: Flagsmith, identities_json: str
141+
flagsmith: Flagsmith, identities_json: str
126142
) -> None:
127143
# Given
128144
responses.add(method="POST", url=flagsmith.identities_url, body=identities_json)
@@ -138,12 +154,19 @@ def test_get_identity_flags_calls_api_when_no_local_environment_with_traits(
138154
# Decode 'body' from bytes to string if it is in bytes format.
139155
body = body.decode()
140156

141-
assert_that(body, equal_to(json.dumps(
142-
{
143-
"identifier": identifier,
144-
"traits": [{"trait_key": k, "trait_value": v} for k, v in traits.items()],
145-
}
146-
)))
157+
assert_that(
158+
body,
159+
equal_to(
160+
json.dumps(
161+
{
162+
"identifier": identifier,
163+
"traits": [
164+
{"trait_key": k, "trait_value": v} for k, v in traits.items()
165+
],
166+
}
167+
)
168+
),
169+
)
147170

148171
# Taken from hard coded values in tests/data/identities.json
149172
assert_that(identity_flags.all_flags()[0].enabled, is_(True))
@@ -153,7 +176,7 @@ def test_get_identity_flags_calls_api_when_no_local_environment_with_traits(
153176

154177
@responses.activate()
155178
def test_get_identity_flags_uses_local_environment_when_available(
156-
flagsmith: Flagsmith, environment_model: EnvironmentModel, mocker: MockerFixture
179+
flagsmith: Flagsmith, environment_model: EnvironmentModel, mocker: MockerFixture
157180
) -> None:
158181
# Given
159182
flagsmith._environment = environment_model
@@ -180,8 +203,8 @@ def test_get_identity_flags_uses_local_environment_when_available(
180203

181204
@responses.activate()
182205
def test_get_identity_flags__transient_identity__calls_expected(
183-
flagsmith: Flagsmith,
184-
identities_json: str,
206+
flagsmith: Flagsmith,
207+
identities_json: str,
185208
) -> None:
186209
# Given
187210
responses.add(
@@ -211,10 +234,10 @@ def test_get_identity_flags__transient_identity__calls_expected(
211234

212235
@responses.activate()
213236
def test_get_identity_flags__transient_trait_keys__calls_expected(
214-
flagsmith: Flagsmith,
215-
identities_json: str,
216-
environment_model: EnvironmentModel,
217-
mocker: MockerFixture,
237+
flagsmith: Flagsmith,
238+
identities_json: str,
239+
environment_model: EnvironmentModel,
240+
mocker: MockerFixture,
218241
) -> None:
219242
# Given
220243
responses.add(
@@ -245,7 +268,7 @@ def test_get_identity_flags__transient_trait_keys__calls_expected(
245268

246269

247270
def test_request_connection_error_raises_flagsmith_api_error(
248-
mocker: MockerFixture, api_key: str
271+
mocker: MockerFixture, api_key: str
249272
) -> None:
250273
"""
251274
Test the behaviour when session.<method> raises a ConnectionError. Note that this
@@ -316,7 +339,7 @@ def default_flag_handler(feature_name: str) -> DefaultFlag:
316339

317340
@responses.activate()
318341
def test_default_flag_is_not_used_when_environment_flags_returned(
319-
api_key: str, flags_json: str
342+
api_key: str, flags_json: str
320343
) -> None:
321344
# Given
322345
feature_name = "some_feature"
@@ -342,7 +365,9 @@ def default_flag_handler(feature_name: str) -> DefaultFlag:
342365
flag = flags.get_flag(feature_name)
343366
assert_that(flag.is_default, is_not(True))
344367
assert_that(flag.value, is_not(equal_to(default_flag.value)))
345-
assert_that(flag.value, equal_to("some-value")) # hard coded value in tests/data/flags.json
368+
assert_that(
369+
flag.value, equal_to("some-value")
370+
) # hard coded value in tests/data/flags.json
346371

347372

348373
@responses.activate()
@@ -382,7 +407,7 @@ def default_flag_handler(feature_name: str) -> DefaultFlag:
382407

383408
@responses.activate()
384409
def test_default_flag_is_not_used_when_identity_flags_returned(
385-
api_key: str, identities_json: str
410+
api_key: str, identities_json: str
386411
) -> None:
387412
# Given
388413
feature_name = "some_feature"
@@ -408,11 +433,13 @@ def default_flag_handler(feature_name: str) -> DefaultFlag:
408433
flag = flags.get_flag(feature_name)
409434
assert_that(flag.is_default, is_not(True))
410435
assert_that(flag.value, is_not(equal_to(default_flag.value)))
411-
assert_that(flag.value, equal_to("some-value")) # hard coded value in tests/data/identities.json
436+
assert_that(
437+
flag.value, equal_to("some-value")
438+
) # hard coded value in tests/data/identities.json
412439

413440

414441
def test_default_flags_are_used_if_api_error_and_default_flag_handler_given(
415-
mocker: MockerFixture,
442+
mocker: MockerFixture,
416443
) -> None:
417444
# Given
418445
# a default flag and associated handler
@@ -438,7 +465,7 @@ def default_flag_handler(feature_name: str) -> DefaultFlag:
438465

439466

440467
def test_get_identity_segments_no_traits(
441-
local_eval_flagsmith: Flagsmith, environment_model: EnvironmentModel
468+
local_eval_flagsmith: Flagsmith, environment_model: EnvironmentModel
442469
) -> None:
443470
# Given
444471
identifier = "identifier"
@@ -451,7 +478,7 @@ def test_get_identity_segments_no_traits(
451478

452479

453480
def test_get_identity_segments_with_valid_trait(
454-
local_eval_flagsmith: Flagsmith, environment_model: EnvironmentModel
481+
local_eval_flagsmith: Flagsmith, environment_model: EnvironmentModel
455482
) -> None:
456483
# Given
457484
identifier = "identifier"
@@ -462,7 +489,9 @@ def test_get_identity_segments_with_valid_trait(
462489

463490
# Then
464491
assert_that(len(segments), equal_to(1))
465-
assert_that(segments[0].name, is_("Test segment")) # obtained from data/environment.json
492+
assert_that(
493+
segments[0].name, is_("Test segment")
494+
) # obtained from data/environment.json
466495

467496

468497
def test_local_evaluation_requires_server_key() -> None:
@@ -501,7 +530,7 @@ def get_environment(self) -> EnvironmentModel:
501530

502531
@responses.activate()
503532
def test_flagsmith_uses_offline_handler_if_set_and_no_api_response(
504-
mocker: MockerFixture, environment_model: EnvironmentModel
533+
mocker: MockerFixture, environment_model: EnvironmentModel
505534
) -> None:
506535
# Given
507536
api_url = "http://some.flagsmith.com/api/v1/"
@@ -533,9 +562,9 @@ def test_flagsmith_uses_offline_handler_if_set_and_no_api_response(
533562

534563
@responses.activate()
535564
def test_offline_mode__local_evaluation__correct_fallback(
536-
mocker: MockerFixture,
537-
environment_model: EnvironmentModel,
538-
caplog: pytest.LogCaptureFixture,
565+
mocker: MockerFixture,
566+
environment_model: EnvironmentModel,
567+
caplog: pytest.LogCaptureFixture,
539568
) -> None:
540569
# Given
541570
api_url = "http://some.flagsmith.com/api/v1/"
@@ -577,7 +606,10 @@ def test_cannot_use_offline_mode_without_offline_handler() -> None:
577606
Flagsmith(offline_mode=True, offline_handler=None)
578607

579608
# Then
580-
assert_that(e.exconly(), is_("ValueError: offline_handler must be provided to use offline mode."))
609+
assert_that(
610+
e.exconly(),
611+
is_("ValueError: offline_handler must be provided to use offline mode."),
612+
)
581613

582614

583615
def test_cannot_use_default_handler_and_offline_handler(mocker: MockerFixture) -> None:
@@ -591,7 +623,10 @@ def test_cannot_use_default_handler_and_offline_handler(mocker: MockerFixture) -
591623
)
592624

593625
# Then
594-
assert_that(e.exconly(), is_("ValueError: Cannot use both default_flag_handler and offline_handler."))
626+
assert_that(
627+
e.exconly(),
628+
is_("ValueError: Cannot use both default_flag_handler and offline_handler."),
629+
)
595630

596631

597632
def test_cannot_create_flagsmith_client_in_remote_evaluation_without_api_key() -> None:
@@ -604,7 +639,7 @@ def test_cannot_create_flagsmith_client_in_remote_evaluation_without_api_key() -
604639

605640

606641
def test_stream_not_used_by_default(
607-
requests_session_response_ok: None, server_api_key: str
642+
requests_session_response_ok: None, server_api_key: str
608643
) -> None:
609644
# When
610645
flagsmith = Flagsmith(
@@ -617,7 +652,7 @@ def test_stream_not_used_by_default(
617652

618653

619654
def test_stream_used_when_enable_realtime_updates_is_true(
620-
requests_session_response_ok: None, server_api_key: str
655+
requests_session_response_ok: None, server_api_key: str
621656
) -> None:
622657
# When
623658
flagsmith = Flagsmith(
@@ -631,7 +666,7 @@ def test_stream_used_when_enable_realtime_updates_is_true(
631666

632667

633668
def test_error_raised_when_realtime_updates_is_true_and_local_evaluation_false(
634-
requests_session_response_ok: None, server_api_key: str
669+
requests_session_response_ok: None, server_api_key: str
635670
) -> None:
636671
with pytest.raises(ValueError):
637672
Flagsmith(
@@ -643,8 +678,8 @@ def test_error_raised_when_realtime_updates_is_true_and_local_evaluation_false(
643678

644679
@responses.activate()
645680
def test_flagsmith_client_get_identity_flags__local_evaluation__returns_expected(
646-
environment_json: str,
647-
server_api_key: str,
681+
environment_json: str,
682+
server_api_key: str,
648683
) -> None:
649684
# Given
650685
identifier = "overridden-id"
@@ -669,7 +704,7 @@ def test_flagsmith_client_get_identity_flags__local_evaluation__returns_expected
669704

670705

671706
def test_custom_feature_error_raised_when_invalid_feature(
672-
requests_session_response_ok: None, server_api_key: str
707+
requests_session_response_ok: None, server_api_key: str
673708
) -> None:
674709
# Given
675710
flagsmith = Flagsmith(

tests/test_offline_handlers.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ def test_local_file_handler(environment_json: str) -> None:
1717

1818
# Then
1919
assert isinstance(environment_model, EnvironmentModel)
20-
assert_that(environment_model.api_key,
21-
equal_to("B62qaMZNwfiqT76p38ggrQ")) # hard coded from json file
20+
assert_that(
21+
environment_model.api_key, equal_to("B62qaMZNwfiqT76p38ggrQ")
22+
) # hard coded from json file
2223
mock_file.assert_called_once_with(environment_document_file_path)

tests/test_polling_manager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
import requests
55
import responses
6-
from hamcrest import assert_that, is_, equal_to
6+
from hamcrest import assert_that, equal_to, is_
77
from pytest_mock import MockerFixture
88

99
from flagsmith import Flagsmith

0 commit comments

Comments
 (0)