def test_metrics_since_aggregate(self): """Tests the ``metrics_since`` template tag when displaying metric aggregate history.""" slugs = ['test-a', 'test-b'] years = 5 link_type = "aggregate" granularity = "weekly" now = datetime(2014, 7, 4) module = 'redis_metrics.templatetags.redis_metric_tags.datetime' with patch(module) as mock_datetime: mock_datetime.utcnow.return_value = now result = taglib.metrics_since(slugs, years, link_type, granularity) self.assertIn('link_type', result.keys()) self.assertIn('slug_values', result.keys()) self.assertEqual(result['link_type'], link_type) # Verify contents of `slug_values` # There should be entries for each year + 5 additional periods. slugs = "+".join(slugs) expected = [ (slugs, now - timedelta(days=1), "Today", granularity), (slugs, now - timedelta(days=7), "1 Week", granularity), (slugs, now - timedelta(days=30), "30 Days", granularity), (slugs, now - timedelta(days=60), "60 Days", granularity), (slugs, now - timedelta(days=90), "90 Days", granularity), (slugs, now - timedelta(days=365), "1 Years", granularity), (slugs, now - timedelta(days=365 * 2), "2 Years", granularity), (slugs, now - timedelta(days=365 * 3), "3 Years", granularity), (slugs, now - timedelta(days=365 * 4), "4 Years", granularity), (slugs, now - timedelta(days=365 * 5), "5 Years", granularity), ] self.assertEqual(expected, result['slug_values'])
def test_metrics_since_aggregate(self): """Tests the ``metrics_since`` template tag when displaying metric aggregate history.""" slugs = ['test-a', 'test-b'] years = 5 link_type = "aggregate" granularity = "weekly" now = datetime(2014, 7, 4) module = 'redis_metrics.templatetags.redis_metric_tags.datetime' with patch(module) as mock_datetime: mock_datetime.utcnow.return_value = now result = taglib.metrics_since(slugs, years, link_type, granularity) self.assertIn('link_type', result.keys()) self.assertIn('slug_values', result.keys()) self.assertEqual(result['link_type'], link_type) # Verify contents of `slug_values` # There should be entries for each year + 5 additional periods. slugs = "+".join(slugs) expected = [ (slugs, now - timedelta(days=1), "Today", granularity), (slugs, now - timedelta(days=7), "1 Week", granularity), (slugs, now - timedelta(days=30), "30 Days", granularity), (slugs, now - timedelta(days=60), "60 Days", granularity), (slugs, now - timedelta(days=90), "90 Days", granularity), (slugs, now - timedelta(days=365), "1 Years", granularity), (slugs, now - timedelta(days=365 * 2), "2 Years", granularity), (slugs, now - timedelta(days=365 * 3), "3 Years", granularity), (slugs, now - timedelta(days=365 * 4), "4 Years", granularity), (slugs, now - timedelta(days=365 * 5), "5 Years", granularity), ] self.assertEqual(expected, result['slug_values'])
def test_metrics_since_aggregate(self): """Tests the ``metrics_since`` template tag when displaying metric aggregate history.""" slugs = ['test-a', 'test-b'] years = 5 link_type = "aggregate" granularity = "weekly" t = datetime.today() result = taglib.metrics_since(slugs, years, link_type, granularity) self.assertIn('link_type', result.keys()) self.assertIn('slug_values', result.keys()) self.assertEqual(result['link_type'], link_type) # Verify contents of `slug_values` self.assertEqual(len(result['slug_values']), years) self.assertEqual( [s for s, d, y, g in result['slug_values']], ["+".join(slugs) for y in range(years)] ) expected_dates = [ (t - timedelta(days=365 * y)).strftime("%Y-%m-%d") for y in range(1, years + 1) ] self.assertEqual( [d.strftime("%Y-%m-%d") for s, d, y, g in result['slug_values']], expected_dates ) self.assertEqual( [y for s, d, y, g in result['slug_values']], range(1, years + 1) ) self.assertEqual( [g for s, d, y, g in result['slug_values']], [granularity for y in range(years)] )
def test_metrics_since_history(self): """Tests the ``metrics_since`` template tag when displaying metric history.""" slug = "test-slug" years = 5 link_type = "history" t = datetime.today() result = taglib.metrics_since(slug, years, link_type) self.assertIn('link_type', result.keys()) self.assertIn('slug_values', result.keys()) self.assertEqual(result['link_type'], link_type) # Verify contents of `slug_values` self.assertEqual(len(result['slug_values']), years) self.assertEqual( [s for s, d, y, g in result['slug_values']], [slug for y in range(years)] ) expected_dates = [ (t - timedelta(days=365 * y)).strftime("%Y-%m-%d") for y in range(1, years + 1) ] self.assertEqual( [d.strftime("%Y-%m-%d") for s, d, y, g in result['slug_values']], expected_dates ) self.assertEqual( [y for s, d, y, g in result['slug_values']], range(1, years + 1) ) self.assertEqual( [g for s, d, y, g in result['slug_values']], ['daily' for y in range(years)] )