32
32
from contrib.testing import testcase
33
33
from ubuntuone.syncdaemon import hash_queue
34
from ubuntuone.storageprotocol.hash import \
34
from ubuntuone.storageprotocol.content_hash import \
35
35
content_hash_factory, crc32
74
74
self.assertFalse(hasher.isAlive())
75
75
hasher.join(timeout=5)
77
@defer.inlineCallbacks
78
def test_called_back_log_ok(self):
79
"""Tests that the hasher produces correct info."""
82
queue = hash_queue.UniqueQueue()
86
def push(self, *args):
90
hasher = hash_queue._Hasher(queue, mark, receiver)
94
handler = testcase.MementoHandler()
95
handler.setLevel(logging.DEBUG)
96
hasher.logger.addHandler(handler)
99
testfile = os.path.join(self.test_dir, "testfile")
100
with open(testfile, "w") as fh:
102
queue.put((testfile, "mdid"))
104
# wait event and stop hasher
107
hasher.join(timeout=5)
110
log_msg = [r.message for r in handler.records
111
if "path hash pushed" in r.message][0]
112
self.assertTrue("path" in log_msg)
113
self.assertTrue("hash" in log_msg)
114
self.assertTrue("crc" in log_msg)
115
self.assertTrue("size" in log_msg)
116
self.assertTrue("st_ino" in log_msg)
117
self.assertTrue("st_size" in log_msg)
118
self.assertTrue("st_mtime" in log_msg)
119
hasher.logger.removeHandler(handler)
77
121
def test_called_back_ok(self):
78
122
"""Tests that the hasher produces correct info."""
79
123
# create the hasher