Example #1
0
 def test_needs_bootstrap_window(self):
     before_now = datetime.utcnow() - timedelta(microseconds=1)
     table_manager = ConfigurableReportTableManagerMixin([MockDataSourceProvider()])
     table_manager.bootstrap([])
     table_manager.last_bootstrapped = before_now - timedelta(seconds=REBUILD_CHECK_INTERVAL - 5)
     self.assertFalse(table_manager.needs_bootstrap())
     table_manager.last_bootstrapped = before_now - timedelta(seconds=REBUILD_CHECK_INTERVAL)
     self.assertTrue(table_manager.needs_bootstrap())
Example #2
0
 def test_needs_bootstrap_window(self):
     before_now = datetime.utcnow() - timedelta(microseconds=1)
     table_manager = ConfigurableReportTableManagerMixin(MockDataSourceProvider())
     table_manager.bootstrap([])
     table_manager.last_bootstrapped = before_now - timedelta(seconds=REBUILD_CHECK_INTERVAL - 5)
     self.assertFalse(table_manager.needs_bootstrap())
     table_manager.last_bootstrapped = before_now - timedelta(seconds=REBUILD_CHECK_INTERVAL)
     self.assertTrue(table_manager.needs_bootstrap())
Example #3
0
    def test_complete_integration(self):
        # initialize pillow with one data source
        data_source_1 = get_sample_data_source()
        data_source_1.save()
        ds_1_domain = data_source_1.domain
        table_manager = ConfigurableReportTableManagerMixin(
            [DynamicDataSourceProvider()])
        table_manager.bootstrap()
        self.assertEqual(1, len(table_manager.table_adapters_by_domain))
        self.assertEqual(
            1, len(table_manager.table_adapters_by_domain[ds_1_domain]))
        self.assertEqual(
            data_source_1._id,
            table_manager.table_adapters_by_domain[ds_1_domain][0].config._id)

        data_source_2 = self._copy_data_source(data_source_1)
        data_source_2.save()
        self.assertFalse(table_manager.needs_bootstrap())
        # should call _pull_in_new_and_modified_data_sources
        table_manager.bootstrap_if_needed()
        self.assertEqual(1, len(table_manager.table_adapters_by_domain))
        self.assertEqual(
            2, len(table_manager.table_adapters_by_domain[ds_1_domain]))
        self.assertEqual(
            {data_source_1._id, data_source_2._id},
            set([
                table_adapter.config._id for table_adapter in
                table_manager.table_adapters_by_domain[ds_1_domain]
            ]))
Example #4
0
 def test_bootstrap_sets_time(self):
     before_now = datetime.utcnow() - timedelta(microseconds=1)
     table_manager = ConfigurableReportTableManagerMixin(MockDataSourceProvider())
     table_manager.bootstrap([])
     after_now = datetime.utcnow() + timedelta(microseconds=1)
     self.assertTrue(table_manager.bootstrapped)
     self.assertTrue(before_now < table_manager.last_bootstrapped)
     self.assertTrue(after_now > table_manager.last_bootstrapped)
     self.assertFalse(table_manager.needs_bootstrap())
Example #5
0
 def test_bootstrap_sets_time(self):
     before_now = datetime.utcnow() - timedelta(microseconds=1)
     table_manager = ConfigurableReportTableManagerMixin([MockDataSourceProvider()])
     table_manager.bootstrap([])
     after_now = datetime.utcnow() + timedelta(microseconds=1)
     self.assertTrue(table_manager.bootstrapped)
     self.assertTrue(before_now < table_manager.last_bootstrapped)
     self.assertTrue(after_now > table_manager.last_bootstrapped)
     self.assertFalse(table_manager.needs_bootstrap())
Example #6
0
 def test_needs_bootstrap_on_initialization(self):
     table_manager = ConfigurableReportTableManagerMixin(MockDataSourceProvider())
     self.assertTrue(table_manager.needs_bootstrap())
Example #7
0
 def test_needs_bootstrap_on_initialization(self):
     table_manager = ConfigurableReportTableManagerMixin([MockDataSourceProvider()])
     self.assertTrue(table_manager.needs_bootstrap())