def test_edit_notoken(): ''' Test edit with an invalid or no token ''' reset_data() # SETUP registered_user = auth_register('*****@*****.**', '123456', 'John', 'Smith') token = registered_user['token'] c_id = channel_create(token, "Channel1", 'true') # SETUP END # Add two messages message_send(token, c_id, "Hello world!") message_send(token, c_id, "another message") message_list = get_messages(c_id) assert find_message(message_list, "Hello world!") == "Hello world!" assert find_message(message_list, "another message") == "another message" msg1_id = get_message_id(message_list, "Hello world!") msg2_id = get_message_id(message_list, "another message") # SETUP END with pytest.raises(AccessError, match=r"*"): message_edit("123", msg1_id, "update") message_edit('', msg2_id, "there is no message")
def test_remove_simple(): ''' Test remove with multiple messages ''' reset_data() # SETUP registered_user = auth_register("*****@*****.**", "123456", "John", "Smith") token = registered_user['token'] c_id = channel_create(token, "Channel1", 'true') # Add two messages message_send(token, c_id, "Hello world!") message_send(token, c_id, "another message") message_list = get_messages(c_id) assert find_message(message_list, "Hello world!") == "Hello world!" assert find_message(message_list, "another message") == "another message" msg1_id = get_message_id(message_list, "Hello world!") msg2_id = get_message_id(message_list, "another message") # SETUP END # Delete both messages one by one message_remove(token, msg1_id) message_list = get_messages(c_id) assert find_message(message_list, "Hello world!") is None message_remove(token, msg2_id) message_list = get_messages(c_id) assert find_message(message_list, "another message") is None
def test_message_edit(): ''' Test edit as the poster of the message on multiple messages ''' reset_data() # SETUP registered_user = auth_register('*****@*****.**', '123456', 'John', 'Smith') token = registered_user['token'] c_id = channel_create(token, "Channel1", 'true') # SETUP END # Add two messages message_send(token, c_id, "Hello world!") message_send(token, c_id, "another message") message_list = get_messages(c_id) assert find_message(message_list, "Hello world!") == "Hello world!" assert find_message(message_list, "another message") == "another message" msg1_id = get_message_id(message_list, "Hello world!") msg2_id = get_message_id(message_list, "another message") # SETUP END message_edit(token, msg1_id, "Updated message") message_list = get_messages(c_id) assert find_message(message_list, "Updated message") == "Updated message" message_edit(token, msg2_id, "Another update") message_list = get_messages(c_id) assert find_message(message_list, "Another update") == "Another update"
def test_remove_diffuser(): ''' Test remove as a different user in the channel ''' reset_data() # SETUP registered_user = auth_register("*****@*****.**", "123456", "John", "Smith") token = registered_user['token'] c_id = channel_create(token, "Channel1", 'true') # Add two messages message_send(token, c_id, "Hello world!") message_send(token, c_id, "another message") message_list = get_messages(c_id) assert find_message(message_list, "Hello world!") == "Hello world!" assert find_message(message_list, "another message") == "another message" msg1_id = get_message_id(message_list, "Hello world!") # Logout auth_logout(token) # Login as a new user registered_user = auth_register("*****@*****.**", "1password", "Bob", "Smith") token = registered_user['token'] # SETUP END with pytest.raises(AccessError, match=r"*"): message_remove(token, msg1_id)
def test_remove_admin(): ''' Test remove as an admin of the slack ''' reset_data() # SETUP registered_user = auth_register("*****@*****.**", "123456", "John", "Smith") first_token = registered_user['token'] c_id = channel_create(first_token, "Channel1", 'true') # Add two messages message_send(first_token, c_id, "Hello world!") message_send(first_token, c_id, "another message") message_list = get_messages(c_id) assert find_message(message_list, "Hello world!") == "Hello world!" assert find_message(message_list, "another message") == "another message" # Login as a new user registered_user = auth_register("*****@*****.**", "1password", "Bob", "Smith") token = registered_user['token'] u_id = registered_user['u_id'] # Set new user as an admin of slack admin_userpermission_change(first_token, u_id, 2) # SETUP END message_list = get_messages(c_id) msg1_id = get_message_id(message_list, "Hello world!") message_remove(token, msg1_id) assert find_message(message_list, "Hello world!") is None
def test_remove_owner(): ''' Test remove as an owner of the channel ''' reset_data() # SETUP registered_user = auth_register("*****@*****.**", "123456", "John", "Smith") first_token = registered_user['token'] c_id = channel_create(first_token, "Channel1", 'true') # Add two messages message_send(first_token, c_id, "Hello world!") message_list = get_messages(c_id) # Login as a new user registered_user = auth_register("*****@*****.**", "1password", "Bob", "Smith") token = registered_user['token'] u_id = registered_user['u_id'] # Set new user as a channel owner channel_join(token, c_id) channel_addowner(first_token, c_id, u_id) # SETUP END msg1_id = get_message_id(message_list, "Hello world!") message_remove(token, msg1_id) message_list = get_messages(c_id) assert find_message(message_list, "Hello world!") is None
def test_edit_diffuser(): ''' Test edit as a different user ''' reset_data() # SETUP registered_user = auth_register('*****@*****.**', '123456', 'John', 'Smith') token = registered_user['token'] c_id = channel_create(token, "Channel1", 'true') # SETUP END # Add two messages message_send(token, c_id, "Hello world!") message_send(token, c_id, "another message") message_list = get_messages(c_id) assert find_message(message_list, "Hello world!") == "Hello world!" assert find_message(message_list, "another message") == "another message" msg1_id = get_message_id(message_list, "Hello world!") # Logout auth_logout(token) # SETUP registered_user = auth_register('*****@*****.**', '123456', 'John', 'Smith') token = registered_user['token'] # SETUP END with pytest.raises(AccessError, match=r"*"): message_edit(token, msg1_id, "update")
def test_edit_owner(): ''' Test edit as the owner of the channel ''' reset_data() # SETUP registered_user = auth_register('*****@*****.**', '123456', 'John', 'Smith') first_token = registered_user['token'] c_id = channel_create(first_token, "Channel1", 'true') # Add two messages message_send(first_token, c_id, "Hello world!") message_send(first_token, c_id, "another message") message_list = get_messages(c_id) assert find_message(message_list, "Hello world!") == "Hello world!" assert find_message(message_list, "another message") == "another message" # Login as a new user registered_user = auth_register("*****@*****.**", "1password", "Bob", "Smith") token = registered_user['token'] u_id = registered_user['u_id'] # Set new user as a channel owner channel_join(token, c_id) channel_addowner(first_token, c_id, u_id) msg1_id = get_message_id(message_list, "Hello world!") msg2_id = get_message_id(message_list, "another message") # SETUP END message_edit(token, msg1_id, "Updated message") message_list = get_messages(c_id) assert find_message(message_list, "Updated message") == "Updated message" message_edit(token, msg2_id, "Another update") message_list = get_messages(c_id) assert find_message(message_list, "Another update") == "Another update"
def test_edit_longmessage(): ''' Test edit when the edit is over the character limit ''' reset_data() # SETUP registered_user = auth_register('*****@*****.**', '123456', 'John', 'Smith') token = registered_user['token'] c_id = channel_create(token, "Channel1", 'true') # SETUP END # Add two messages message_send(token, c_id, "Hello world!") message_list = get_messages(c_id) msg1_id = get_message_id(message_list, "Hello world!") long_message = "a" * 1001 with pytest.raises(ValueError): message_edit(token, msg1_id, long_message)
def test_message_edit_empty(): ''' Test edit with an empty input, should delete the message ''' reset_data() # SETUP registered_user = auth_register('*****@*****.**', '123456', 'John', 'Smith') token = registered_user['token'] c_id = channel_create(token, "Channel1", 'true') # SETUP END # Add two messages message_send(token, c_id, "Hello world!") message_list = get_messages(c_id) assert find_message(message_list, "Hello world!") == "Hello world!" msg1_id = get_message_id(message_list, "Hello world!") message_edit(token, msg1_id, "") message_list = get_messages(c_id) assert find_message(message_list, "Updated message") is None
def test_edit_same(): ''' Test edit when the editted message is the same as the original ''' reset_data() # SETUP registered_user = auth_register('*****@*****.**', '123456', 'John', 'Smith') token = registered_user['token'] c_id = channel_create(token, "Channel1", 'true') # SETUP END # Add two messages message_send(token, c_id, "Hello world") message_list = get_messages(c_id) assert find_message(message_list, "Hello world") == "Hello world" msg1_id = get_message_id(message_list, "Hello world") # SETUP END with pytest.raises(ValueError, match=r"*"): message_edit(token, msg1_id, "Hello world")
def test_unreact_already(): ''' Test message_unreact when the message already has no react ''' reset_data() # SETUP registered_user = auth_register('*****@*****.**', '123456', 'John', 'Smith') token = registered_user['token'] c_id = channel_create(token, "Channel1", 'true') # SETUP END # Add two messages message_send(token, c_id, "Hello world!") message_list = get_messages(c_id) assert find_message(message_list, "Hello world!") == "Hello world!" msg1_id = get_message_id(message_list, "Hello world!") # SETUP END with pytest.raises(ValueError): message_unreact(token, msg1_id, 1)
def test_edit_cap(): ''' Test edit at the maximum character limit ''' reset_data() # SETUP registered_user = auth_register('*****@*****.**', '123456', 'John', 'Smith') token = registered_user['token'] c_id = channel_create(token, "Channel1", 'true') # SETUP END # Add two messages message_send(token, c_id, "Hello world!") message_list = get_messages(c_id) assert find_message(message_list, "Hello world!") == "Hello world!" msg1_id = get_message_id(message_list, "Hello world!") # SETUP END message_edit(token, msg1_id, "a" * 999) message_list = get_messages(c_id) assert 'a' in message_list[0]['message']
def test_remove_notoken(): ''' Test remove when token is invalid or doesn't exist ''' reset_data() # SETUP registered_user = auth_register("*****@*****.**", "123456", "John", "Smith") token = registered_user['token'] c_id = channel_create(token, "Channel1", 'true') # Add two messages message_send(token, c_id, "Hello world!") message_send(token, c_id, "another message") message_list = get_messages(c_id) assert find_message(message_list, "Hello world!") == "Hello world!" assert find_message(message_list, "another message") == "another message" # SETUP END msg1_id = get_message_id(message_list, "Hello world!") with pytest.raises(AccessError, match=r"*"): message_remove("123", msg1_id) message_remove("", msg1_id)