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