Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
TT-112 feat: add unit testfor users endpoint under feature toggle
  • Loading branch information
Angeluz-07 committed Jan 13, 2021
commit 4ddff308670c86df54a3b56d211c67ecab50b5eb
60 changes: 60 additions & 0 deletions tests/time_tracker_api/users/users_namespace_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,66 @@ def test_users_response_contains_expected_props(
assert 'role' in json.loads(response.data)[0]


@patch(
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.get_azure_app_configuration_client'
)
@patch(
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.is_toggle_enabled_for_user'
)
@patch('utils.azure_users.AzureConnection.users')
@patch('utils.azure_users.AzureConnection.users_v2')
def test_feature_toggle_is_on_then_role_field_is_list(
users_v2_mock,
users_mock,
is_toggle_enabled_for_user_mock,
get_azure_app_configuration_client_mock,
client: FlaskClient,
valid_header: dict,
):

is_toggle_enabled_for_user_mock.return_value = True
users_v2_mock.return_value = [
{'name': 'dummy', 'email': 'dummy', 'roles': ['dummy-role']}
]
response = client.get('/users', headers=valid_header)

users_v2_mock.assert_called()
users_mock.assert_not_called()
assert HTTPStatus.OK == response.status_code
assert 'roles' in json.loads(response.data)[0]
assert ['dummy-role'] == json.loads(response.data)[0]['roles']


@patch(
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.get_azure_app_configuration_client'
)
@patch(
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.is_toggle_enabled_for_user'
)
@patch('utils.azure_users.AzureConnection.users')
@patch('utils.azure_users.AzureConnection.users_v2')
def test_feature_toggle_is_off_then_role_field_is_string(
users_v2_mock,
users_mock,
is_toggle_enabled_for_user_mock,
get_azure_app_configuration_client_mock,
client: FlaskClient,
valid_header: dict,
):
is_toggle_enabled_for_user_mock.return_value = False
users_mock.return_value = [
{'name': 'dummy', 'email': 'dummy', 'role': 'dummy-role'}
]

response = client.get('/users', headers=valid_header)

users_mock.assert_called()
users_v2_mock.assert_not_called()
assert HTTPStatus.OK == response.status_code
assert 'role' in json.loads(response.data)[0]
assert 'dummy-role' == json.loads(response.data)[0]['role']


def test_update_user_role_response_contains_expected_props(
client: FlaskClient, valid_header: dict, user_id: str,
):
Expand Down