예제 #1
0
    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))
예제 #2
0
    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)
예제 #3
0
 def test_init_timestamp_invalid(self):
     aggregator = conversions.AggregatorTransformer("1", "1", None,
                                                    None, None,
                                                    "invalid_option")
     self.assertEqual("first", aggregator.timestamp)
예제 #4
0
 def test_init_timestamp_last(self):
     aggregator = conversions.AggregatorTransformer("1", "1", None,
                                                    None, None, "last")
     self.assertEqual("last", aggregator.timestamp)
예제 #5
0
 def test_init_no_timestamp(self):
     aggregator = conversions.AggregatorTransformer("1", "1", None,
                                                    None, None)
     self.assertEqual("first", aggregator.timestamp)
예제 #6
0
 def test_init_size_zero(self):
     aggregator = conversions.AggregatorTransformer(size="0")
     self.assertEqual(1, aggregator.size)
     self.assertIsNone(aggregator.retention_time)
예제 #7
0
 def test_init_no_size_or_rention_time(self):
     aggregator = conversions.AggregatorTransformer()
     self.assertEqual(1, aggregator.size)
     self.assertIsNone(aggregator.retention_time)
예제 #8
0
 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)