fn1 = os.path.join(self.basedir, "data")
fileutil.write(fn1, data)
d = self.do_cli("create-alias", "tahoe")
- d.addCallback(lambda ignored:
- self.do_cli("put", "--mutable", "--mutable-type=mdmf",
- fn1, "tahoe:uploaded.txt"))
- d.addCallback(lambda ignored:
- self.do_cli("ls", "--json", "tahoe:uploaded.txt"))
+
+ def _put_and_ls(ign, mutable_type, filename):
+ d2 = self.do_cli("put", "--mutable", "--mutable-type="+mutable_type,
+ fn1, filename)
+ d2.addCallback(lambda ign: self.do_cli("ls", "--json", filename))
+ return d2
+
+ d.addCallback(_put_and_ls, "mdmf", "tahoe:uploaded.txt")
d.addCallback(self._check_mdmf_json)
- d.addCallback(lambda ignored:
- self.do_cli("put", "--mutable", "--mutable-type=sdmf",
- fn1, "tahoe:uploaded2.txt"))
- d.addCallback(lambda ignored:
- self.do_cli("ls", "--json", "tahoe:uploaded2.txt"))
+ d.addCallback(_put_and_ls, "MDMF", "tahoe:uploaded2.txt")
+ d.addCallback(self._check_mdmf_json)
+ d.addCallback(_put_and_ls, "sdmf", "tahoe:uploaded3.txt")
+ d.addCallback(self._check_sdmf_json)
+ d.addCallback(_put_and_ls, "SDMF", "tahoe:uploaded4.txt")
d.addCallback(self._check_sdmf_json)
return d
d = self.do_cli("put", "--mutable", "--mutable-type=mdmf", fn1)
def _got_cap((rc, out, err)):
self.failUnlessEqual(rc, 0)
- self.cap = out
+ self.cap = out.strip()
d.addCallback(_got_cap)
# Now try to write something to the cap using put.
data2 = "data2" * 100000
self.failUnlessEqual(rc, 0)
self.failUnlessEqual(out, data2)
d.addCallback(_got_data)
- # Now strip the extension information off of the cap and try
- # to put something to it.
- def _make_bare_cap(ignored):
- cap = self.cap.split(":")
- cap = ":".join(cap[:len(cap) - 2])
- self.cap = cap
- d.addCallback(_make_bare_cap)
+ # add some extension information to the cap and try to put something
+ # to it.
+ def _make_extended_cap(ignored):
+ self.cap = self.cap + ":Extension-Stuff"
+ d.addCallback(_make_extended_cap)
data3 = "data3" * 100000
fn3 = os.path.join(self.basedir, "data3")
fileutil.write(fn3, data3)
d = self.do_cli("put", "--mutable", "--mutable-type=sdmf", fn1)
def _got_cap((rc, out, err)):
self.failUnlessEqual(rc, 0)
- self.cap = out
+ self.cap = out.strip()
d.addCallback(_got_cap)
# Now try to write something to the cap using put.
data2 = "data2" * 100000
self.basedir = os.path.dirname(self.mktemp())
self.set_up_grid()
d = self.do_cli("create-alias", "tahoe")
- d.addCallback(lambda ignored:
- self.do_cli("mkdir", "--mutable-type=sdmf", "tahoe:foo"))
def _check((rc, out, err), st):
self.failUnlessReallyEqual(rc, 0)
self.failUnlessReallyEqual(err, "")
self.failUnlessIn(st, out)
return out
- def _stash_dircap(cap):
- self._dircap = cap
- u = uri.from_string(cap)
- fn_uri = u.get_filenode_cap()
- self._filecap = fn_uri.to_string()
- d.addCallback(_check, "URI:DIR2")
- d.addCallback(_stash_dircap)
- d.addCallback(lambda ignored:
- self.do_cli("ls", "--json", "tahoe:foo"))
- d.addCallback(_check, "URI:DIR2")
- d.addCallback(lambda ignored:
- self.do_cli("ls", "--json", self._filecap))
- d.addCallback(_check, '"mutable-type": "sdmf"')
- d.addCallback(lambda ignored:
- self.do_cli("mkdir", "--mutable-type=mdmf", "tahoe:bar"))
- d.addCallback(_check, "URI:DIR2-MDMF")
- d.addCallback(_stash_dircap)
- d.addCallback(lambda ignored:
- self.do_cli("ls", "--json", "tahoe:bar"))
- d.addCallback(_check, "URI:DIR2-MDMF")
- d.addCallback(lambda ignored:
- self.do_cli("ls", "--json", self._filecap))
- d.addCallback(_check, '"mutable-type": "mdmf"')
+ def _mkdir(ign, mutable_type, uri_prefix, dirname):
+ d2 = self.do_cli("mkdir", "--mutable-type="+mutable_type, dirname)
+ d2.addCallback(_check, uri_prefix)
+ def _stash_filecap(cap):
+ u = uri.from_string(cap)
+ fn_uri = u.get_filenode_cap()
+ self._filecap = fn_uri.to_string()
+ d2.addCallback(_stash_filecap)
+ d2.addCallback(lambda ign: self.do_cli("ls", "--json", dirname))
+ d2.addCallback(_check, uri_prefix)
+ d2.addCallback(lambda ign: self.do_cli("ls", "--json", self._filecap))
+ d2.addCallback(_check, '"mutable-type": "%s"' % (mutable_type.lower(),))
+ return d2
+
+ d.addCallback(_mkdir, "sdmf", "URI:DIR2", "tahoe:foo")
+ d.addCallback(_mkdir, "SDMF", "URI:DIR2", "tahoe:foo2")
+ d.addCallback(_mkdir, "mdmf", "URI:DIR2-MDMF", "tahoe:bar")
+ d.addCallback(_mkdir, "MDMF", "URI:DIR2-MDMF", "tahoe:bar2")
return d
def test_mkdir_mutable_type_unlinked(self):