def test_size_bounded(self): aggregator = conversions.AggregatorTransformer(size="100") self._insert_sample_data(aggregator) samples = aggregator.flush(context.get_admin_context()) self.assertEqual(100, len(samples))
def test_size_unbounded(self): aggregator = conversions.AggregatorTransformer(size="0", retention_time="300") self._insert_sample_data(aggregator) samples = aggregator.flush(context.get_admin_context()) self.assertEqual([], samples)
def test_init_timestamp_invalid(self): aggregator = conversions.AggregatorTransformer("1", "1", None, None, None, "invalid_option") self.assertEqual("first", aggregator.timestamp)
def test_init_timestamp_last(self): aggregator = conversions.AggregatorTransformer("1", "1", None, None, None, "last") self.assertEqual("last", aggregator.timestamp)
def test_init_no_timestamp(self): aggregator = conversions.AggregatorTransformer("1", "1", None, None, None) self.assertEqual("first", aggregator.timestamp)
def test_init_size_zero(self): aggregator = conversions.AggregatorTransformer(size="0") self.assertEqual(1, aggregator.size) self.assertIsNone(aggregator.retention_time)
def test_init_no_size_or_rention_time(self): aggregator = conversions.AggregatorTransformer() self.assertEqual(1, aggregator.size) self.assertIsNone(aggregator.retention_time)
def test_init_input_validation(self): aggregator = conversions.AggregatorTransformer("2", "15", None, None, None) self.assertEqual(2, aggregator.size) self.assertEqual(15, aggregator.retention_time)