mirror of
https://github.com/ansible/awx.git
synced 2026-04-14 06:29:25 -02:30
Add tests for AWX collection credential fixes (#3893)
This commit is contained in:
committed by
Ryan Petrello
parent
6f2a07a7df
commit
98d3f3dc8a
@@ -117,3 +117,10 @@ def test_handle_content_type(post, admin):
|
||||
admin,
|
||||
content_type='text/html',
|
||||
expect=415)
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_basic_not_found(get, admin_user):
|
||||
root_url = reverse('api:api_v2_root_view')
|
||||
r = get(root_url + 'fooooooo', user=admin_user, expect=404)
|
||||
assert r.data.get('detail') == 'The requested resource could not be found.'
|
||||
|
||||
@@ -8,6 +8,8 @@ from unittest.mock import PropertyMock
|
||||
|
||||
# Django
|
||||
from django.urls import resolve
|
||||
from django.http import Http404
|
||||
from django.core.handlers.exception import response_for_exception
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.serializers.json import DjangoJSONEncoder
|
||||
from django.db.backends.sqlite3.base import SQLiteCursorWrapper
|
||||
@@ -581,8 +583,12 @@ def _request(verb):
|
||||
if 'format' not in kwargs and 'content_type' not in kwargs:
|
||||
kwargs['format'] = 'json'
|
||||
|
||||
view, view_args, view_kwargs = resolve(urllib.parse.urlparse(url)[2])
|
||||
request = getattr(APIRequestFactory(), verb)(url, **kwargs)
|
||||
request_error = None
|
||||
try:
|
||||
view, view_args, view_kwargs = resolve(urllib.parse.urlparse(url)[2])
|
||||
except Http404 as e:
|
||||
request_error = e
|
||||
if isinstance(kwargs.get('cookies', None), dict):
|
||||
for key, value in kwargs['cookies'].items():
|
||||
request.COOKIES[key] = value
|
||||
@@ -591,7 +597,10 @@ def _request(verb):
|
||||
if user:
|
||||
force_authenticate(request, user=user)
|
||||
|
||||
response = view(request, *view_args, **view_kwargs)
|
||||
if not request_error:
|
||||
response = view(request, *view_args, **view_kwargs)
|
||||
else:
|
||||
response = response_for_exception(request, request_error)
|
||||
if middleware:
|
||||
middleware.process_response(request, response)
|
||||
if expect:
|
||||
|
||||
Reference in New Issue
Block a user