def test_complete_compress_basic(self): log = logging.getLogger() index = IndexQ(test_config['indexqbase'], 'testq', size = 1, log = log, compress=True) for item in self.docs[1:10]: index.add(item, finalize=True) files = [] for item in index.get_all_as_list(): files.append(index.complete(item)) [self.assertTrue(os.path.exists(x)) for x in files]
def test_complete_compress_basic(self): log = logging.getLogger() index = IndexQ(test_config['indexqbase'], 'testq', size=1, log=log, compress=True) for item in self.docs[1:10]: index.add(item, finalize=True) files = [] for item in index.get_all_as_list(): files.append(index.complete(item)) [self.assertTrue(os.path.exists(x)) for x in files]
def test_complete_dir_rotate(self): log = logging.getLogger() rotate_func = lambda: '{}/{}/{}'.format(dt.now().year, dt.now().month, dt.now().day) index = IndexQ(test_config['indexqbase'], 'testq', size = 1, log = log, rotate_complete = rotate_func) dir_set = rotate_func() docs = self.rand_docs.get_docs(69) for item in self.docs[1:10]: index.add(item, finalize=True) files = [] for item in index.get_all_as_list(): files.append(index.complete(item)) [self.assertTrue(os.path.exists(x)) for x in files]
def test_dequeue_and_complete_no_compression_5(self): size = 1 files = 5 index = IndexQ(test_config['indexqbase'], 'testq', size=size) buff = [] docs = [] for _ in range(files): doc = index.add(self.docs,finalize=True) sleep(1) docs.append(doc) index = IndexQ(test_config['indexqbase'], 'testq', compress=False) indexdocs = [] for x in index.get_todo_items(): indexdocs.append(x) index.complete(x) self.assertEqual(docs,indexdocs) finaldocnames = [os.path.split(x)[-1] for x in indexdocs] donefilepaths = [os.path.join(index._done_dir,x) for x in finaldocnames] for x in donefilepaths: self.assertTrue(os.path.exists(x)) [os.remove(doc) for doc in donefilepaths]
def test_dequeue_and_complete_no_compression_5(self): size = 1 files = 5 index = IndexQ(test_config['indexqbase'], 'testq', size=size) buff = [] docs = [] for _ in range(files): doc = index.add(self.docs,finalize=True) sleep(1) docs.append(doc) index = IndexQ(test_config['indexqbase'], 'testq', compress=False) indexdocs = [] for x in index.get_todo_items(): indexdocs.append(x) index.complete(x) self.assertEqual(docs,indexdocs) finaldocnames = [os.path.split(x)[-1] for x in indexdocs] donefilepaths = [os.path.join(index._done_dir,x) for x in finaldocnames] for x in donefilepaths: self.assertTrue(os.path.exists(x)) [os.remove(doc) for doc in donefilepaths]
def test_complete_dir_rotate(self): log = logging.getLogger() rotate_func = lambda: '{}/{}/{}'.format(dt.now().year, dt.now().month, dt.now().day) index = IndexQ(test_config['indexqbase'], 'testq', size=1, log=log, rotate_complete=rotate_func) dir_set = rotate_func() docs = self.rand_docs.get_docs(69) for item in self.docs[1:10]: index.add(item, finalize=True) files = [] for item in index.get_all_as_list(): files.append(index.complete(item)) [self.assertTrue(os.path.exists(x)) for x in files]
def test_locking(self): ''' Working on this one, it doesn't lock properly ''' files = 5 index = IndexQ(test_config['indexqbase'], 'testq') buff = [] docs = [] for _ in range(files): doc = index.add(self.docs,finalize=True) docs.append(doc) index = IndexQ(test_config['indexqbase'], 'testq', mode='out',devel=True) x = index.get_todo_items() self.assertTrue(os.path.exists(index._lck)) with self.assertRaises(RuntimeError) as a: new_index = IndexQ(test_config['indexqbase'], 'testq', mode='out') y = new_index.get_todo_items() [index.complete(i) for i in x] self.assertFalse(os.path.exists(index._lck))
def test_locking(self): ''' Working on this one, it doesn't lock properly ''' files = 5 index = IndexQ(test_config['indexqbase'], 'testq') buff = [] docs = [] for _ in range(files): doc = index.add(self.docs,finalize=True) docs.append(doc) index = IndexQ(test_config['indexqbase'], 'testq', mode='out',devel=True) x = index.get_todo_items() self.assertTrue(os.path.exists(index._lck)) with self.assertRaises(RuntimeError) as a: new_index = IndexQ(test_config['indexqbase'], 'testq', mode='out') y = new_index.get_todo_items() [index.complete(i) for i in x] self.assertFalse(os.path.exists(index._lck))