Skip to content

Commit 233802b

Browse files
committed
fix: TT-131 remove feature toggle from users endpoint
1 parent 058265c commit 233802b

File tree

2 files changed

+11
-62
lines changed

2 files changed

+11
-62
lines changed

tests/time_tracker_api/users/users_namespace_test.py

Lines changed: 2 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -11,70 +11,23 @@
1111
@patch(
1212
'utils.azure_users.AzureConnection.is_test_user', Mock(return_value=True)
1313
)
14-
@patch(
15-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.get_azure_app_configuration_client'
16-
)
17-
@patch(
18-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.is_toggle_enabled_for_user'
19-
)
20-
@patch('utils.azure_users.AzureConnection.users')
2114
@patch('utils.azure_users.AzureConnection.users_v2')
22-
def test_feature_toggle_is_on_then_role_field_is_list(
23-
users_v2_mock,
24-
users_mock,
25-
is_toggle_enabled_for_user_mock,
26-
get_azure_app_configuration_client_mock,
27-
client: FlaskClient,
28-
valid_header: dict,
15+
def test_users_response_contains_expected_props(
16+
users_v2_mock, client: FlaskClient, valid_header: dict,
2917
):
30-
31-
is_toggle_enabled_for_user_mock.return_value = True
3218
users_v2_mock.return_value = [
3319
{'name': 'dummy', 'email': 'dummy', 'roles': ['dummy-role']}
3420
]
3521
response = client.get('/users', headers=valid_header)
3622

3723
users_v2_mock.assert_called()
38-
users_mock.assert_not_called()
3924
assert HTTPStatus.OK == response.status_code
4025
assert 'name' in json.loads(response.data)[0]
4126
assert 'email' in json.loads(response.data)[0]
4227
assert 'roles' in json.loads(response.data)[0]
4328
assert ['dummy-role'] == json.loads(response.data)[0]['roles']
4429

4530

46-
@patch(
47-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.get_azure_app_configuration_client'
48-
)
49-
@patch(
50-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.is_toggle_enabled_for_user'
51-
)
52-
@patch('utils.azure_users.AzureConnection.users')
53-
@patch('utils.azure_users.AzureConnection.users_v2')
54-
def test_feature_toggle_is_off_then_role_field_is_string(
55-
users_v2_mock,
56-
users_mock,
57-
is_toggle_enabled_for_user_mock,
58-
get_azure_app_configuration_client_mock,
59-
client: FlaskClient,
60-
valid_header: dict,
61-
):
62-
is_toggle_enabled_for_user_mock.return_value = False
63-
users_mock.return_value = [
64-
{'name': 'dummy', 'email': 'dummy', 'role': 'dummy-role'}
65-
]
66-
67-
response = client.get('/users', headers=valid_header)
68-
69-
users_mock.assert_called()
70-
users_v2_mock.assert_not_called()
71-
assert HTTPStatus.OK == response.status_code
72-
assert 'name' in json.loads(response.data)[0]
73-
assert 'email' in json.loads(response.data)[0]
74-
assert 'role' in json.loads(response.data)[0]
75-
assert 'dummy-role' == json.loads(response.data)[0]['role']
76-
77-
7831
def test_update_user_role_response_contains_expected_props(
7932
client: FlaskClient, valid_header: dict, user_id: str,
8033
):

time_tracker_api/users/users_namespace.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
from time_tracker_api.security import current_user_id
77

88
from utils.azure_users import AzureConnection
9-
from commons.feature_toggles.feature_toggle_manager import FeatureToggleManager
109

1110
ns = api.namespace('users', description='Namespace of the API for users')
1211

@@ -67,18 +66,15 @@ class Users(Resource):
6766
@ns.marshal_list_with(user_response_fields)
6867
def get(self):
6968
"""List all users"""
70-
user_role_field_toggle = FeatureToggleManager('bk-user-role-field')
71-
if user_role_field_toggle.is_toggle_enabled_for_user():
72-
azure_connection = AzureConnection()
73-
is_current_user_a_tester = azure_connection.is_test_user(
74-
current_user_id()
75-
)
76-
return (
77-
azure_connection.users_v2()
78-
if is_current_user_a_tester
79-
else azure_connection.get_non_test_users()
80-
)
81-
return AzureConnection().users()
69+
azure_connection = AzureConnection()
70+
is_current_user_a_tester = azure_connection.is_test_user(
71+
current_user_id()
72+
)
73+
return (
74+
azure_connection.users_v2()
75+
if is_current_user_a_tester
76+
else azure_connection.get_non_test_users()
77+
)
8278

8379

8480
@ns.route('/<string:id>/roles')

0 commit comments

Comments
 (0)