From 0291015c6ee13c9cb13e2942e3337122429bff09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Pedro=20S=C3=A1nchez?= <juanpe.sn@gmail.com> Date: Wed, 13 Jul 2022 17:46:56 +0200 Subject: [PATCH] tested post with authorization bearer --- demo/demo/urls.py | 2 +- demo/demo/views.py | 7 ++++--- demo/tests/test_keycloak_fixtures.py | 10 ++++++++++ demo/tests/test_keycloak_login.py | 23 +++++++++++++---------- 4 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 demo/tests/test_keycloak_fixtures.py diff --git a/demo/demo/urls.py b/demo/demo/urls.py index eb5fb43..f6850db 100644 --- a/demo/demo/urls.py +++ b/demo/demo/urls.py @@ -5,7 +5,7 @@ from . import views base_path = "api/admin/" urlpatterns = [ - path(base_path + "token/", views.token), + path(base_path + "token/", views.token, name='token'), path(base_path + "import_user/", views.import_user), path(base_path + "user/", views.get_user), path(base_path + "change_user_email", views.change_user_email), diff --git a/demo/demo/views.py b/demo/demo/views.py index a2c47c9..9fcea10 100644 --- a/demo/demo/views.py +++ b/demo/demo/views.py @@ -43,14 +43,15 @@ def keycloak_authenticate_response_old(request): print(request) return JsonResponse({"msg": "ok"}) + @require_GET @login_required def keycloak_authenticate_response(request): return JsonResponse({"msg": "ok"}) + @csrf_exempt @require_POST def token(request): - import pdb; pdb.set_trace() - response_body = request.headers.get('Authorization', {}) - return JsonResponse(response_body, safe=False) \ No newline at end of file + auth_token = request.headers.get('Authorization', {}) + return JsonResponse({'token': auth_token}) diff --git a/demo/tests/test_keycloak_fixtures.py b/demo/tests/test_keycloak_fixtures.py new file mode 100644 index 0000000..037a938 --- /dev/null +++ b/demo/tests/test_keycloak_fixtures.py @@ -0,0 +1,10 @@ +def test_base_setup_fixture(ccee_base_setup): + assert ccee_base_setup is not None + + +def test_keycloak_fixture(keycloak): + assert keycloak is not None + + +def test_emma_auth_token_fixture(emma_auth_token): + assert emma_auth_token is not None \ No newline at end of file diff --git a/demo/tests/test_keycloak_login.py b/demo/tests/test_keycloak_login.py index 037a938..fe6d49a 100644 --- a/demo/tests/test_keycloak_login.py +++ b/demo/tests/test_keycloak_login.py @@ -1,10 +1,13 @@ -def test_base_setup_fixture(ccee_base_setup): - assert ccee_base_setup is not None - - -def test_keycloak_fixture(keycloak): - assert keycloak is not None - - -def test_emma_auth_token_fixture(emma_auth_token): - assert emma_auth_token is not None \ No newline at end of file +from django.urls import reverse + + +def test_token_view(client, emma_auth_token): + bearer = 'Bearer {}'.format(emma_auth_token['access_token']) + + response = client.post( + reverse('token'), + content_type='application-json', + HTTP_AUTHORIZATION=bearer, + ) + assert response.status_code == 200 + assert response.json() == {'token': bearer} -- GitLab