-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtest_user_authentication.py
More file actions
51 lines (42 loc) · 1.72 KB
/
test_user_authentication.py
File metadata and controls
51 lines (42 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import requests
import unittest
class TestAuthenticationRestApi(unittest.TestCase):
def __init__(self, *args, **kwargs):
super(TestAuthenticationRestApi, self).__init__(*args, **kwargs)
self.__api_base_url = "http://localhost:5000"
self.__secret_url = "/secret"
self.__user_url = "/user"
def test_authentication_fail(self):
r = requests.get(self.__api_base_url + self.__secret_url, auth=('user', 'pass'))
self.assertEqual(r.status_code, 401)
def test_authentication_default_user(self):
r = requests.get(self.__api_base_url + self.__secret_url, auth=('admin', 'root'))
self.assertEqual(r.status_code, 201)
def test_user_add(self):
payload = {'pwd': '123456789'}
user = '/test_user'
r = requests.post(self.__api_base_url + self.__user_url + user, data=payload)
self.assertEqual(r.status_code, 200)
def test_user_change_password(self):
payload = {'pwd': 'test'}
user = '/test_user'
pwd_url = '/pwd'
r = requests.put(self.__api_base_url + self.__user_url + user + pwd_url, data=payload)
self.assertEqual(r.status_code, 200)
def test_user_change_password_incorrect_method(self):
payload = {'pwd': 'test'}
user = '/test_user'
pwd_url = '/pwd'
r = requests.post(self.__api_base_url + self.__user_url + user + pwd_url, data=payload)
self.assertEqual(r.status_code, 405)
def test_change_password_invalid_user(self):
payload = {'pwd': 'test'}
user = '/test2'
pwd_url = '/pwd'
r = requests.put(self.__api_base_url + self.__user_url + user + pwd_url, data=payload)
self.assertEqual(r.status_code, 403)
def test_get_user_collection(self):
self.test_user_add()
r = requests.get(self.__api_base_url + self.__user_url)
users = r.json()
self.assertEqual(users.has_key('test_user'), True)