- c.Check(cache.Stats().Requests, check.Equals, uint64(7))
- c.Check(cache.Stats().CollectionHits, check.Equals, uint64(6))
- c.Check(cache.Stats().PermissionHits, check.Equals, uint64(5))
- c.Check(cache.Stats().PDHHits, check.Equals, uint64(4))
- c.Check(cache.Stats().APICalls, check.Equals, uint64(2))
+ s.checkCacheMetrics(c, cache.registry,
+ "requests 27",
+ "hits 23",
+ "pdh_hits 22",
+ "api_calls 4")
+}
+
+func (s *UnitSuite) TestCacheForceReloadByPDH(c *check.C) {
+ arv, err := arvadosclient.MakeArvadosClient()
+ c.Assert(err, check.Equals, nil)
+
+ cache := newConfig(ctxlog.TestLogger(c), s.Config).Cache
+ cache.registry = prometheus.NewRegistry()
+
+ for _, forceReload := range []bool{false, true, false, true} {
+ _, err := cache.Get(arv, arvadostest.FooCollectionPDH, forceReload)
+ c.Check(err, check.Equals, nil)
+ }
+
+ s.checkCacheMetrics(c, cache.registry,
+ "requests 4",
+ "hits 3",
+ "pdh_hits 0",
+ "api_calls 1")
+}
+
+func (s *UnitSuite) TestCacheForceReloadByUUID(c *check.C) {
+ arv, err := arvadosclient.MakeArvadosClient()
+ c.Assert(err, check.Equals, nil)
+
+ cache := newConfig(ctxlog.TestLogger(c), s.Config).Cache
+ cache.registry = prometheus.NewRegistry()
+
+ for _, forceReload := range []bool{false, true, false, true} {
+ _, err := cache.Get(arv, arvadostest.FooCollection, forceReload)
+ c.Check(err, check.Equals, nil)
+ }
+
+ s.checkCacheMetrics(c, cache.registry,
+ "requests 4",
+ "hits 3",
+ "pdh_hits 3",
+ "api_calls 3")