Skip to content

Commit 009f561

Browse files
authored
Merge pull request #14 from LifeLaboratory/add-authorezation
Налажена аторизация, но пока без валидации входных параметров.
2 parents 331fee4 + 4b270da commit 009f561

File tree

6 files changed

+94
-16
lines changed

6 files changed

+94
-16
lines changed

task/urls.py

+2
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@
1818
from task_lesson.api.task.task import AddTask
1919
from task_lesson.api.team.create import CreateTeam
2020
from task_lesson.api.team.edit import EditTeam
21+
from task_lesson.api.authorization.get_session import Authorization as Auth
2122

2223
urlpatterns = [
2324
path('admin/', admin.site.urls),
2425
path('team/create/', CreateTeam().create),
2526
path('team/edit/', EditTeam().edit),
2627
path('add_task/', AddTask().add_task),
28+
path('auth/', Auth.get_session)
2729
]

task_lesson/api/authorization/get_session.py

+17-10
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,36 @@
1-
2-
3-
__author__= 'rv.fomichev'
4-
51
import json
6-
import redis
7-
import django_redis
82
import api.helpers.names as names
93

104
from django.core.cache import cache
115
from uuid import uuid4
6+
from task_lesson.models import User
7+
from django.http import HttpResponse
8+
9+
__author__ = 'rv.fomichev'
1210

1311

1412
class Authorization:
1513

1614
@classmethod
1715
def check_request(cls, request):
1816
"""Проверка входных данных на корректность"""
19-
return cls.RequestValueErorr
17+
# return names.RequestValueErorr
18+
return None
2019

2120
@classmethod
2221
def get_id_user(cls, request):
2322

23+
data = request.POST
24+
qset = User.objects.filter(login=data['login'], password=data['password'])
25+
if len(qset):
26+
answer = None
27+
user_id = qset[0].user
28+
else:
29+
answer = names.CreateSessionError
30+
user_id = None
2431
return {
25-
names.ANSWER: cls.LoginError,
26-
names.USER: None
32+
names.ANSWER: answer,
33+
names.USER: user_id
2734
}
2835

2936
@classmethod
@@ -54,4 +61,4 @@ def get_session(cls, request):
5461
names.SESSION: session
5562
}
5663

57-
return json.dumps(response)
64+
return HttpResponse(json.dumps(response))

task_lesson/api/authorization/test_get_session.py

+18-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11

22

3-
import unittest as ut
43
import json
4+
import unittest as ut
55
import api.authorization.get_session as gt
66
import api.helpers.names as names
7+
import requests
8+
9+
# from django.test import TestCase
10+
711

812
class TestGetSession(ut.TestCase):
913

@@ -94,4 +98,16 @@ def test_error_create_session(self):
9498
names.ANSWER: answer,
9599
names.SESSION: None
96100
}
97-
self.assertEqual(reference, dict_r, 'Неожиданный реультат')
101+
self.assertEqual(reference, dict_r, 'Неожиданный реультат')
102+
103+
def test_auth(self):
104+
data = {
105+
'login': 'test_andrew',
106+
'password': 'test_andrew'
107+
}
108+
# js_d = json.dumps(data)
109+
r = requests.post('http://127.0.0.1:8000/auth/', data=data)
110+
111+
# _uuid = gt.Authorization.take_session(self.user_id)
112+
# self.assertIsInstance(_uuid, str, 'Некорректный тип сессии')
113+
return
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11

22

3-
import unittest as ut
3+
44
import json
5-
import api.authorization.get_session as gt
5+
import unittest as ut
6+
# import api.authorization.get_session as gt
67
import api.helpers.names as names
8+
import requests
9+
10+
from django.test import TestCase
11+
712

813
class TestTakeSession(ut.TestCase):
914
# Пока не работает
@@ -13,5 +18,23 @@ def setUp(self):
1318

1419
def test_take_session(self):
1520

16-
_uuid = gt.Authorization.take_session(self.user_id)
17-
self.assertIsInstance(_uuid, str, 'Некорректный тип сессии')
21+
data = {
22+
'login': 'roman',
23+
'password': 'roman123'
24+
}
25+
# js_d = json.dumps(data)
26+
r = requests.post('http://127.0.0.1:8000/auth/', data=data)
27+
28+
# _uuid = gt.Authorization.take_session(self.user_id)
29+
# self.assertIsInstance(_uuid, str, 'Некорректный тип сессии')
30+
return
31+
32+
def test_auth(self):
33+
data = {
34+
'login': 'test_andrew',
35+
'password': 'test_andrew'
36+
}
37+
r = requests.post('http://127.0.0.1:8000/auth/', data=data)
38+
39+
40+
return

task_lesson/api/registration/__init__.py

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
2+
from task_lesson.models import User
3+
4+
5+
class Registration:
6+
7+
@classmethod
8+
def check_request(cls, request):
9+
"""Проверка входных данных на корректность"""
10+
# return names.RequestValueErorr
11+
return None
12+
13+
@classmethod
14+
def set_user(cls, request):
15+
16+
data = request.POST
17+
user = User()
18+
19+
@classmethod
20+
def registation(cls, request):
21+
22+
answer = cls.check_request(request)
23+
24+
if not answer:
25+
pass
26+
27+
28+
29+
30+

0 commit comments

Comments
 (0)