def test_get_last_row_with_no_data(self): """Test the get_last_row function when no data is present.""" # First, check the db directly to ensure it is empty. result = self.obj_factory.sstore.execute(u"""SELECT row_id FROM txlog.db_worker_last_row""") self.assertEqual(0, result.rowcount) self.assertEqual( utils.NEW_WORKER_LAST_ROW, utils.get_last_row('some worker', self.obj_factory.sstore_name))
def test_get_last_row_with_no_data(self): """Test the get_last_row function when no data is present.""" # First, check the db directly to ensure it is empty. result = self.obj_factory.sstore.execute( u"""SELECT row_id FROM txlog.db_worker_last_row""") self.assertEqual(0, result.rowcount) self.assertEqual(utils.NEW_WORKER_LAST_ROW, utils.get_last_row( 'some worker', self.obj_factory.sstore_name))
def test_get_last_row_with_same_data_returns_the_exact_one(self): """Test that get_last_row returns the row for the exact txlog ID in the table, if the worker name is found for that.""" txlog1 = self.obj_factory.make_transaction_log() txlog2 = self.obj_factory.make_transaction_log() txlog3 = self.obj_factory.make_transaction_log() worker_name = self.obj_factory.get_unique_unicode() self._create_db_worker_last_row_entry(worker_name, txlog3) self._create_db_worker_last_row_entry( self.obj_factory.get_unique_unicode(), txlog1) self._create_db_worker_last_row_entry( self.obj_factory.get_unique_unicode(), txlog2) self.assertEqual((txlog3.id, txlog3.timestamp), utils.get_last_row( worker_name, self.obj_factory.sstore_name))
def test_get_last_row_with_other_data_returns_the_oldest_one(self): """get_last_row returns the row for the oldest txlog ID in the table, if the worker name is not found for that.""" txlog1 = self.obj_factory.make_transaction_log() txlog2 = self.obj_factory.make_transaction_log() txlog3 = self.obj_factory.make_transaction_log() self._create_db_worker_last_row_entry( self.obj_factory.get_unique_unicode(), txlog3) self._create_db_worker_last_row_entry( self.obj_factory.get_unique_unicode(), txlog1) self._create_db_worker_last_row_entry( self.obj_factory.get_unique_unicode(), txlog2) self.assertEqual((txlog1.id, txlog1.timestamp), utils.get_last_row( 'some worker', self.obj_factory.sstore_name))
def test_get_last_row_with_same_data_returns_the_exact_one(self): """Test that get_last_row returns the row for the exact txlog ID in the table, if the worker name is found for that.""" txlog1 = self.obj_factory.make_transaction_log() txlog2 = self.obj_factory.make_transaction_log() txlog3 = self.obj_factory.make_transaction_log() worker_name = self.obj_factory.get_unique_unicode() self._create_db_worker_last_row_entry(worker_name, txlog3) self._create_db_worker_last_row_entry( self.obj_factory.get_unique_unicode(), txlog1) self._create_db_worker_last_row_entry( self.obj_factory.get_unique_unicode(), txlog2) self.assertEqual((txlog3.id, txlog3.timestamp), utils.get_last_row(worker_name, self.obj_factory.sstore_name))
def test_get_last_row_with_other_data_returns_the_oldest_one(self): """get_last_row returns the row for the oldest txlog ID in the table, if the worker name is not found for that.""" txlog1 = self.obj_factory.make_transaction_log() txlog2 = self.obj_factory.make_transaction_log() txlog3 = self.obj_factory.make_transaction_log() self._create_db_worker_last_row_entry( self.obj_factory.get_unique_unicode(), txlog3) self._create_db_worker_last_row_entry( self.obj_factory.get_unique_unicode(), txlog1) self._create_db_worker_last_row_entry( self.obj_factory.get_unique_unicode(), txlog2) self.assertEqual((txlog1.id, txlog1.timestamp), utils.get_last_row('some worker', self.obj_factory.sstore_name))