8123: Fix crunchstat formatting error and resulting crunchstat-summary crash.
[arvados.git] / services / keep-web / server_test.go
index 80d95c0b412d7414a2d5aa6d6eac112ca3cd966b..cda8b17d0547c62f3fdcc49825b2d9344d58e271 100644 (file)
@@ -50,14 +50,18 @@ func (s *IntegrationSuite) TestNoToken(c *check.C) {
 // really works against the server.
 func (s *IntegrationSuite) Test404(c *check.C) {
        for _, uri := range []string{
-               // Routing errors
+               // Routing errors (always 404 regardless of what's stored in Keep)
                "/",
                "/foo",
                "/download",
                "/collections",
                "/collections/",
+               // Implicit/generated index is not implemented yet;
+               // until then, return 404.
                "/collections/" + arvadostest.FooCollection,
                "/collections/" + arvadostest.FooCollection + "/",
+               "/collections/" + arvadostest.FooBarDirCollection + "/dir1",
+               "/collections/" + arvadostest.FooBarDirCollection + "/dir1/",
                // Non-existent file in collection
                "/collections/" + arvadostest.FooCollection + "/theperthcountyconspiracy",
                "/collections/download/" + arvadostest.FooCollection + "/" + arvadostest.ActiveToken + "/theperthcountyconspiracy",
@@ -120,7 +124,6 @@ func (s *IntegrationSuite) test100BlockFile(c *check.C, blocksize int) {
 }
 
 type curlCase struct {
-       id      string
        auth    string
        host    string
        path    string
@@ -129,13 +132,6 @@ type curlCase struct {
 
 func (s *IntegrationSuite) Test200(c *check.C) {
        anonymousTokens = []string{arvadostest.AnonymousToken}
-       arv, err := arvadosclient.MakeArvadosClient()
-       c.Assert(err, check.Equals, nil)
-       arv.ApiToken = arvadostest.ActiveToken
-       kc, err := keepclient.MakeKeepClient(&arv)
-       c.Assert(err, check.Equals, nil)
-       kc.PutB([]byte("Hello world\n"))
-       kc.PutB([]byte("foo"))
        for _, spec := range []curlCase{
                // My collection
                {
@@ -144,6 +140,12 @@ func (s *IntegrationSuite) Test200(c *check.C) {
                        path:    "/foo",
                        dataMD5: "acbd18db4cc2f85cedef654fccc4a4d8",
                },
+               {
+                       auth:    arvadostest.ActiveToken,
+                       host:    arvadostest.FooCollection + ".collections.example.com",
+                       path:    "/foo",
+                       dataMD5: "acbd18db4cc2f85cedef654fccc4a4d8",
+               },
                {
                        host:    strings.Replace(arvadostest.FooPdh, "+", "-", 1) + ".collections.example.com",
                        path:    "/t=" + arvadostest.ActiveToken + "/foo",
@@ -177,7 +179,7 @@ func (s *IntegrationSuite) Test200(c *check.C) {
                        dataMD5: "acbd18db4cc2f85cedef654fccc4a4d8",
                },
 
-               // Anonymously accessible user agreement
+               // Anonymously accessible data
                {
                        path:    "/c=" + arvadostest.HelloWorldCollection + "/Hello%20world.txt",
                        dataMD5: "f0ef7081e1539ac00ef5b761b4fb01b3",
@@ -280,11 +282,20 @@ func (s *IntegrationSuite) runCurl(c *check.C, token, host, uri string, args ...
 
 func (s *IntegrationSuite) SetUpSuite(c *check.C) {
        arvadostest.StartAPI()
-       arvadostest.StartKeep()
+       arvadostest.StartKeep(2, true)
+
+       arv, err := arvadosclient.MakeArvadosClient()
+       c.Assert(err, check.Equals, nil)
+       arv.ApiToken = arvadostest.ActiveToken
+       kc, err := keepclient.MakeKeepClient(&arv)
+       c.Assert(err, check.Equals, nil)
+       kc.PutB([]byte("Hello world\n"))
+       kc.PutB([]byte("foo"))
+       kc.PutB([]byte("foobar"))
 }
 
 func (s *IntegrationSuite) TearDownSuite(c *check.C) {
-       arvadostest.StopKeep()
+       arvadostest.StopKeep(2)
        arvadostest.StopAPI()
 }