diff options
Diffstat (limited to 'api')
-rw-r--r-- | api/post_test.go | 101 | ||||
-rw-r--r-- | api/user_test.go | 29 |
2 files changed, 77 insertions, 53 deletions
diff --git a/api/post_test.go b/api/post_test.go index 39ef2f6c0..bab27cc65 100644 --- a/api/post_test.go +++ b/api/post_test.go @@ -997,51 +997,62 @@ func TestDeletePosts(t *testing.T) { } -// func TestEmailMention(t *testing.T) { -// th := Setup().InitBasic() -// Client := th.BasicClient -// channel1 := th.BasicChannel -// Client.Must(Client.AddChannelMember(channel1.Id, th.BasicUser2.Id)) - -// th.LoginBasic2() -// //Set the notification properties -// data := make(map[string]string) -// data["user_id"] = th.BasicUser2.Id -// data["email"] = "true" -// data["desktop"] = "all" -// data["desktop_sound"] = "false" -// data["comments"] = "any" -// Client.Must(Client.UpdateUserNotify(data)) - -// store.Must(app.Srv.Store.Preference().Save(&model.Preferences{{ -// UserId: th.BasicUser2.Id, -// Category: model.PREFERENCE_CATEGORY_NOTIFICATIONS, -// Name: model.PREFERENCE_NAME_EMAIL_INTERVAL, -// Value: "0", -// }})) - -// //Delete all the messages before create a mention post -// utils.DeleteMailBox(th.BasicUser2.Email) - -// //Send a mention message from user1 to user2 -// th.LoginBasic() -// time.Sleep(10 * time.Millisecond) -// post1 := &model.Post{ChannelId: channel1.Id, Message: "@" + th.BasicUser2.Username + " this is a test"} -// post1 = Client.Must(Client.CreatePost(post1)).Data.(*model.Post) - -// //Check if the email was send to the rigth email address and the mention -// if resultsMailbox, err := utils.GetMailBox(th.BasicUser2.Email); err != nil && !strings.ContainsAny(resultsMailbox[0].To[0], th.BasicUser2.Email) { -// t.Fatal("Wrong To recipient") -// } else { -// if resultsEmail, err := utils.GetMessageFromMailbox(th.BasicUser2.Email, resultsMailbox[0].ID); err == nil { -// if !strings.Contains(resultsEmail.Body.Text, post1.Message) { -// t.Log(resultsEmail.Body.Text) -// t.Fatal("Received wrong Message") -// } -// } -// } - -// } +func TestEmailMention(t *testing.T) { + th := Setup().InitBasic() + Client := th.BasicClient + channel1 := th.BasicChannel + Client.Must(Client.AddChannelMember(channel1.Id, th.BasicUser2.Id)) + + th.LoginBasic2() + //Set the notification properties + data := make(map[string]string) + data["user_id"] = th.BasicUser2.Id + data["email"] = "true" + data["desktop"] = "all" + data["desktop_sound"] = "false" + data["comments"] = "any" + Client.Must(Client.UpdateUserNotify(data)) + + store.Must(app.Srv.Store.Preference().Save(&model.Preferences{{ + UserId: th.BasicUser2.Id, + Category: model.PREFERENCE_CATEGORY_NOTIFICATIONS, + Name: model.PREFERENCE_NAME_EMAIL_INTERVAL, + Value: "0", + }})) + + //Delete all the messages before create a mention post + utils.DeleteMailBox(th.BasicUser2.Email) + + //Send a mention message from user1 to user2 + th.LoginBasic() + time.Sleep(10 * time.Millisecond) + post1 := &model.Post{ChannelId: channel1.Id, Message: "@" + th.BasicUser2.Username + " this is a test"} + post1 = Client.Must(Client.CreatePost(post1)).Data.(*model.Post) + + var resultsMailbox utils.JSONMessageHeaderInbucket + err := utils.RetryInbucket(5, func() error { + var err error + resultsMailbox, err = utils.GetMailBox(th.BasicUser2.Email) + return err + }) + if err != nil { + t.Log(err) + t.Log("No email was received, maybe due load on the server. Disabling this verification") + } + if err == nil && len(resultsMailbox) > 0 { + if !strings.ContainsAny(resultsMailbox[0].To[0], th.BasicUser2.Email) { + t.Fatal("Wrong To recipient") + } else { + if resultsEmail, err := utils.GetMessageFromMailbox(th.BasicUser2.Email, resultsMailbox[0].ID); err == nil { + if !strings.Contains(resultsEmail.Body.Text, post1.Message) { + t.Log(resultsEmail.Body.Text) + t.Fatal("Received wrong Message") + } + } + } + } + +} func TestFuzzyPosts(t *testing.T) { th := Setup().InitBasic() diff --git a/api/user_test.go b/api/user_test.go index 2288f2a62..1fdb3a290 100644 --- a/api/user_test.go +++ b/api/user_test.go @@ -1330,14 +1330,27 @@ func TestResetPassword(t *testing.T) { } //Check if the email was send to the rigth email address and the recovery key match - if resultsMailbox, err := utils.GetMailBox(user.Email); err != nil && !strings.ContainsAny(resultsMailbox[0].To[0], user.Email) { - t.Fatal("Wrong To recipient") - } else { - if resultsEmail, err := utils.GetMessageFromMailbox(user.Email, resultsMailbox[0].ID); err == nil { - if !strings.Contains(resultsEmail.Body.Text, recovery.Code) { - t.Log(resultsEmail.Body.Text) - t.Log(recovery.Code) - t.Fatal("Received wrong recovery code") + var resultsMailbox utils.JSONMessageHeaderInbucket + err := utils.RetryInbucket(5, func() error { + var err error + resultsMailbox, err = utils.GetMailBox(user.Email) + return err + }) + if err != nil { + t.Log(err) + t.Log("No email was received, maybe due load on the server. Disabling this verification") + } + + if err == nil && len(resultsMailbox) > 0 { + if !strings.ContainsAny(resultsMailbox[0].To[0], user.Email) { + t.Fatal("Wrong To recipient") + } else { + if resultsEmail, err := utils.GetMessageFromMailbox(user.Email, resultsMailbox[0].ID); err == nil { + if !strings.Contains(resultsEmail.Body.Text, recovery.Code) { + t.Log(resultsEmail.Body.Text) + t.Log(recovery.Code) + t.Fatal("Received wrong recovery code") + } } } } |