9998: Handle timestamp collisions in collection index.
[arvados.git] / services / keep-balance / balance_run_test.go
index 23d74fe1198a4f9b91f840624b06af3ccbbe4ccb..02080329ec2baf1d9dd17feac8c6dd9719bff110 100644 (file)
@@ -138,7 +138,9 @@ func (s *stubServer) serveCollectionsButSkipOne() *reqTracker {
                rt.Add(r)
                if strings.Contains(r.Form.Get("filters"), `"modified_at","\u003c="`) {
                        io.WriteString(w, `{"items_available":3,"items":[]}`)
-               } else if strings.Contains(r.Form.Get("filters"), `"modified_at","\u003e="`) {
+               } else if strings.Contains(r.Form.Get("filters"), `"modified_at","\u003e`) {
+                       io.WriteString(w, `{"items_available":0,"items":[]}`)
+               } else if strings.Contains(r.Form.Get("filters"), `"modified_at","="`) && strings.Contains(r.Form.Get("filters"), `"uuid","\u003e"`) {
                        io.WriteString(w, `{"items_available":0,"items":[]}`)
                } else {
                        io.WriteString(w, `{"items_available":2,"items":[
@@ -302,7 +304,7 @@ func (s *runSuite) TestDryRun(c *check.C) {
                Logger:      s.logger(c),
        }
        s.stub.serveCurrentUserAdmin()
-       s.stub.serveFooBarFileCollections()
+       collReqs := s.stub.serveFooBarFileCollections()
        s.stub.serveFourDiskKeepServices()
        s.stub.serveKeepstoreIndexFoo4Bar1()
        trashReqs := s.stub.serveKeepstoreTrash()
@@ -310,6 +312,9 @@ func (s *runSuite) TestDryRun(c *check.C) {
        var bal Balancer
        _, err := bal.Run(s.config, opts)
        c.Check(err, check.IsNil)
+       for _, req := range collReqs.reqs {
+               c.Check(req.Form.Get("include_trash"), check.Equals, "true")
+       }
        c.Check(trashReqs.Count(), check.Equals, 0)
        c.Check(pullReqs.Count(), check.Equals, 0)
        stats := bal.getStatistics()