Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Unified Diff: impl/memory/mail_test.go

Issue 2302743002: Interface update, per-method Contexts. (Closed)
Patch Set: Lightning talk licenses. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « impl/memory/mail.go ('k') | impl/memory/memcache.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: impl/memory/mail_test.go
diff --git a/impl/memory/mail_test.go b/impl/memory/mail_test.go
index 427fd6b3c4d288c76561d09ab2501e6e65443d2c..5a1ffb4b51c7740ef4bf056c92261470a4d53566 100644
--- a/impl/memory/mail_test.go
+++ b/impl/memory/mail_test.go
@@ -8,11 +8,13 @@ import (
net_mail "net/mail"
"testing"
- mailS "github.com/luci/gae/service/mail"
- userS "github.com/luci/gae/service/user"
+ "github.com/luci/gae/service/mail"
+ "github.com/luci/gae/service/user"
+
+ "golang.org/x/net/context"
+
. "github.com/luci/luci-go/common/testing/assertions"
. "github.com/smartystreets/goconvey/convey"
- "golang.org/x/net/context"
)
func TestMail(t *testing.T) {
@@ -20,16 +22,14 @@ func TestMail(t *testing.T) {
Convey("mail", t, func() {
c := Use(context.Background())
- user := userS.Get(c)
- mail := mailS.Get(c)
Convey("good cases", func() {
Convey("start with an empty set of messages", func() {
- So(mail.Testable().SentMessages(), ShouldBeEmpty)
+ So(mail.GetTestable(c).SentMessages(), ShouldBeEmpty)
})
Convey("can send a message from the admin", func() {
- So(mail.Send(&mailS.Message{
+ So(mail.Send(c, &mail.Message{
Sender: "admin@example.com",
To: []string{"Valued Customer <customer@example.com>"},
Subject: "You are valued.",
@@ -37,8 +37,8 @@ func TestMail(t *testing.T) {
}), ShouldBeNil)
Convey("and it shows up in sent messages", func() {
- So(mail.Testable().SentMessages(), ShouldResemble, []*mailS.TestMessage{
- {Message: mailS.Message{
+ So(mail.GetTestable(c).SentMessages(), ShouldResemble, []*mail.TestMessage{
+ {Message: mail.Message{
Sender: "admin@example.com",
To: []string{"Valued Customer <customer@example.com>"},
Subject: "You are valued.",
@@ -47,15 +47,15 @@ func TestMail(t *testing.T) {
})
Convey("which can be reset", func() {
- mail.Testable().Reset()
- So(mail.Testable().SentMessages(), ShouldBeEmpty)
+ mail.GetTestable(c).Reset()
+ So(mail.GetTestable(c).SentMessages(), ShouldBeEmpty)
})
})
})
Convey("can send a message on behalf of a user", func() {
- user.Testable().Login("dood@example.com", "", false)
- So(mail.Send(&mailS.Message{
+ user.GetTestable(c).Login("dood@example.com", "", false)
+ So(mail.Send(c, &mail.Message{
Sender: "Friendly Person <dood@example.com>",
To: []string{"Other Friendly Person <dudette@example.com>"},
Subject: "Hi",
@@ -64,14 +64,14 @@ func TestMail(t *testing.T) {
})
Convey("can send a message to the admins", func() {
- So(mail.SendToAdmins(&mailS.Message{
+ So(mail.SendToAdmins(c, &mail.Message{
Sender: "admin@example.com",
Subject: "Reminder",
Body: "I forgot",
}), ShouldBeNil)
- So(mail.Testable().SentMessages(), ShouldResemble, []*mailS.TestMessage{
- {Message: mailS.Message{
+ So(mail.GetTestable(c).SentMessages(), ShouldResemble, []*mail.TestMessage{
+ {Message: mail.Message{
Sender: "admin@example.com",
To: []string{"admin@example.com"},
Subject: "Reminder",
@@ -81,19 +81,19 @@ func TestMail(t *testing.T) {
})
Convey("can set admin emails", func() {
- mail.Testable().SetAdminEmails(
+ mail.GetTestable(c).SetAdminEmails(
"Friendly <hello@example.com>",
"Epic <nerdsnipe@example.com>",
)
- So(mail.SendToAdmins(&mailS.Message{
+ So(mail.SendToAdmins(c, &mail.Message{
Sender: "hello@example.com",
Subject: "Reminder",
Body: "I forgot",
}), ShouldBeNil)
- So(mail.Testable().SentMessages(), ShouldResemble, []*mailS.TestMessage{
- {Message: mailS.Message{
+ So(mail.GetTestable(c).SentMessages(), ShouldResemble, []*mail.TestMessage{
+ {Message: mail.Message{
Sender: "hello@example.com",
To: []string{
"Friendly <hello@example.com>",
@@ -106,24 +106,24 @@ func TestMail(t *testing.T) {
})
Convey("attachments get mimetypes assigned to them", func() {
- So(mail.SendToAdmins(&mailS.Message{
+ So(mail.SendToAdmins(c, &mail.Message{
Sender: "admin@example.com",
Subject: "Reminder",
Body: "I forgot",
- Attachments: []mailS.Attachment{
+ Attachments: []mail.Attachment{
{Name: "reminder.txt", Data: []byte("bananas")},
{Name: "coolthing", Data: []byte("bananas")},
},
}), ShouldBeNil)
- So(mail.Testable().SentMessages(), ShouldResemble, []*mailS.TestMessage{
+ So(mail.GetTestable(c).SentMessages(), ShouldResemble, []*mail.TestMessage{
{
- Message: mailS.Message{
+ Message: mail.Message{
Sender: "admin@example.com",
To: []string{"admin@example.com"},
Subject: "Reminder",
Body: "I forgot",
- Attachments: []mailS.Attachment{
+ Attachments: []mail.Attachment{
{Name: "reminder.txt", Data: []byte("bananas")},
{Name: "coolthing", Data: []byte("bananas")},
},
@@ -133,7 +133,7 @@ func TestMail(t *testing.T) {
})
Convey("can have headers", func() {
- So(mail.SendToAdmins(&mailS.Message{
+ So(mail.SendToAdmins(c, &mail.Message{
Sender: "admin@example.com",
Subject: "Reminder",
Body: "I forgot",
@@ -143,8 +143,8 @@ func TestMail(t *testing.T) {
},
}), ShouldBeNil)
- So(mail.Testable().SentMessages(), ShouldResemble, []*mailS.TestMessage{
- {Message: mailS.Message{
+ So(mail.GetTestable(c).SentMessages(), ShouldResemble, []*mail.TestMessage{
+ {Message: mail.Message{
Sender: "admin@example.com",
To: []string{"admin@example.com"},
Subject: "Reminder",
@@ -161,14 +161,14 @@ func TestMail(t *testing.T) {
Convey("errors", func() {
Convey("setting a non-email is a panic", func() {
- So(func() { mail.Testable().SetAdminEmails("i am a banana") },
+ So(func() { mail.GetTestable(c).SetAdminEmails("i am a banana") },
ShouldPanicLike, `invalid email ("i am a banana"): mail: missing phrase`)
})
Convey("sending from a non-user, non-admin is an error", func() {
- mail.Testable().SetAdminEmails("Friendly <hello@example.com>")
+ mail.GetTestable(c).SetAdminEmails("Friendly <hello@example.com>")
- So(mail.Send(&mailS.Message{
+ So(mail.Send(c, &mail.Message{
Sender: "someone_else@example.com",
Subject: "Reminder",
Body: "I forgot",
@@ -176,54 +176,54 @@ func TestMail(t *testing.T) {
})
Convey("sending from a bogus address is a problem", func() {
- So(mail.Send(&mailS.Message{
+ So(mail.Send(c, &mail.Message{
Sender: "lalal",
}), ShouldErrLike, "unparsable Sender address: lalal: mail: missing phrase")
})
Convey("sending with no recipients is a problem", func() {
- So(mail.Send(&mailS.Message{
+ So(mail.Send(c, &mail.Message{
Sender: "admin@example.com",
}), ShouldErrLike, "one of To, Cc or Bcc must be non-empty")
})
Convey("bad addresses are a problem", func() {
- So(mail.Send(&mailS.Message{
+ So(mail.Send(c, &mail.Message{
Sender: "admin@example.com",
To: []string{"wut"},
}), ShouldErrLike, `invalid email ("wut"): mail: missing phrase`)
- So(mail.Send(&mailS.Message{
+ So(mail.Send(c, &mail.Message{
Sender: "admin@example.com",
Cc: []string{"wut"},
}), ShouldErrLike, `invalid email ("wut"): mail: missing phrase`)
- So(mail.Send(&mailS.Message{
+ So(mail.Send(c, &mail.Message{
Sender: "admin@example.com",
Bcc: []string{"wut"},
}), ShouldErrLike, `invalid email ("wut"): mail: missing phrase`)
})
Convey("no body is a problem", func() {
- So(mail.Send(&mailS.Message{
+ So(mail.Send(c, &mail.Message{
Sender: "admin@example.com",
To: []string{"wut@example.com"},
}), ShouldErrLike, `one of Body or HTMLBody must be non-empty`)
})
Convey("bad attachments are a problem", func() {
- So(mail.Send(&mailS.Message{
+ So(mail.Send(c, &mail.Message{
Sender: "admin@example.com",
To: []string{"wut@example.com"},
Body: "nice thing",
- Attachments: []mailS.Attachment{
+ Attachments: []mail.Attachment{
{Name: "nice.exe", Data: []byte("boom")},
},
}), ShouldErrLike, `illegal attachment extension for "nice.exe"`)
})
Convey("bad headers are a problem", func() {
- So(mail.SendToAdmins(&mailS.Message{
+ So(mail.SendToAdmins(c, &mail.Message{
Sender: "admin@example.com",
Subject: "Reminder",
Body: "I forgot",
« no previous file with comments | « impl/memory/mail.go ('k') | impl/memory/memcache.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698