18790: Add arvados-client logs command.
[arvados.git] / lib / controller / handler_test.go
index fe31c1d106610f48e9669d5a75680e2a7df49945..76eab9ca1568c1e1f134489fb70d9e732d5e9bae 100644 (file)
@@ -568,16 +568,17 @@ func (s *HandlerSuite) TestLogLimiting(c *check.C) {
        s.handler.Cluster.API.MaxConcurrentRequests = 2
        s.handler.Cluster.API.LogCreateRequestFraction = 0.5
 
-       // Log create succeeds
-       for i := 0; i < 2; i++ {
-               req := httptest.NewRequest("POST", "/arvados/v1/logs", strings.NewReader(`{
+       logreq := httptest.NewRequest("POST", "/arvados/v1/logs", strings.NewReader(`{
                        "log": {
                           "event_type": "test"
                        }
                }`))
-               req.Header.Set("Authorization", "Bearer "+arvadostest.ActiveToken)
+       logreq.Header.Set("Authorization", "Bearer "+arvadostest.ActiveToken)
+
+       // Log create succeeds
+       for i := 0; i < 2; i++ {
                resp := httptest.NewRecorder()
-               s.handler.ServeHTTP(resp, req)
+               s.handler.ServeHTTP(resp, logreq)
                c.Check(resp.Code, check.Equals, http.StatusOK)
                var lg arvados.Log
                err := json.Unmarshal(resp.Body.Bytes(), &lg)
@@ -589,18 +590,12 @@ func (s *HandlerSuite) TestLogLimiting(c *check.C) {
        s.handler.limitLogCreate <- struct{}{}
 
        // Log create should be rejected now
-       req := httptest.NewRequest("POST", "/arvados/v1/logs", strings.NewReader(`{
-                       "log": {
-                          "event_type": "test"
-                       }
-               }`))
-       req.Header.Set("Authorization", "Bearer "+arvadostest.ActiveToken)
        resp := httptest.NewRecorder()
-       s.handler.ServeHTTP(resp, req)
+       s.handler.ServeHTTP(resp, logreq)
        c.Check(resp.Code, check.Equals, http.StatusServiceUnavailable)
 
        // Other requests still succeed
-       req = httptest.NewRequest("GET", "/arvados/v1/users/current", nil)
+       req := httptest.NewRequest("GET", "/arvados/v1/users/current", nil)
        req.Header.Set("Authorization", "Bearer "+arvadostest.ActiveToken)
        resp = httptest.NewRecorder()
        s.handler.ServeHTTP(resp, req)
@@ -611,28 +606,16 @@ func (s *HandlerSuite) TestLogLimiting(c *check.C) {
        c.Check(u.UUID, check.Equals, arvadostest.ActiveUserUUID)
 
        // log create still fails
-       req = httptest.NewRequest("POST", "/arvados/v1/logs", strings.NewReader(`{
-                       "log": {
-                          "event_type": "test"
-                       }
-               }`))
-       req.Header.Set("Authorization", "Bearer "+arvadostest.ActiveToken)
        resp = httptest.NewRecorder()
-       s.handler.ServeHTTP(resp, req)
+       s.handler.ServeHTTP(resp, logreq)
        c.Check(resp.Code, check.Equals, http.StatusServiceUnavailable)
 
        // Pretend in-flight log is done
        <-s.handler.limitLogCreate
 
        // log create succeeds again
-       req = httptest.NewRequest("POST", "/arvados/v1/logs", strings.NewReader(`{
-                       "log": {
-                          "event_type": "test"
-                       }
-               }`))
-       req.Header.Set("Authorization", "Bearer "+arvadostest.ActiveToken)
        resp = httptest.NewRecorder()
-       s.handler.ServeHTTP(resp, req)
+       s.handler.ServeHTTP(resp, logreq)
        c.Check(resp.Code, check.Equals, http.StatusOK)
 
 }