def test_auth_login_not_registered(d): '''email is valid but not registered''' db.reset_DB() auth_register(d['email'], d['psw'], d['f_name'], d['l_name']) with pytest.raises(ValueError): auth_login('*****@*****.**', 'asdjfhasdj')
def test_invalid_permission_id(): '''If permission ID does not exist''' db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Bob', 'Smith') realtoken = Token.generateToken('*****@*****.**') with pytest.raises(ValueError): admin_userpermission_change(realtoken, 1, 5)
def test_channel_details_not_exists(): '''Channel does not exist''' db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Hosh', 'Mehta') token = Token.generateToken('*****@*****.**') with pytest.raises(ValueError): channel_details(token, -4)
def test_channel_details_exists(): '''Channel exists''' db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Hosh', 'Mehta') token = Token.generateToken('*****@*****.**') channels_create(token, 'Test', True) #['channel_id'] assert channel_details(token, 1)
def test_invalid_u_id(): '''If u_id does not refer to admin or owner''' db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Bob', 'Smith') realtoken = Token.generateToken('*****@*****.**') with pytest.raises(AccessError): admin_userpermission_change(realtoken, 1, 1)
def test_valid_user(): '''If user ID does exist function will execute''' # Make user an owner so no errors triggered db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Bob', 'Smith') realtoken = Token.generateToken('*****@*****.**') assert admin_userpermission_change(realtoken, 1, 1) == dumps({})
def test_user_profile_sethandle_handleOverflow(): db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Bob', 'Smith') realtoken = Token.generateToken('*****@*****.**') fakename = 'Yo' with pytest.raises(ValueError): user_profile_sethandle(realtoken, fakename * 30) user_profile_sethandle(realtoken, fakename)
def test_auth_login_incorrectPassword_1(d): '''valid and registered email but incorect password (call auth_register)''' db.reset_DB() wrong_psw = 'wrongpassword1' auth_register(d['email'], d['psw'], d['f_name'], d['l_name']) with pytest.raises(ValueError): auth_login(d['email'], wrong_psw)
def test_channel_details_user_member(): '''User is a member''' db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Hosh', 'Mehta') token = Token.generateToken('*****@*****.**') channels_create(token, 'Test', True) print(channel_details(token, 1)) assert channel_details(token, 1)
def test_channels_list(): '''Test channels_list function''' db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Bob', 'Smith') token = Token.generateToken('*****@*****.**') channels_create(token, "Hi", True) assert channels_list(token) == dumps({'channels' : [{"channel_id": 1, "is_public": True, \ "owner_members": [1], "members": [1], "name": "Hi"}]})
def test_user_profile_validUser(): db.reset_DB() data = db.load_DB() auth_register('*****@*****.**', 'pas123456', 'Bob', 'Smith') token = Token.generateToken('*****@*****.**') u_id = db.new_u_id(data) user_profile_sethandle(token, 'Baggins') assert (user_profile(token, u_id) != {})
def test_auth_register_bad_email(): '''email is not valid''' db.reset_DB() password = '******' with pytest.raises(ValueError): auth_login('test123', password) auth_login('@gmail.com', password) auth_login('test123@', password) auth_login('test123@hotmail', password)
def test_invalid_name(): '''Invalid channel name''' db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Bob', 'Smith') token = Token.generateToken('*****@*****.**') name = 'new channel' with pytest.raises(ValueError): channels_create(token, name*20, True) channels_create(token, name*20, False)
def test_valid_name_valid_token(): '''Valid name, valid token''' db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Bob', 'Smith') auth_register('*****@*****.**', 'pas123456', 'Bob', 'Smith') token1 = Token.generateToken('*****@*****.**') name = 'new channel' assert channels_create(token1, name, True) == dumps({'channel_id' : 1}) assert channels_create(token1, name, False) == dumps({'channel_id' : 2})
def test_search(): '''Test that all strings in messages are the same as the query_str''' db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Hosh', 'Mehta') token = Token.generateToken('*****@*****.**') channels_create(token, 'Yes', True) message_send(token, 1, 'Hi') query_str = 'Hi' messages = search(token, query_str) for _ in messages: assert query_str == 'Hi'
def test_channel_details_user_notmember(): '''User is not a member''' db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Hosh', 'Mehta') token = Token.generateToken('*****@*****.**') auth_register('*****@*****.**', 'pas123456', 'Josh', 'Greta') token_main = Token.generateToken('*****@*****.**') channels_create(token_main, 'Test', True) with pytest.raises(AccessError): channel_details(token, 1)
def test_auth_login_Registered(d): '''valid and registered email and correct password, returns u_id and token''' db.reset_DB() auth_register(d['email'], d['psw'], d['f_name'], d['l_name']) dict = json.loads(auth_login(d['email'], d['psw'])) token = dict['token'] u_id = dict['u_id'] email_decod = Token.decodeToken(token)['email'] assert u_id == 1 assert email_decod == d['email'] db.reset_DB()
'''Test channel_messages function''' # pylint: disable=W0622, W0401, W0614, C0103, W0621, C0413, C0411 import pytest import sys from .channel_messages import channel_messages from .channels_create import channels_create from .AccessError import * from .auth_register import auth_register from json import dumps, loads sys.path.append("..") import db db.reset_DB() def create_token(First, Last): '''Function to auth register a user and get its token''' email = '*****@*****.**' password = '******' token = loads(auth_register(email, password, First, Last))['token'] return {'token' : token} John = create_token('John', 'Appleseed') channels_create(John['token'], 'TestChannel', True) channel_id = 1 print(channel_id) def test_channel_messages_notExists(): '''Channel does not exist''' with pytest.raises(ValueError): channel_messages(John['token'], 43544536, 0) def test_channel_messages_exists():
def test_user_profile_sethandle_handleValid(): db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Bob', 'Smith') realtoken = Token.generateToken('*****@*****.**') name = 'Steven Dai' assert (user_profile_sethandle(realtoken, name) == {})
def test_valid_u_id(): '''If u_id is valid and does refer to admin or owner''' db.reset_DB() auth_register('*****@*****.**', 'pas123456', 'Bob', 'Smith') realtoken = Token.generateToken('*****@*****.**') assert admin_userpermission_change(realtoken, 1, 1) == dumps({})