Beispiel #1
0
def get_all_user_roles():
    request = ListUserRolesRequest()
    action = ListUserRolesAction(user_roles_repository)
    action.add_before_execution_hook(authorization_manager.authorize)
    response = action.execute(request)
    status = get_status(response)

    return json_response(response.value, UserRoleEncoder, status)
Beispiel #2
0
def test_list_roles_without_parameters(roles):
    repo = mock.Mock()
    repo.list.return_value = roles

    request = ListUserRolesRequest()
    action = ListUserRolesAction(repo)

    response = action.execute(request)

    assert bool(response) is True
    repo.list.assert_called_with(filters=None)
    assert response.value == roles
Beispiel #3
0
def test_list_roles_handles_bad_request():
    repo = mock.Mock()

    request = ListUserRolesRequest(5)
    action = ListUserRolesAction(repo)

    response = action.execute(request)

    assert bool(response) is False
    assert response.value == {
        'type': ResponseFailure.PARAMETER_ERROR,
        'message': 'filters: Is not iterable'
    }
Beispiel #4
0
def test_list_roles_with_parameters(roles):
    repo = mock.Mock()
    repo.list.return_value = roles
    role_name = 'creator'
    filters = dict(name=role_name)

    request = ListUserRolesRequest(filters)
    action = ListUserRolesAction(repo)

    response = action.execute(request)

    assert bool(response) is True
    repo.list.assert_called_with(filters=filters)
    assert response.value == roles
Beispiel #5
0
def test_list_roles_handles_generic_error():
    repo = mock.Mock()
    error_message = 'Just an error message'
    repo.list.side_effect = Exception(error_message)

    request = ListUserRolesRequest()
    action = ListUserRolesAction(repo)

    response = action.execute(request)

    assert bool(response) is False
    assert response.value == {
        'type': ResponseFailure.SYSTEM_ERROR,
        'message': 'Exception: {}'.format(error_message)
    }
Beispiel #6
0
def test_list_roles_with_hooks(roles):
    repo = mock.Mock()
    repo.list.return_value = roles

    request = ListUserRolesRequest()
    action = ListUserRolesAction(repo)

    before = mock.MagicMock()
    after = mock.MagicMock()

    action.add_before_execution_hook(before)
    action.add_after_execution_hook(after)

    response = action.execute(request)

    assert before.called
    assert after.called

    assert bool(response) is True
    repo.list.assert_called_with(filters=None)
    assert response.value == roles
def test_list_user_roles_request_without_parameters():
    request = ListUserRolesRequest()
    print(request.errors)

    assert request.filters is None
    assert request.is_valid() is True
def test_list_user_roles_request_invalid_filters():
    request = ListUserRolesRequest(filters=5)

    assert request.is_valid() is False
    assert request.errors[0].parameter == 'filters'
def test_list_user_roles_request_with_filters():
    request = ListUserRolesRequest(filters={'a': 1, 'b': 2})

    assert request.filters == {'a': 1, 'b': 2}
    assert request.is_valid() is True
def test_list_user_roles_request_with_empty_filters():
    request = ListUserRolesRequest(filters={})

    assert request.filters is None
    assert request.is_valid() is True