func addLog(w http.ResponseWriter, r *http.Request, t auth.Token) error { queryValues := r.URL.Query() app, err := app.GetByName(queryValues.Get(":app")) if err != nil { return err } defer r.Body.Close() body, err := ioutil.ReadAll(r.Body) if err != nil { return err } var logs []string err = json.Unmarshal(body, &logs) source := queryValues.Get("source") if len(source) == 0 { source = "app" } unit := queryValues.Get("unit") for _, log := range logs { err := app.Log(log, source, unit) if err != nil { return err } } w.WriteHeader(http.StatusOK) return nil }
func (s *S) TestFakeAppHasLog(c *check.C) { app := NewFakeApp("sou", "otm", 0) app.Log("something happened", "[tsuru]", "[api]") c.Assert(app.HasLog("[tsuru]", "[api]", "something happened"), check.Equals, true) c.Assert(app.HasLog("tsuru", "api", "something happened"), check.Equals, false) }
func (s *S) TestFakeAppLogs(c *check.C) { app := NewFakeApp("sou", "otm", 0) app.Log("something happened", "[tsuru]", "[api]") c.Assert(app.Logs(), check.DeepEquals, []string{"[tsuru][api]something happened"}) }