3 from twisted.trial.unittest import TestCase
5 from allmydata.web.common import get_filenode_metadata, SDMF_VERSION, MDMF_VERSION
8 class CommonFixture(object):
10 self.mockfilenode = mock.Mock()
12 def test_size_is_0(self):
13 """If get_size doesn't return None the returned metadata must contain "size"."""
14 self.mockfilenode.get_size.return_value = 0
15 metadata = get_filenode_metadata(self.mockfilenode)
16 self.failUnlessIn('size', metadata)
18 def test_size_is_1000(self):
19 """1000 is sufficiently large to guarantee the cap is not a literal."""
20 self.mockfilenode.get_size.return_value = 1000
21 metadata = get_filenode_metadata(self.mockfilenode)
22 self.failUnlessIn('size', metadata)
24 def test_size_is_None(self):
25 """If get_size returns None the returned metadata must not contain "size"."""
26 self.mockfilenode.get_size.return_value = None
27 metadata = get_filenode_metadata(self.mockfilenode)
28 self.failIfIn('size', metadata)
31 class Test_GetFileNodeMetaData_Immutable(CommonFixture, TestCase):
33 CommonFixture.setUp(self)
34 self.mockfilenode.is_mutable.return_value = False
37 class Test_GetFileNodeMetaData_SDMF(CommonFixture, TestCase):
39 CommonFixture.setUp(self)
40 self.mockfilenode.is_mutable.return_value = True
41 self.mockfilenode.get_version.return_value = SDMF_VERSION
44 class Test_GetFileNodeMetaData_MDMF(CommonFixture, TestCase):
46 CommonFixture.setUp(self)
47 self.mockfilenode.is_mutable.return_value = True
48 self.mockfilenode.get_version.return_value = MDMF_VERSION