func TestNotifications(t *testing.T) { Convey("Given the notifications service", t, func() { bus.ClearBusHandlers() setting.StaticRootPath = "../../../public/" setting.Smtp.Enabled = true setting.Smtp.TemplatesPattern = "emails/*.html" setting.Smtp.FromAddress = "*****@*****.**" err := Init() So(err, ShouldBeNil) var sentMsg *Message addToMailQueue = func(msg *Message) { sentMsg = msg } Convey("When sending reset email password", func() { err := sendResetPasswordEmail(&m.SendResetPasswordEmailCommand{User: &m.User{Email: "*****@*****.**"}}) So(err, ShouldBeNil) So(sentMsg.Body, ShouldContainSubstring, "body") So(sentMsg.Subject, ShouldEqual, "Reset your Grafana password - [email protected]") So(sentMsg.Body, ShouldNotContainSubstring, "Subject") }) }) }
func ldapAutherScenario(desc string, fn scenarioFunc) { Convey(desc, func() { defer bus.ClearBusHandlers() sc := &scenarioContext{} bus.AddHandler("test", func(cmd *m.CreateUserCommand) error { sc.createUserCmd = cmd sc.createUserCmd.Result = m.User{Login: cmd.Login} return nil }) bus.AddHandler("test", func(cmd *m.AddOrgUserCommand) error { sc.addOrgUserCmd = cmd return nil }) bus.AddHandler("test", func(cmd *m.UpdateOrgUserCommand) error { sc.updateOrgUserCmd = cmd return nil }) bus.AddHandler("test", func(cmd *m.RemoveOrgUserCommand) error { sc.removeOrgUserCmd = cmd return nil }) fn(sc) }) }
func middlewareScenario(desc string, fn scenarioFunc) { Convey(desc, func() { defer bus.ClearBusHandlers() sc := &scenarioContext{} viewsPath, _ := filepath.Abs("../../public/views") sc.m = macaron.New() sc.m.Use(macaron.Renderer(macaron.RenderOptions{ Directory: viewsPath, Delims: macaron.Delims{Left: "[[", Right: "]]"}, })) sc.m.Use(GetContextHandler()) // mock out gc goroutine startSessionGC = func() {} sc.m.Use(Sessioner(&session.Options{})) sc.defaultHandler = func(c *Context) { sc.context = c if sc.handlerFunc != nil { sc.handlerFunc(sc.context) } } sc.m.Get("/", sc.defaultHandler) fn(sc) }) }