diff --git a/awx/sso/backends.py b/awx/sso/backends.py index 08c200b9f3..4498fa7fe4 100644 --- a/awx/sso/backends.py +++ b/awx/sso/backends.py @@ -179,7 +179,7 @@ def _decorate_enterprise_user(user, provider): def _get_or_set_enterprise_user(username, password, provider): created = False try: - user = User.objects.all().prefetch_related('enterprise_auth').get(username=username) + user = User.objects.prefetch_related('enterprise_auth').get(username=username) except User.DoesNotExist: user = User(username=username) enterprise_auth = _decorate_enterprise_user(user, provider) diff --git a/awx/sso/tests/conftest.py b/awx/sso/tests/conftest.py index aa31bb0453..f94b1c528f 100644 --- a/awx/sso/tests/conftest.py +++ b/awx/sso/tests/conftest.py @@ -27,6 +27,7 @@ def existing_tacacsplus_user(): user = User.objects.get(username="foo") except User.DoesNotExist: user = User(username="foo") + user.set_unusable_password() user.save() enterprise_auth = UserEnterpriseAuth(user=user, provider='tacacs+') enterprise_auth.save() diff --git a/awx/sso/tests/functional/test_get_or_set_enterprise_user.py b/awx/sso/tests/functional/test_get_or_set_enterprise_user.py index b15c0b4e9a..9844c17295 100644 --- a/awx/sso/tests/functional/test_get_or_set_enterprise_user.py +++ b/awx/sso/tests/functional/test_get_or_set_enterprise_user.py @@ -8,8 +8,11 @@ from awx.sso.backends import _get_or_set_enterprise_user @pytest.mark.django_db def test_fetch_user_if_exist(existing_tacacsplus_user): - new_user = _get_or_set_enterprise_user("foo", "password", "tacacs+") - assert new_user == existing_tacacsplus_user + with mock.patch('awx.sso.backends.logger') as mocked_logger: + new_user = _get_or_set_enterprise_user("foo", "password", "tacacs+") + mocked_logger.debug.assert_not_called() + mocked_logger.warn.assert_not_called() + assert new_user == existing_tacacsplus_user @pytest.mark.django_db