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())
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())
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] ]))
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())
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())
def test_needs_bootstrap_on_initialization(self): table_manager = ConfigurableReportTableManagerMixin(MockDataSourceProvider()) self.assertTrue(table_manager.needs_bootstrap())
def test_needs_bootstrap_on_initialization(self): table_manager = ConfigurableReportTableManagerMixin([MockDataSourceProvider()]) self.assertTrue(table_manager.needs_bootstrap())