diff options
Diffstat (limited to 'vendor/github.com/goamz/goamz/exp/ses/ses_test.go')
-rw-r--r-- | vendor/github.com/goamz/goamz/exp/ses/ses_test.go | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/vendor/github.com/goamz/goamz/exp/ses/ses_test.go b/vendor/github.com/goamz/goamz/exp/ses/ses_test.go new file mode 100644 index 000000000..ae93215ed --- /dev/null +++ b/vendor/github.com/goamz/goamz/exp/ses/ses_test.go @@ -0,0 +1,69 @@ +// ses_test +package ses_test + +import ( + "bytes" + "net/url" + "testing" + + "github.com/goamz/goamz/aws" + "github.com/goamz/goamz/exp/ses" + "github.com/goamz/goamz/testutil" + . "gopkg.in/check.v1" +) + +func Test(t *testing.T) { + TestingT(t) +} + +type S struct { + ses *ses.SES +} + +var _ = Suite(&S{}) + +var testServer = testutil.NewHTTPServer() + +func (s *S) SetUpSuite(c *C) { + testServer.Start() + auth := aws.Auth{AccessKey: "abc", SecretKey: "123"} + s.ses = ses.NewSES(auth, aws.Region{Name: "faux-region-1", S3Endpoint: testServer.URL}) +} + +func (s *S) TearDownStrategy(c *C) { + +} + +func (s *S) SetUpTest(c *C) { + +} + +func (s *S) TearDownTest(c *C) { + testServer.Flush() +} + +func (s *S) TestSendEmail(c *C) { + testServer.Response(200, nil, "") + + email := ses.NewEmail() + email.AddTo("test@test.com") + email.AddSource("test@test.com") + email.SetSubject("test") + email.SetBodyHtml("test") + + s.ses.SendEmail(email) + req := testServer.WaitRequest() + + c.Assert(req.Method, Equals, "POST") + c.Assert(req.Header["Date"], Not(Equals), "") + + buf := new(bytes.Buffer) + buf.ReadFrom(req.Body) + body, _ := url.ParseQuery(buf.String()) + + c.Assert(body, Not(IsNil)) + c.Assert(body["Destination.ToAddresses.member.1"], Equals, "test@test.com") + c.Assert(body["Source"], Equals, "test@test.com") + c.Assert(body["Message.Subject.Data"], Equals, "test") + c.Assert(body["Message.Body.Html.Data"], Equals, "test") +} |