def test_search_1(reset): ''' can search a variety of strings sent by different users in a multitude of channels of which the auth user is part ''' j_token = register("*****@*****.**", "paris in the rain", "Josh", "Wang")[1] k_token = register("*****@*****.**", "pianoforte", "Ken", "Li")[1] i_token = register("*****@*****.**", "ilovetrimesters", "Ian", "Jacobs")[1] ch_id1 = channels_create(j_token, "channel1", True) ch_id2 = channels_create(k_token, "channel2", True) ch_id3 = channels_create(i_token, "channel3", True) channel_join(j_token, ch_id2) channel_join(k_token, ch_id3) message_send(j_token, ch_id1, "Cat get down!") message_send(k_token, ch_id2, "this is the category") message_send(i_token, ch_id3, "cataracts are bad for your eyes") message_send(j_token, ch_id2, "scathe hat bat shat in the lsadfkl") message_send(j_token, ch_id2, "token") message_send(k_token, ch_id3, "a;sdkjf;lasdjf;lj 3wioru cate") assert len(search(j_token, "cat")["messages"]) == 2 assert len(search(k_token, "cat")["messages"]) == 4 assert len(search(i_token, "cat")["messages"]) == 2
def test_search_invalid_token(reset): ''' Invalid request with invalid token ''' j_token = register("*****@*****.**", "paris in the rain", "Josh", "Wang")[1] ch_id = channels_create(j_token, "new_channel", True) message_send(j_token, ch_id, "First message") with pytest.raises(HTTPError): search(j_token + 'x', 'First')
def test_search_query_str_too_long(reset): ''' Invalid request with a long query string ''' j_token = register("*****@*****.**", "paris in the rain", "Josh", "Wang")[1] ch_id = channels_create(j_token, "new_channel", True) message_send(j_token, ch_id, "First message") message_send(j_token, ch_id, "Second message") with pytest.raises(HTTPError): search(j_token, "i" * 1001)
def test_message_edit(reset): j_token = register("*****@*****.**", "1234566", "Josh", "Wang")[1] ch_id = channels_create(j_token, "new_channel", True) msg_id1 = message_send(j_token, ch_id, "This is the first message before any editing.") msg_id2 = message_send(j_token, ch_id, "This is another message") assert len(search(j_token, "message")["messages"]) == 2 message_edit(j_token, msg_id1, "Hurricane") assert len(search(j_token, "message")["messages"]) == 1 assert search(j_token, "message")["messages"][0]["message_id"] == msg_id2 assert len(search(j_token, "Hurr")["messages"]) == 1 assert search(j_token, "Hurr")["messages"][0]["message_id"] == msg_id1
def test_message_edit_delete_empty(reset): j_token = register("*****@*****.**", "1234566", "Josh", "Wang")[1] ch_id = channels_create(j_token, "new_channel", True) message_send(j_token, ch_id, "This is the first message before any editing.") msg_id2 = message_send(j_token, ch_id, "This is another message") message_edit(j_token, msg_id2, "") assert len(search(j_token, "message")["messages"]) == 1
def test_search_empty(reset): ''' Searching for an empty string ''' j_token = register("*****@*****.**", "paris in the rain", "Josh", "Wang")[1] ch_id = channels_create(j_token, "new_channel", True) message_send(j_token, ch_id, "First message") message_send(j_token, ch_id, "Second message") assert len(search(j_token, "")["messages"]) == 0