def test_filters(self): e1 = EventExpression('request', 'elapsed_ms').eq('path', '/') e2 = e1.gt('elapsed_ms', 500) self.assertEqual("%s" % Sum(e1), "sum(request(elapsed_ms).eq(path, \"/\"))") self.assertEqual("%s" % Sum(e2), "sum(request(elapsed_ms).eq(path, \"/\").gt(elapsed_ms, 500))")
def test_equality(self): e1 = EventExpression('request') m1 = MetricExpression('sum', e1) m2 = MetricExpression('sum', e1) self.assertEqual(m1, m2) e2 = EventExpression('other') m2 = MetricExpression('sum', e2) self.assertNotEqual(m1, m2) m1 = MetricExpression('sum', e2) self.assertEqual(m1, m2) m1 = MetricExpression('min', e2) self.assertNotEqual(m1, m2) m2 = MetricExpression('min', e2) self.assertEqual(m1, m2)
def expression(self, event_properties): return EventExpression(self.event_type, event_properties)
def test_invalid_params(self): self.assertRaisesRegexp(ValueError, "Events for Metrics may only select a single event property", Sum, EventExpression('request', ['path', 'user_id'])) self.assertRaises(TypeError, Sum)
def setUp(self): self.e = EventExpression('request')
def setUp(self): self.e = EventExpression('test', 'ing') self.sum = Sum(self.e) self.max = Max(self.e) self.min = Min(self.e)