Example #1
0
def test_update_an_user_invalid_username(client, mock_user):

    clear_db()
    # user to auth
    user_to_auth = mock_user('auth', 'auth')

    # to test if an username is really unique
    user_to_test = mock_user('user', 'password')

    jwt_header = get_jwt_auth_header('auth', 'auth', client)
    payload = json.dumps({
        'user_id': str(user_to_auth.id),
        'username': user_to_test.username,
        'password': '******'
    })

    response = jrequest('PUT', '/api/user', client, jwt_header, data=payload)
    response = json.loads(response.data.decode('utf-8'))
    response = json.loads(response)

    expected = {
        'status_code': 400,
        'data': "The user {!r} already exists.".format(user_to_test.username),
        'error': 'Bad Request'
    }

    assert sorted(response.items()) == sorted(expected.items())
def test_update_user_with_valid_username(app, mock_user):
    clear_db()
    user = mock_user()
    id, username, password = str(user.id), 'updated', 'password'

    assert 'updated' in controllers.create_or_update_user(
        username, password, user_id=id)
Example #3
0
def test_get_pictures(client, mock_user, mock_picture):
    clear_db()
    user = mock_user('user', 'password')
    pic = mock_picture(user)
    print(pic.tags)
    jwt_header = get_jwt_auth_header('user', 'password', client)
    response = json.loads(jrequest(
        'GET', '/api/pictures', client, jwt_header).data.decode('utf-8'))
    response = json.loads(response)

    templist = []
    for tag in pic.tags:
        templist.append(tag.to_json())

    expected = {
        'status_code': 200,
        'data': [{
            'id': str(pic.id),
            'userid': pic.userId,
            'dsepriction': pic.despriction,
            'adress': pic.address,
            'tags': templist
        }],
        'description': 'Successful Operation',
    }

    assert sorted(response.items()) == sorted(expected.items())
Example #4
0
def test_update_an_user_valid_username(client, mock_user):

    clear_db()

    user = mock_user('user', 'password')
    jwt_header = get_jwt_auth_header('user', 'password', client)
    payload = json.dumps({
        'user_id': str(user.id),
        'username': '******',
        'password': '******',
        'avator': '',
        'email': '*****@*****.**'
    })

    response = jrequest('PUT', '/api/user', client, jwt_header, data=payload)
    response = json.loads(response.data.decode('utf-8'))
    response = json.loads(response)

    expected = {
        'status_code': 200,
        'data': "Updated the user 'it works'.",
        'description': 'Successfully updated'
    }

    assert sorted(response.items()) == sorted(expected.items())
    result=models.User.query.filter_by(username='******').all()
    assert len(result)==1
    assert result[0].email=='*****@*****.**'
Example #5
0
def test_create_user_with_invalid_username(app, mock_user):
    clear_db()
    user = mock_user()
    username, password = user.username, 'password'
    expected = {'error': 'The user {!r} already exists.'.format(user.username)}

    assert controllers.create_or_update_user(username, password) == expected
Example #6
0
def test_update_user_with_valid_username(app, mock_user):
    clear_db()
    user = mock_user()
    id, username, password = str(user.id), 'updated', 'password'

    assert 'updated' in controllers.create_or_update_user(username,
                                                          password,
                                                          user_id=id)
def test_create_user_with_invalid_username(app, mock_user):
    clear_db()
    user = mock_user()
    username, password = user.username, 'password'
    expected = {
        'error': 'The user {!r} already exists.'.format(user.username)
    }

    assert controllers.create_or_update_user(username, password) == expected
Example #8
0
def test_create_user_with_invalid_username(app, mock_user):
    clear_db()
    user = mock_user()
    username, password, avator, email = 'mock-user', 'password', '', '*****@*****.**'
    expected = {
        'error': 'The user {!r} already exists.'.format('mock-user')
    }

    assert controllers.create_or_update_user(username, password,avator,email) == expected
