mutable: add basic test coverage of new-dirnodes-using-mutable-files

This commit is contained in:
Brian Warner 2007-11-08 04:31:00 -07:00
parent c538e2b020
commit 2eaa4195cf
2 changed files with 21 additions and 0 deletions

View File

@ -1264,6 +1264,9 @@ class MutableFileNode:
def is_mutable(self): def is_mutable(self):
return self._uri.is_mutable() return self._uri.is_mutable()
def is_readonly(self):
# but maybe not you
return self._uri.is_readonly()
def __hash__(self): def __hash__(self):
return hash((self.__class__, self.uri)) return hash((self.__class__, self.uri))

View File

@ -378,8 +378,26 @@ class SystemTest(testutil.SignalMixin, unittest.TestCase):
def _check_download_5(res): def _check_download_5(res):
log.msg("finished replace2") log.msg("finished replace2")
self.failUnlessEqual(res, NEWERDATA) self.failUnlessEqual(res, NEWERDATA)
# make sure we can create empty files, this usually screws up the
# segsize math
d1 = self.clients[2].create_mutable_file("")
d1.addCallback(lambda newnode: newnode.download_to_data())
d1.addCallback(lambda res: self.failUnlessEqual("", res))
return d1
d.addCallback(_check_download_5) d.addCallback(_check_download_5)
d.addCallback(lambda res: self.clients[0].create_empty_dirnode())
def _created_dirnode(dnode):
d1 = dnode.list()
d1.addCallback(lambda children: self.failUnlessEqual(children, {}))
d1.addCallback(lambda res: dnode.has_child("edgar"))
d1.addCallback(lambda answer: self.failUnlessEqual(answer, False))
d1.addCallback(lambda res: dnode.set_node("see recursive", dnode))
d1.addCallback(lambda res: dnode.has_child("see recursive"))
d1.addCallback(lambda answer: self.failUnlessEqual(answer, True))
return d1
d.addCallback(_created_dirnode)
return d return d
def flip_bit(self, good): def flip_bit(self, good):