Add 'sdk/java-v2/' from commit '55f103e336ca9fb8bf1720d2ef4ee8dd4e221118'
[arvados.git] / sdk / go / health / aggregator_test.go
index b66671b1e16f1c0839f9aa1165b1b042f6eb7c91..122355be987755b161d38a2e46e0bc2cc4f52208 100644 (file)
@@ -1,3 +1,7 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: Apache-2.0
+
 package health
 
 import (
@@ -30,7 +34,7 @@ func (s *AggregatorSuite) SetUpTest(c *check.C) {
                Clusters: map[string]arvados.Cluster{
                        "zzzzz": {
                                ManagementToken: arvadostest.ManagementToken,
-                               SystemNodes:     map[string]arvados.SystemNode{},
+                               NodeProfiles:    map[string]arvados.NodeProfile{},
                        },
                },
        }}
@@ -82,8 +86,8 @@ func (*unhealthyHandler) ServeHTTP(resp http.ResponseWriter, req *http.Request)
 func (s *AggregatorSuite) TestUnhealthy(c *check.C) {
        srv, listen := s.stubServer(&unhealthyHandler{})
        defer srv.Close()
-       s.handler.Config.Clusters["zzzzz"].SystemNodes["localhost"] = arvados.SystemNode{
-               Keepstore: arvados.Keepstore{Listen: listen},
+       s.handler.Config.Clusters["zzzzz"].NodeProfiles["localhost"] = arvados.NodeProfile{
+               Keepstore: arvados.SystemServiceInstance{Listen: listen},
        }
        s.handler.ServeHTTP(s.resp, s.req)
        s.checkUnhealthy(c)
@@ -102,14 +106,25 @@ func (*healthyHandler) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
 func (s *AggregatorSuite) TestHealthy(c *check.C) {
        srv, listen := s.stubServer(&healthyHandler{})
        defer srv.Close()
-       s.handler.Config.Clusters["zzzzz"].SystemNodes["localhost"] = arvados.SystemNode{
-               Keepstore: arvados.Keepstore{Listen: listen},
+       s.handler.Config.Clusters["zzzzz"].NodeProfiles["localhost"] = arvados.NodeProfile{
+               Controller:    arvados.SystemServiceInstance{Listen: listen},
+               DispatchCloud: arvados.SystemServiceInstance{Listen: listen},
+               Keepbalance:   arvados.SystemServiceInstance{Listen: listen},
+               Keepproxy:     arvados.SystemServiceInstance{Listen: listen},
+               Keepstore:     arvados.SystemServiceInstance{Listen: listen},
+               Keepweb:       arvados.SystemServiceInstance{Listen: listen},
+               Nodemanager:   arvados.SystemServiceInstance{Listen: listen},
+               RailsAPI:      arvados.SystemServiceInstance{Listen: listen},
+               Websocket:     arvados.SystemServiceInstance{Listen: listen},
+               Workbench:     arvados.SystemServiceInstance{Listen: listen},
        }
        s.handler.ServeHTTP(s.resp, s.req)
        resp := s.checkOK(c)
-       ep := resp.Checks["localhost/keepstore/_health/ping"]
+       svc := "keepstore+http://localhost" + listen + "/_health/ping"
+       c.Logf("%#v", resp)
+       ep := resp.Checks[svc]
        c.Check(ep.Health, check.Equals, "OK")
-       c.Check(ep.Status, check.Equals, 200)
+       c.Check(ep.HTTPStatusCode, check.Equals, 200)
 }
 
 func (s *AggregatorSuite) TestHealthyAndUnhealthy(c *check.C) {
@@ -117,20 +132,30 @@ func (s *AggregatorSuite) TestHealthyAndUnhealthy(c *check.C) {
        defer srvH.Close()
        srvU, listenU := s.stubServer(&unhealthyHandler{})
        defer srvU.Close()
-       s.handler.Config.Clusters["zzzzz"].SystemNodes["localhost"] = arvados.SystemNode{
-               Keepstore: arvados.Keepstore{Listen: listenH},
+       s.handler.Config.Clusters["zzzzz"].NodeProfiles["localhost"] = arvados.NodeProfile{
+               Controller:    arvados.SystemServiceInstance{Listen: listenH},
+               DispatchCloud: arvados.SystemServiceInstance{Listen: listenH},
+               Keepbalance:   arvados.SystemServiceInstance{Listen: listenH},
+               Keepproxy:     arvados.SystemServiceInstance{Listen: listenH},
+               Keepstore:     arvados.SystemServiceInstance{Listen: listenH},
+               Keepweb:       arvados.SystemServiceInstance{Listen: listenH},
+               Nodemanager:   arvados.SystemServiceInstance{Listen: listenH},
+               RailsAPI:      arvados.SystemServiceInstance{Listen: listenH},
+               Websocket:     arvados.SystemServiceInstance{Listen: listenH},
+               Workbench:     arvados.SystemServiceInstance{Listen: listenH},
        }
-       s.handler.Config.Clusters["zzzzz"].SystemNodes["127.0.0.1"] = arvados.SystemNode{
-               Keepstore: arvados.Keepstore{Listen: listenU},
+       s.handler.Config.Clusters["zzzzz"].NodeProfiles["127.0.0.1"] = arvados.NodeProfile{
+               Keepstore: arvados.SystemServiceInstance{Listen: listenU},
        }
        s.handler.ServeHTTP(s.resp, s.req)
        resp := s.checkUnhealthy(c)
-       ep := resp.Checks["localhost/keepstore/_health/ping"]
+       ep := resp.Checks["keepstore+http://localhost"+listenH+"/_health/ping"]
        c.Check(ep.Health, check.Equals, "OK")
-       c.Check(ep.Status, check.Equals, 200)
-       ep = resp.Checks["127.0.0.1/keepstore/_health/ping"]
+       c.Check(ep.HTTPStatusCode, check.Equals, 200)
+       ep = resp.Checks["keepstore+http://127.0.0.1"+listenU+"/_health/ping"]
        c.Check(ep.Health, check.Equals, "ERROR")
-       c.Check(ep.Status, check.Equals, 200)
+       c.Check(ep.HTTPStatusCode, check.Equals, 200)
+       c.Logf("%#v", ep)
 }
 
 func (s *AggregatorSuite) checkError(c *check.C) {
@@ -173,14 +198,14 @@ func (s *AggregatorSuite) TestPingTimeout(c *check.C) {
        s.handler.timeout = arvados.Duration(100 * time.Millisecond)
        srv, listen := s.stubServer(&slowHandler{})
        defer srv.Close()
-       s.handler.Config.Clusters["zzzzz"].SystemNodes["localhost"] = arvados.SystemNode{
-               Keepstore: arvados.Keepstore{Listen: listen},
+       s.handler.Config.Clusters["zzzzz"].NodeProfiles["localhost"] = arvados.NodeProfile{
+               Keepstore: arvados.SystemServiceInstance{Listen: listen},
        }
        s.handler.ServeHTTP(s.resp, s.req)
        resp := s.checkUnhealthy(c)
-       ep := resp.Checks["localhost/keepstore/_health/ping"]
+       ep := resp.Checks["keepstore+http://localhost"+listen+"/_health/ping"]
        c.Check(ep.Health, check.Equals, "ERROR")
-       c.Check(ep.Status, check.Equals, 0)
+       c.Check(ep.HTTPStatusCode, check.Equals, 0)
        rt, err := ep.ResponseTime.Float64()
        c.Check(err, check.IsNil)
        c.Check(rt > 0.005, check.Equals, true)