def test_get_users_with_data_and_specific_username(app, mock_user):
    clear_db()
    user = mock_user()
    expected = {
        'success': [{
            'id': str(user.id),
            'username': user.username
        }]
    }

    assert controllers.get_users(username=user.username) == expected
Example #10
0
def test_get_users_with_data_and_specific_username(app, mock_user):
    clear_db()
    user = mock_user()
    expected = {
        'success': [{
            'id': '1',
            'username': '******',
            'email': '*****@*****.**',
            'avator': '',
        }]
    }

    assert controllers.get_users(username='******') == expected
Example #11
0
def test_create_an_user_valid_username(client, mock_user):

    clear_db()
    mock_user('auth', 'auth')
    jwt_header = get_jwt_auth_header('auth', 'auth', client)

    payload = json.dumps({'username': '******', 'password': '******'})
    response = jrequest('POST', '/api/users', client, jwt_header, data=payload)
    response = json.loads(response.data.decode('utf-8'))
    response = json.loads(response)

    expected = {
        'status_code': 201,
        'data': "Created the user 'valid'.",
        'description': 'Successfully created'
    }

    assert sorted(response.items()) == sorted(expected.items())
Example #12
0
def test_create_an_user_invalid_username(client, mock_user):

    clear_db()
    user = mock_user('user', 'password')
    jwt_header = get_jwt_auth_header('user', 'password', client)

    payload = json.dumps({'username': user.username, 'password': '******'})
    response = jrequest('POST', '/api/users', client, jwt_header, data=payload)
    response = json.loads(response.data.decode('utf-8'))
    response = json.loads(response)

    expected = {
        'status_code': 400,
        'data': "The user {!r} already exists.".format(user.username),
        'error': 'Bad Request'
    }

    assert sorted(response.items()) == sorted(expected.items())
Example #13
0
def test_delete_an_user_invalid_user_id(client, mock_user):

    clear_db()

    mock_user('user', 'password')
    jwt_header = get_jwt_auth_header('user', 'password', client)

    response = jrequest(
        'DELETE', '/api/user/{}'.format(ObjectId()), client, jwt_header)
    response = json.loads(response.data.decode('utf-8'))
    response = json.loads(response)

    expected = {
        'status_code': 400,
        'data': 'Invalid user id.',
        'error': 'Bad Request'
    }

    assert sorted(response.items()) == sorted(expected.items())
Example #14
0
def test_get_users_specifing_username(client, mock_user):
    clear_db()
    user = mock_user('user', 'password')
    jwt_header = get_jwt_auth_header('user', 'password', client)

    response = json.loads(jrequest(
        'GET', '/api/users', client, jwt_header).data.decode('utf-8'))
    response = json.loads(response)

    expected = {
        'status_code': 200,
        'data': [{
            'id': str(user.id),
            'username': user.username
        }],
        'description': 'Successful Operation',
    }

    assert sorted(response.items()) == sorted(expected.items())
Example #15
0
def test_get_specific_picture(client, mock_user, mock_picture):
    clear_db()
    user = mock_user('username', 'password')
    pic1 = mock_picture(user)
    pic2 = mock_picture(user, 'testtags', 'descriptin1', 'address1')

    jwt_header = get_jwt_auth_header('username', 'password', client)

    response = jrequest('GET',
                        '/api/picture/Search?searchKey={}'.format('testtags'),
                        client, jwt_header)
    response = json.loads(response.data.decode('utf-8'))
    response = json.loads(response)

    templist1 = []
    for tag in pic1.tags:
        templist1.append(tag.to_json())
    templist2 = []
    for tag in pic2.tags:
        templist2.append(tag.to_json())

    expected = {
        'status_code':
        200,
        'data': [{
            'id': str(pic1.id),
            'userid': pic1.userId,
            'dsepriction': pic1.despriction,
            'adress': pic1.address,
            'tags': templist1
        }, {
            'id': str(pic2.id),
            'userid': pic2.userId,
            'dsepriction': pic2.despriction,
            'adress': pic2.address,
            'tags': templist2
        }],
        'description':
        'Successful Operation',
    }

    assert sorted(response.items()) == sorted(expected.items())
