]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/blob - src/allmydata/test/test_json_metadata.py
Eliminate mock dependency.
[tahoe-lafs/tahoe-lafs.git] / src / allmydata / test / test_json_metadata.py
1
2 from twisted.trial.unittest import TestCase
3
4 from allmydata.web.common import get_filenode_metadata, SDMF_VERSION, MDMF_VERSION
5
6
7 class MockFileNode(object):
8     def __init__(self, size, mutable_version=None):
9         self.size = size
10         self.mutable_version = mutable_version
11
12     def get_size(self):
13         return self.size
14
15     def is_mutable(self):
16         return self.mutable_version is not None
17
18     def get_version(self):
19         if self.mutable_version is None:
20             raise AttributeError()
21         return self.mutable_version
22
23
24 class CommonFixture(object):
25     def test_size_is_0(self):
26         """If get_size doesn't return None the returned metadata must contain "size"."""
27         mockfilenode = MockFileNode(0, mutable_version=self.mutable_version)
28         metadata = get_filenode_metadata(mockfilenode)
29         self.failUnlessEqual(metadata['size'], 0)
30
31     def test_size_is_1000(self):
32         """1000 is sufficiently large to guarantee the cap is not a literal."""
33         mockfilenode = MockFileNode(1000, mutable_version=self.mutable_version)
34         metadata = get_filenode_metadata(mockfilenode)
35         self.failUnlessEqual(metadata['size'], 1000)
36
37     def test_size_is_None(self):
38         """If get_size returns None the returned metadata must not contain "size"."""
39         mockfilenode = MockFileNode(None, mutable_version=self.mutable_version)
40         metadata = get_filenode_metadata(mockfilenode)
41         self.failIfIn('size', metadata)
42
43
44 class Test_GetFileNodeMetaData_Immutable(CommonFixture, TestCase):
45     def setUp(self):
46         self.mutable_version = None
47
48
49 class Test_GetFileNodeMetaData_SDMF(CommonFixture, TestCase):
50     def setUp(self):
51         self.mutable_version = SDMF_VERSION
52
53
54 class Test_GetFileNodeMetaData_MDMF(CommonFixture, TestCase):
55     def setUp(self):
56         self.mutable_version = MDMF_VERSION