c := redigomock.NewFakeRedis() db = filter.NewDbConnector(&redis.Pool{ MaxIdle: 3, IdleTimeout: 240 * time.Second, Dial: func() (redis.Conn, error) { return c, nil }, }) for _, pattern := range testPatterns { c.Do("SADD", "moira-pattern-list", pattern) } filter.InitGraphiteMetrics() patterns = filter.NewPatternStorage() patterns.DoRefresh(db) cache = &filter.CacheStorage{} cache.BuildRetentions(bufio.NewScanner(strings.NewReader(testRetentions))) }) Context("When invalid metric arrives", func() { BeforeEach(func() { for _, metric := range invalidRawMetrics { process(metric) } }) It("should be properly counted", func() { filter.UpdateProcessingMetrics() Expect(int(filter.TotalMetricsReceived.Count())).To(Equal(len(invalidRawMetrics))) Expect(int(filter.ValidMetricsReceived.Count())).To(Equal(0))