12461: Avoid race bug in Rails file cache.
[arvados.git] / services / ws / server_test.go
index da7440d0e0b98e10092b434655fa0b399d502066..c1caa2ad37d31d40f962fbc1af8d43f05f18a5a9 100644 (file)
@@ -1,3 +1,7 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
 package main
 
 import (
@@ -65,6 +69,7 @@ func (s *serverSuite) TestBadDB(c *check.C) {
 
 func (s *serverSuite) TestHealth(c *check.C) {
        go s.srv.Run()
+       defer s.srv.Close()
        s.srv.WaitReady()
        for _, token := range []string{"", "foo", s.cfg.ManagementToken} {
                req, err := http.NewRequest("GET", "http://"+s.srv.listener.Addr().String()+"/_health/ping", nil)
@@ -84,3 +89,20 @@ func (s *serverSuite) TestHealth(c *check.C) {
                }
        }
 }
+
+func (s *serverSuite) TestHealthDisabled(c *check.C) {
+       s.cfg.ManagementToken = ""
+
+       go s.srv.Run()
+       defer s.srv.Close()
+       s.srv.WaitReady()
+
+       for _, token := range []string{"", "foo", arvadostest.ManagementToken} {
+               req, err := http.NewRequest("GET", "http://"+s.srv.listener.Addr().String()+"/_health/ping", nil)
+               c.Assert(err, check.IsNil)
+               req.Header.Add("Authorization", "Bearer "+token)
+               resp, err := http.DefaultClient.Do(req)
+               c.Check(err, check.IsNil)
+               c.Check(resp.StatusCode, check.Equals, http.StatusNotFound)
+       }
+}