8 "git.curoverse.com/arvados.git/sdk/go/arvados"
9 "git.curoverse.com/arvados.git/sdk/go/arvadostest"
13 type AggregatorSuite struct {
16 resp *httptest.ResponseRecorder
19 // Gocheck boilerplate
20 var _ = check.Suite(&AggregatorSuite{})
22 func (s *AggregatorSuite) TestInterface(c *check.C) {
23 var _ http.Handler = &Aggregator{}
26 func (s *AggregatorSuite) SetUpTest(c *check.C) {
27 s.handler = &Aggregator{Config: &arvados.Config{
28 Clusters: map[string]arvados.Cluster{
30 ManagementToken: arvadostest.ManagementToken,
31 SystemNodes: map[string]arvados.SystemNode{},
35 s.req = httptest.NewRequest("GET", "/_health/all", nil)
36 s.req.Header.Set("Authorization", "Bearer "+arvadostest.ManagementToken)
37 s.resp = httptest.NewRecorder()
40 func (s *AggregatorSuite) TestNoAuth(c *check.C) {
41 s.req.Header.Del("Authorization")
42 s.handler.ServeHTTP(s.resp, s.req)
44 c.Check(s.resp.Code, check.Equals, http.StatusUnauthorized)
47 func (s *AggregatorSuite) TestBadAuth(c *check.C) {
48 s.req.Header.Set("Authorization", "xyzzy")
49 s.handler.ServeHTTP(s.resp, s.req)
51 c.Check(s.resp.Code, check.Equals, http.StatusUnauthorized)
54 func (s *AggregatorSuite) TestEmptyConfig(c *check.C) {
55 s.handler.ServeHTTP(s.resp, s.req)
59 func (s *AggregatorSuite) checkError(c *check.C) {
60 c.Check(s.resp.Code, check.Not(check.Equals), http.StatusOK)
61 var body map[string]interface{}
62 err := json.NewDecoder(s.resp.Body).Decode(&body)
63 c.Check(err, check.IsNil)
64 c.Check(body["health"], check.Not(check.Equals), "OK")
67 func (s *AggregatorSuite) checkOK(c *check.C) {
68 c.Check(s.resp.Code, check.Equals, http.StatusOK)
69 var body map[string]interface{}
70 err := json.NewDecoder(s.resp.Body).Decode(&body)
71 c.Check(err, check.IsNil)
72 c.Check(body["health"], check.Equals, "OK")