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_dequeue(self): size = 1 files = 2 index = IndexQ(test_config['indexqbase'], 'testq', size=size) buff = [] docs = [] for _ in range(files): doc = index.add(self.docs,finalize=True) docs.append(doc) index = IndexQ(test_config['indexqbase'], 'testq') indexdocs = [] for x in index.get_todo_items(): indexdocs.append(x) self.assertEqual(docs,indexdocs) [os.remove(doc) for doc in docs]
def test_dequeue_100(self): size = 1 files = 100 rdocs = self.rand_docs.get_docs(500) index = IndexQ(test_config['indexqbase'], 'testq', size=size) buff = [] docs = [] for dir in ['_todo_dir','_done_dir']: [os.remove(x) for x in index.get_all_as_list(dir=dir)] for _ in range(files): doc = index.add(rdocs,finalize=True) docs.append(doc) index = IndexQ(test_config['indexqbase'], 'testq') indexdocs = [] for x in index.get_todo_items(): indexdocs.append(x) self.assertEqual(docs,indexdocs) [os.remove(doc) for doc in docs]
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]