"""Test for get_all_accounts_with_auth0_id.""" import json from unittest.mock import MagicMock from owsresponse import response import pytest from users.app import app from users.logic import user_info @pytest.mark.parametrize( ('auth0_id_input', 'auth0_id', 'include_deleted', 'include_support_email'), [ ('user1', 'user1', True, None), ('user1', 'user1', False, None), ('auth0|user1', 'user1', False, None), ('auth0|user1', 'user1', True, None), ('auth0user1', 'auth0user1', True, None), ('auth0user1', 'auth0user1', False, None), ('auth0user1', 'auth0user1', None, True), ('auth0user1', 'auth0user1', None, False), ('auth0user1', 'auth0user1', True, True), ('auth0user1', 'auth0user1', False, False), ('auth0user1', 'auth0user1', True, False), ], ) def test_get_all_accounts_with_auth0_id( monkeypatch, auth0_id_input, auth0_id, include_deleted, include_support_email ): """Test get_all_accounts_with_auth0_id success.""" expected = {'foo': 'bar'} app.testing = True monkeypatch.setattr( user_info, 'get_accounts_with_auth0_id', MagicMock(return_value=response.Response(message=expected)), ) params = [] if include_deleted: params.append('include_deleted=1') if include_support_email: params.append('include_support_email=1') path = f'/auth0/users/{auth0_id_input}/all-accounts?{"&".join(params)}' request = app.test_client().get(path) response_data = json.loads(request.data.decode('utf-8')) assert request.status_code == 200 assert response_data == expected user_info.get_accounts_with_auth0_id.assert_called_with( auth0_id, include_deleted or False, include_support_email or False )