Adding Token generation for users on /tokens
This commit is contained in:
@@ -4,10 +4,17 @@ import unittest
|
||||
from pymongo import MongoClient
|
||||
from bson import ObjectId
|
||||
from datetime import datetime
|
||||
import base64
|
||||
|
||||
|
||||
class AttractTestCase(unittest.TestCase):
|
||||
|
||||
|
||||
def encodeUsrPass(self, user, password):
|
||||
usrPass = "{0}:{1}".format(user, password)
|
||||
b64Val = base64.b64encode(usrPass)
|
||||
return b64Val
|
||||
|
||||
def addUser(self, firstname, lastname, role):
|
||||
return self.app.post('/users', data=dict(
|
||||
firstname=firstname,
|
||||
@@ -46,6 +53,21 @@ class AttractTestCase(unittest.TestCase):
|
||||
headers=headers,
|
||||
follow_redirects=True)
|
||||
|
||||
def login(self, username, password):
|
||||
headers = {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Basic {0}'.format(
|
||||
self.encodeUsrPass(username, password))
|
||||
}
|
||||
data = {
|
||||
'username': username,
|
||||
}
|
||||
return self.app.post(
|
||||
'/tokens',
|
||||
data=json.dumps(data),
|
||||
headers=headers,
|
||||
follow_redirects=True)
|
||||
|
||||
def logout(self):
|
||||
return self.app.get('/logout', follow_redirects=True)
|
||||
|
||||
@@ -72,6 +94,11 @@ class AttractTestCase(unittest.TestCase):
|
||||
rv = self.addNode('Shot01', '55016a52135d32466fc800be', properties)
|
||||
assert 201 == rv.status_code
|
||||
|
||||
def test_login(self):
|
||||
rv = self.login('admin', 'secret')
|
||||
#print (rv.data)
|
||||
assert 201 == rv.status_code
|
||||
|
||||
def test_empty_db(self):
|
||||
rv = self.app.get('/')
|
||||
assert 401 == rv.status_code
|
||||
@@ -93,7 +120,6 @@ class AttractTestCase(unittest.TestCase):
|
||||
"_updated": datetime.now(),
|
||||
"firstname": "TestFirstname",
|
||||
"lastname": "TestLastname",
|
||||
"token": "ANLGNSIEZJ",
|
||||
"role": "author",
|
||||
"_created": datetime.now(),
|
||||
"_etag": "302236e27f51d2e26041ae9de49505d77332b260"
|
||||
@@ -108,8 +134,16 @@ class AttractTestCase(unittest.TestCase):
|
||||
"_etag": "0ea3c4f684a0cda85525184d5606c4f4ce6ac5f5"
|
||||
}
|
||||
|
||||
test_token = {
|
||||
"-id": ObjectId("5502f289135d3274cb658ba7"),
|
||||
"username": "TestFirstname",
|
||||
"token": "ANLGNSIEZJ",
|
||||
"_etag": "1e96ed46b133b7ede5ce6ef0d6d4fc53edd9f2ba"
|
||||
}
|
||||
|
||||
db.users.insert(test_user)
|
||||
db.node_types.insert(test_node_type)
|
||||
db.tokens.insert(test_token)
|
||||
|
||||
# Initialize Attract
|
||||
os.environ['TEST_ATTRACT'] = '1'
|
||||
|
Reference in New Issue
Block a user