projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
14285: Add token middleware. Require management token for metrics.
[arvados.git]
/
services
/
keepstore
/
mounts_test.go
diff --git
a/services/keepstore/mounts_test.go
b/services/keepstore/mounts_test.go
index 883aa712e3db0bdcb8fee2eb0a583affd3150e53..31b1a684fe6a077ebbbfebf7bb846f6f508a00b5 100644
(file)
--- a/
services/keepstore/mounts_test.go
+++ b/
services/keepstore/mounts_test.go
@@
-27,8
+27,9
@@
func (s *MountsSuite) SetUpTest(c *check.C) {
KeepVM = s.vm
theConfig = DefaultConfig()
theConfig.systemAuthToken = arvadostest.DataManagerToken
KeepVM = s.vm
theConfig = DefaultConfig()
theConfig.systemAuthToken = arvadostest.DataManagerToken
+ theConfig.ManagementToken = arvadostest.ManagementToken
theConfig.Start()
theConfig.Start()
- s.rtr = MakeRESTRouter()
+ s.rtr = MakeRESTRouter(
testCluster
)
}
func (s *MountsSuite) TearDownTest(c *check.C) {
}
func (s *MountsSuite) TearDownTest(c *check.C) {
@@
-46,11
+47,11
@@
func (s *MountsSuite) TestMounts(c *check.C) {
resp := s.call("GET", "/mounts", "", nil)
c.Check(resp.Code, check.Equals, http.StatusOK)
var mntList []struct {
resp := s.call("GET", "/mounts", "", nil)
c.Check(resp.Code, check.Equals, http.StatusOK)
var mntList []struct {
- UUID
string
- DeviceID
string
- ReadOnly
bool
- Replication
int
- Tier int
+ UUID
string `json:"uuid"`
+ DeviceID
string `json:"device_id"`
+ ReadOnly
bool `json:"read_only"`
+ Replication
int `json:"replication"`
+ StorageClasses []string `json:"storage_classes"`
}
err := json.Unmarshal(resp.Body.Bytes(), &mntList)
c.Assert(err, check.IsNil)
}
err := json.Unmarshal(resp.Body.Bytes(), &mntList)
c.Assert(err, check.IsNil)
@@
-61,7
+62,7
@@
func (s *MountsSuite) TestMounts(c *check.C) {
c.Check(m.DeviceID, check.Equals, "mock-device-id")
c.Check(m.ReadOnly, check.Equals, false)
c.Check(m.Replication, check.Equals, 1)
c.Check(m.DeviceID, check.Equals, "mock-device-id")
c.Check(m.ReadOnly, check.Equals, false)
c.Check(m.Replication, check.Equals, 1)
- c.Check(m.
Tier, check.Equals, 1
)
+ c.Check(m.
StorageClasses, check.DeepEquals, []string{"default"}
)
}
c.Check(mntList[0].UUID, check.Not(check.Equals), mntList[1].UUID)
}
c.Check(mntList[0].UUID, check.Not(check.Equals), mntList[1].UUID)
@@
-104,6
+105,10
@@
func (s *MountsSuite) TestMetrics(c *check.C) {
s.call("PUT", "/"+TestHash, "", TestBlock)
s.call("PUT", "/"+TestHash2, "", TestBlock2)
resp := s.call("GET", "/metrics.json", "", nil)
s.call("PUT", "/"+TestHash, "", TestBlock)
s.call("PUT", "/"+TestHash2, "", TestBlock2)
resp := s.call("GET", "/metrics.json", "", nil)
+ c.Check(resp.Code, check.Equals, http.StatusUnauthorized)
+ resp = s.call("GET", "/metrics.json", "foobar", nil)
+ c.Check(resp.Code, check.Equals, http.StatusForbidden)
+ resp = s.call("GET", "/metrics.json", arvadostest.ManagementToken, nil)
c.Check(resp.Code, check.Equals, http.StatusOK)
var j []struct {
Name string
c.Check(resp.Code, check.Equals, http.StatusOK)
var j []struct {
Name string
@@
-144,7
+149,7
@@
func (s *MountsSuite) call(method, path, tok string, body []byte) *httptest.Resp
resp := httptest.NewRecorder()
req, _ := http.NewRequest(method, path, bytes.NewReader(body))
if tok != "" {
resp := httptest.NewRecorder()
req, _ := http.NewRequest(method, path, bytes.NewReader(body))
if tok != "" {
- req.Header.Set("Authorization", "
OAuth2
"+tok)
+ req.Header.Set("Authorization", "
Bearer
"+tok)
}
s.rtr.ServeHTTP(resp, req)
return resp
}
s.rtr.ServeHTTP(resp, req)
return resp