Example #16
0
def test_delete_an_user_valid_user_id(client, mock_user):

    clear_db()
    user_to_delete = mock_user('delete', 'delete')
    # user_to_auth
    mock_user('user', 'password')

    jwt_header = get_jwt_auth_header('user', 'password', client)

    response = jrequest(
        'DELETE', '/api/user/{}'.format(user_to_delete.id), client, jwt_header)
    response = json.loads(response.data.decode('utf-8'))
    response = json.loads(response)

    expected = {
        'status_code': 200,
        'data': 'User deleted',
        'description': 'Successfully deleted'
    }

    assert sorted(response.items()) == sorted(expected.items())
Example #17
0
def test_get_users_without_username(client, mock_user):
    clear_db()
    mock_user('user', 'password')
    jwt_header = get_jwt_auth_header('user', 'password', client)

    response = json.loads(jrequest(
        'GET', '/api/users', client, jwt_header).data.decode('utf-8'))
    response = json.loads(response)

    expected = {
        'status_code': 200,
        'data': [{
            'id': '1',
            'username': '******',
            'avator': '',
            'email': '*****@*****.**'
        }],
        'description': 'Successful Operation',
    }

    assert sorted(response.items()) == sorted(expected.items())
Example #18
0
def test_update_an_user_valid_username(client, mock_user):

    clear_db()

    user = mock_user('user', 'password')
    jwt_header = get_jwt_auth_header('user', 'password', client)
    payload = json.dumps({
        'user_id': str(user.id),
        'username': '******',
        'password': '******'
    })

    response = jrequest('PUT', '/api/user', client, jwt_header, data=payload)
    response = json.loads(response.data.decode('utf-8'))
    response = json.loads(response)

    expected = {
        'status_code': 200,
        'data': "Updated the user 'it works'.",
        'description': 'Successfully updated'
    }

    assert sorted(response.items()) == sorted(expected.items())
Example #19
0
def test_delete_user_with_valid_id(app, mock_user):
    clear_db()
    user = mock_user()
    expected = {'deleted': 'User deleted'}

    assert controllers.delete_user(user.id) == expected
Example #20
0
def test_get_users_with_data_and_specific_username(app, mock_user):
    clear_db()
    user = mock_user()
    expected = {'success': [{'id': str(user.id), 'username': user.username}]}

    assert controllers.get_users(username=user.username) == expected
Example #21
0
def test_is_an_available_username_with_available_user(app):
    clear_db()
    assert controllers.is_an_available_username(username='******') is True
Example #22
0
def test_update_user_with_valid_username(app, mock_user):
    clear_db()
    user = mock_user()
    username, password, avator, email = 'mock-user', 'mock-user', '', '*****@*****.**'

    assert 'updated' in controllers.create_or_update_user(username, password, '', '*****@*****.**', user.id)
def test_is_an_available_username_with_unavailable_user(app, mock_user):
    clear_db()
    mock_user(username='******', password='******')

    assert controllers.is_an_available_username('unavailable') is False
Example #24
0
def test_create_user_with_valid_username(app):
    clear_db()
    username, password, avator, email = 'admin', 'password', '', '*****@*****.**'

    assert 'created' in controllers.create_or_update_user(username, password,avator,email)
def test_is_an_available_username_with_available_user(app):
    clear_db()
    assert controllers.is_an_available_username(username='******') is True
Example #26
0
def test_get_users_no_data(app):
    clear_db()
    assert controllers.get_users() == {'no-data': ''}
Example #27
0
def test_is_an_available_username_with_unavailable_user(app, mock_user):
    clear_db()
    mock_user(username='******', password='******')
    assert controllers.is_an_available_username('unavailable') is False
def test_create_user_with_valid_username(app):
    clear_db()
    username, password = '******', 'password'

    assert 'created' in controllers.create_or_update_user(username, password)
Example #29
0
def test_create_user_with_valid_username(app):
    clear_db()
    username, password = '******', 'password'

    assert 'created' in controllers.create_or_update_user(username, password)