Example #1
0
		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))