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)
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())
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=='*****@*****.**'
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
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
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
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
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())
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())
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())
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())
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())
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())
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())
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())
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
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
def test_is_an_available_username_with_available_user(app): clear_db() assert controllers.is_an_available_username(username='******') is True
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
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_get_users_no_data(app): clear_db() assert controllers.get_users() == {'no-data': ''}
def test_create_user_with_valid_username(app): clear_db() username, password = '******', 'password' assert 'created' in controllers.create_or_update_user(username, password)