Merge branch 'master' into 13822-nm-delayed-daemon
[arvados.git] / sdk / go / httpserver / logger_test.go
index 5b54f32c4a7be3d3b6faf1b6d0c9631a2a23c0f4..bdde3303e2f97c35b45e73c1dd207f30e521e13d 100644 (file)
@@ -9,11 +9,10 @@ import (
        "encoding/json"
        "net/http"
        "net/http/httptest"
-       "os"
        "testing"
        "time"
 
-       log "github.com/Sirupsen/logrus"
+       "github.com/Sirupsen/logrus"
        check "gopkg.in/check.v1"
 )
 
@@ -26,12 +25,13 @@ var _ = check.Suite(&Suite{})
 type Suite struct{}
 
 func (s *Suite) TestLogRequests(c *check.C) {
-       defer log.SetOutput(os.Stdout)
        captured := &bytes.Buffer{}
-       log.SetOutput(captured)
-       log.SetFormatter(&log.JSONFormatter{
+       log := logrus.New()
+       log.Out = captured
+       log.Formatter = &logrus.JSONFormatter{
                TimestampFormat: time.RFC3339Nano,
-       })
+       }
+
        h := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
                w.Write([]byte("hello world"))
        })
@@ -39,14 +39,14 @@ func (s *Suite) TestLogRequests(c *check.C) {
        req.Header.Set("X-Forwarded-For", "1.2.3.4:12345")
        c.Assert(err, check.IsNil)
        resp := httptest.NewRecorder()
-       AddRequestIDs(LogRequests(h)).ServeHTTP(resp, req)
+       AddRequestIDs(LogRequests(log, h)).ServeHTTP(resp, req)
 
        dec := json.NewDecoder(captured)
 
        gotReq := make(map[string]interface{})
        err = dec.Decode(&gotReq)
        c.Logf("%#v", gotReq)
-       c.Check(gotReq["RequestID"], check.Matches, "req-[a-z0-9]+")
+       c.Check(gotReq["RequestID"], check.Matches, "req-[a-z0-9]{20}")
        c.Check(gotReq["reqForwardedFor"], check.Equals, "1.2.3.4:12345")
        c.Check(gotReq["msg"], check.Equals, "request")