1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
#!/usr/bin/env python
# sugar-lint: disable
import os
import time
import shutil
import logging
import threading
import gevent
from gevent.event import Event
from __init__ import tests
from active_document import env, index_queue, document
from active_document.metadata import active_property, Metadata
from active_document.index_proxy import IndexProxy
from active_document.index import IndexWriter
class IndexQueueTest(tests.Test):
def setUp(self):
tests.Test.setUp(self)
class Document(document.Document):
pass
Document.metadata = Metadata(Document)
index_queue.start(tests.tmpdir, [Document])
self.Document = Document
def tearDown(self):
index_queue.stop()
tests.Test.tearDown(self)
def test_put(self):
env.index_flush_threshold.value = 0
env.index_flush_timeout.value = 0
put = []
index_queue.put('document', lambda *args: put.append(1))
index_queue.put('document', lambda *args: put.append(2))
index_queue.put('document', lambda *args: put.append(3))
self.assertEqual([], put)
self.assertEqual(0, index_queue.commit_seqno('document'))
index_queue.commit_and_wait('document')
self.assertEqual([1, 2, 3], put)
self.assertEqual(1, index_queue.commit_seqno('document'))
index_queue.commit_and_wait('document')
self.assertEqual(1, index_queue.commit_seqno('document'))
if __name__ == '__main__':
tests.main()
|