def testTrimMetricCacheMaxMetric(self): metric_storer.MAX_CACHED_METRICS = 5 metric_storer.CACHED_METRICS_TO_KEEP = 3 startDT = datetime.datetime.utcnow() m1 = (MagicMock(), startDT) m2 = (MagicMock(), startDT) m3 = (MagicMock(), startDT) m4 = (MagicMock(), startDT) m5 = (MagicMock(), startDT) metric_storer.gCustomMetrics = { "m1": m1, "m2": m2, "m3": m3, "m4": m4, "m5": m5 } metric_storer._trimMetricCache() self.assertDictEqual(metric_storer.gCustomMetrics, { "m1": m1, "m2": m2, "m3": m3, "m4": m4, "m5": m5 })
def testTrimMetricCacheOverLimit(self): metric_storer.MAX_CACHED_METRICS = 5 metric_storer.CACHED_METRICS_TO_KEEP = 3 startDT = datetime.datetime.utcnow() td = datetime.timedelta(minutes=1) m1 = (MagicMock(), startDT - (td * 5)) m2 = (MagicMock(), startDT - (td * 4)) m3 = (MagicMock(), startDT - (td * 3)) m4 = (MagicMock(), startDT - (td * 2)) m5 = (MagicMock(), startDT - td) m6 = (MagicMock(), startDT) metric_storer.gCustomMetrics = { "m1": m1, "m2": m2, "m3": m3, "m4": m4, "m5": m5, "m6": m6 } metric_storer._trimMetricCache() self.assertDictEqual(metric_storer.gCustomMetrics, { "m4": m4, "m5": m5, "m6": m6 })
def testTrimMetricCacheNoMetrics(self): metric_storer.MAX_CACHED_METRICS = 5 metric_storer.CACHED_METRICS_TO_KEEP = 3 metric_storer.gCustomMetrics = {} metric_storer._trimMetricCache() self.assertDictEqual(metric_storer.gCustomMetrics, {})
def testTrimMetricCacheOneMetric(self): metric_storer.MAX_CACHED_METRICS = 5 metric_storer.CACHED_METRICS_TO_KEEP = 3 m1 = (MagicMock(), datetime.datetime.utcnow()) metric_storer.gCustomMetrics = {"m1": m1} metric_storer._trimMetricCache() self.assertDictEqual(metric_storer.gCustomMetrics, {"m1": m1})
def testTrimMetricCacheMaxMetric(self): metric_storer.MAX_CACHED_METRICS = 5 metric_storer.CACHED_METRICS_TO_KEEP = 3 startDT = datetime.datetime.utcnow() m1 = (MagicMock(), startDT) m2 = (MagicMock(), startDT) m3 = (MagicMock(), startDT) m4 = (MagicMock(), startDT) m5 = (MagicMock(), startDT) metric_storer.gCustomMetrics = {"m1": m1, "m2": m2, "m3": m3, "m4": m4, "m5": m5} metric_storer._trimMetricCache() self.assertDictEqual(metric_storer.gCustomMetrics, {"m1": m1, "m2": m2, "m3": m3, "m4": m4, "m5": m5})
def testTrimMetricCacheOverLimit(self): metric_storer.MAX_CACHED_METRICS = 5 metric_storer.CACHED_METRICS_TO_KEEP = 3 startDT = datetime.datetime.utcnow() td = datetime.timedelta(minutes=1) m1 = (MagicMock(), startDT - (td * 5)) m2 = (MagicMock(), startDT - (td * 4)) m3 = (MagicMock(), startDT - (td * 3)) m4 = (MagicMock(), startDT - (td * 2)) m5 = (MagicMock(), startDT - td) m6 = (MagicMock(), startDT) metric_storer.gCustomMetrics = {"m1": m1, "m2": m2, "m3": m3, "m4": m4, "m5": m5, "m6": m6} metric_storer._trimMetricCache() self.assertDictEqual(metric_storer.gCustomMetrics, {"m4": m4, "m5": m5, "m6": m6})