]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/blob - src/allmydata/test/test_no_network.py
ef7eed5cafb2cba80418328f3fdb7bb9d01f4e15
[tahoe-lafs/tahoe-lafs.git] / src / allmydata / test / test_no_network.py
1
2 # Test the NoNetworkGrid test harness
3
4 from twisted.trial import unittest
5 from twisted.application import service
6 from allmydata.test.no_network import NoNetworkGrid
7 from allmydata.immutable.upload import Data
8 from allmydata.util.consumer import download_to_data
9
10 class Harness(unittest.TestCase):
11     def setUp(self):
12         self.s = service.MultiService()
13         self.s.startService()
14
15     def tearDown(self):
16         return self.s.stopService()
17
18     def test_create(self):
19         basedir = "no_network/Harness/create"
20         g = NoNetworkGrid(basedir)
21         g.startService()
22         return g.stopService()
23
24     def test_upload(self):
25         basedir = "no_network/Harness/upload"
26         g = NoNetworkGrid(basedir)
27         g.setServiceParent(self.s)
28
29         c0 = g.clients[0]
30         DATA = "Data to upload" * 100
31         data = Data(DATA, "")
32         d = c0.upload(data)
33         def _uploaded(res):
34             n = c0.create_node_from_uri(res.uri)
35             return download_to_data(n)
36         d.addCallback(_uploaded)
37         def _check(res):
38             self.failUnlessEqual(res, DATA)
39         d.addCallback(_check)
40
41         return d
42