Esempio n. 1
0
def login(username):
    '''A function that takenano s in a username and returns a user object'''
    _log.info('Attempting to retrieve user from database')
    query_dict = {'username': username}
    user_dict = _scl.users.find_one(query_dict)
    _log.debug(user_dict)
    return User.from_dict(user_dict) if user_dict else None
Esempio n. 2
0
 def test_from_dict(self):
     '''Test from_dict in user'''
     _log.info('Testing test_from')
     test_dict = {
         'username': '******',
         'password': '******',
         'firstname': 'firstname',
         'lastname': 'lastname'
     }
     self.user = User().from_dict(test_dict)
     self.assertIs(type(UserTestSuite.user), User)
Esempio n. 3
0
def login():
    '''The login functionality'''
    if request.method == 'POST':
        _log.debug("In POST")
        # getting the user information from the form and getting the information from the db
        _log.debug(request.json['username'])
        temp = request.json['username']
        _log.debug(temp)
        user = db.login(temp)
        _log.debug(user)
        _log.debug(request.json)
        _log.debug(user.password)
        _log.debug(request.json['password'])
        if user.password == request.json['password']:
            # Generate our token
            auth_token = user.encode_auth_token()
            _log.debug(dir(auth_token))
            response = make_response(jsonify(user))
            response.set_cookie('authorization', auth_token.decode())
            return response, 200
        return {}, 401
    elif request.method == 'PUT':
        user = db.add_user(request.json)
        value = bytes(json.dumps(user, cls=SubmissionEncoder), 'utf-8')
        return value, 200
    elif request.method == 'GET':
        auth_token = request.cookies.get('authorization')
        if auth_token:
            _log.debug(auth_token)
            _log.debug(User.decode_auth_token(auth_token))
            return jsonify(
                db.get_user_by_id(User.decode_auth_token(auth_token))), 200
        else:
            return {}, 401
    else:
        empty = make_response({})
        empty.set_cookie('authorization', '')
        return empty, 204
Esempio n. 4
0
 def test_to_dict(self):
     '''Test to_dict in user'''
     _log.info('Testing test_to_dict')
     self.user = User('username', 'password')
     self.assertIs(type(UserTestSuite.user.to_dict()), dict)
Esempio n. 5
0
 def test_str(self):
     '''Tests __str__ in user'''
     _log.info('Testing test_str')
     self.user = User('username', 'password', 'firstname', 'lastname')
     self.assertIs(type(str(UserTestSuite.user)), str)
Esempio n. 6
0
 def setUpClass(cls):
     cls.user = User()
Esempio n. 7
0
 def setUp(self):
     self.user = User(-1, 'jill', '111', 'jill', 'mill', 'Customer')
Esempio n. 8
0
def get_teachers():
    dict_list = _scl.users.find({'role': 'teacher'})
    return [User.from_dict(user) for user in dict_list]
Esempio n. 9
0
def get_students():
    dict_list = _scl.users.find({'role': 'student'})
    return [User.from_dict(user) for user in dict_list]
Esempio n. 10
0
def get_users():
    '''Read all the users from the collection'''
    _log.info('Attempting to retrieve all users from database')
    dict_list = _scl.users.find()
    return [User.from_dict(user) for user in dict_list]
Esempio n. 11
0
                _log.debug('Looping over id\'s')
                _log.debug('inserting at id ' + str(increment))
                user['_id'] = user['_id'] + increment
                _log.debug(user['_id'])
                increment += 1
                _scl.users.insert_one(user)
                return user
            except:
                pass


if __name__ == '__main__':
    _log.info(
        'Running Mongo script: dropping collections from project2 database')
    _log.info(_scl.list_collection_names())
    _scl.users.drop()
    _scl.counter.drop()

    _scl.counter.insert_one({'_id': 'UNIQUE_COUNT', 'count': 0})

    user_list = []
    user_list.append(
        User(_get_id(), 'mik', 'mm', '11', '123 main st', 'teacher').to_dict())
    user_list.append(
        User(_get_id(), 'john', 'dd', '22', '123 main st', 'admin').to_dict())
    user_list.append(
        User(_get_id(), 'mary', 'ff', '33', '123 main st',
             'student').to_dict())

    _scl.users.insert_many(user_list)
Esempio n. 12
0
 def setUp(self):
     self.user = User(-1, 'jillmill', 'jill', '111', '123 main st',
                      'student')
Esempio n. 13
0
def get_requirements(requirements):
    '''Gets all requirements'''
    _log.info('Attempting to retrieve all users from database')
    dict_list = _scl.users.find({'username': requirements})
    return [User.from_dict(user) for user in dict_list]
Esempio n. 14
0
def get_user_by_id(db_id: int):
    '''Returns a user by their id'''
    return User.from_dict(_scl.users.find_one({'_id': db_id}))