2095
2096
return self._deferred
2099
class BrokenNodesTests(TwistedBase):
2100
"""Test that LR logs all broken nodes at start."""
2104
TwistedBase.setUp(self)
2105
self.handler = testcase.MementoHandler()
2106
log = logging.getLogger('ubuntuone.SyncDaemon.local_rescan')
2107
log.addHandler(self.handler)
2109
def test_nothing(self):
2110
"""No broken nodes."""
2113
self.assertFalse(self.handler.check_info('Broken node'))
2115
self.startTest(check)
2116
return self.deferred
2119
"""Something in the broken nodes list."""
2120
path = os.path.join(self.share.path, "brokennodepath")
2121
mdid = self.fsm.create(path, self.share.volume_id, node_id="uuid")
2122
self.fsm.set_by_mdid(mdid, dirty=True, local_hash='foo')
2126
self.assertTrue(self.handler.check_info('Broken node',
2127
'brokennodepath', mdid))
2129
self.startTest(check)
2130
return self.deferred
2132
def test_several(self):
2133
"""Several in the broken nodes list."""
2134
path1 = os.path.join(self.share.path, "brokenpath1")
2135
mdid1 = self.fsm.create(path1, self.share.volume_id, node_id='uuid1')
2136
self.fsm.set_by_mdid(mdid1, dirty=True, local_hash='foo')
2137
path2 = os.path.join(self.share.path, "brokenpath2")
2138
mdid2 = self.fsm.create(path2, self.share.volume_id, node_id='uuid2')
2139
self.fsm.set_by_mdid(mdid2, dirty=True, local_hash='foo')
2143
self.assertTrue(self.handler.check_info('Broken node',
2144
'brokenpath1', mdid1))
2146
self.assertTrue(self.handler.check_info('Broken node',
2147
'brokenpath2', mdid2))
2149
self.startTest(check)
2150
return self.deferred
2098
2153
def test_suite():
2099
2154
# pylint: disable-msg=C0111
2100
2155
return unittest.TestLoader().loadTestsFromName(__name__)