]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/blobdiff - src/allmydata/test/test_web.py
oops, missed a test failure
[tahoe-lafs/tahoe-lafs.git] / src / allmydata / test / test_web.py
index c2c168f5a094bb105d147368d91bee910e320cfc..eedee422c7e6fd54af602fde004099b70811aae7 100644 (file)
@@ -173,7 +173,7 @@ class FakeClient(Client):
         self.blacklist = None
         self.nodemaker = FakeNodeMaker(None, self._secret_holder, None,
                                        self.uploader, None,
-                                       None, None)
+                                       None, None, None)
         self.mutable_file_default = SDMF_VERSION
 
     def startService(self):
@@ -1072,7 +1072,7 @@ class Web(WebMixin, WebErrorMixin, testutil.StallMixin, testutil.ReallyEqualMixi
             return filecap
         d.addCallback(_got_filecap)
         d.addCallback(lambda filecap: self.GET("/uri/%s?t=json" % filecap))
-        d.addCallback(lambda json: self.failUnlessIn("mdmf", json))
+        d.addCallback(lambda json: self.failUnlessIn("MDMF", json))
         return d
 
     def test_PUT_NEWFILEURL_unlinked_sdmf(self):
@@ -1080,7 +1080,7 @@ class Web(WebMixin, WebErrorMixin, testutil.StallMixin, testutil.ReallyEqualMixi
         d = self.PUT("/uri?format=sdmf",
                      contents)
         d.addCallback(lambda filecap: self.GET("/uri/%s?t=json" % filecap))
-        d.addCallback(lambda json: self.failUnlessIn("sdmf", json))
+        d.addCallback(lambda json: self.failUnlessIn("SDMF", json))
         return d
 
     def test_PUT_NEWFILEURL_unlinked_bad_format(self):
@@ -1235,13 +1235,13 @@ class Web(WebMixin, WebErrorMixin, testutil.StallMixin, testutil.ReallyEqualMixi
             self.failUnlessIn("format", data)
             self.failUnlessEqual(data["format"], version)
 
-        d.addCallback(_got_json, "mdmf")
+        d.addCallback(_got_json, "MDMF")
         # Now make an SDMF file and check that it is reported correctly.
         d.addCallback(lambda ignored:
             self.PUT("/uri?format=sdmf",
                       self.NEWFILE_CONTENTS * 300000))
         d.addCallback(lambda filecap: self.GET("/uri/%s?t=json" % filecap))
-        d.addCallback(_got_json, "sdmf")
+        d.addCallback(_got_json, "SDMF")
         return d
 
     def test_GET_FILEURL_json_mdmf(self):
@@ -1430,11 +1430,11 @@ class Web(WebMixin, WebErrorMixin, testutil.StallMixin, testutil.ReallyEqualMixi
 
             mdmf_data = kids['mdmf.txt'][1]
             self.failUnlessIn("format", mdmf_data)
-            self.failUnlessEqual(mdmf_data["format"], "mdmf")
+            self.failUnlessEqual(mdmf_data["format"], "MDMF")
 
             sdmf_data = kids['sdmf.txt'][1]
             self.failUnlessIn("format", sdmf_data)
-            self.failUnlessEqual(sdmf_data["format"], "sdmf")
+            self.failUnlessEqual(sdmf_data["format"], "SDMF")
         d.addCallback(_got_json)
         return d
 
@@ -2123,17 +2123,27 @@ class Web(WebMixin, WebErrorMixin, testutil.StallMixin, testutil.ReallyEqualMixi
             filename = format + ".txt"
             d = self.POST("/uri?t=upload&format=" + format,
                           file=(filename, self.NEWFILE_CONTENTS * 300000))
-            def _got_filecap(filecap):
-                self.failUnless(filecap.startswith(uri_prefix))
+            def _got_results(results):
+                if format.upper() in ("SDMF", "MDMF"):
+                    # webapi.rst says this returns a filecap
+                    filecap = results
+                else:
+                    # for immutable, it returns an "upload results page", and
+                    # the filecap is buried inside
+                    line = [l for l in results.split("\n") if "URI: " in l][0]
+                    mo = re.search(r'<span>([^<]+)</span>', line)
+                    filecap = mo.group(1)
+                self.failUnless(filecap.startswith(uri_prefix),
+                                (uri_prefix, filecap))
                 return self.GET("/uri/%s?t=json" % filecap)
-            d.addCallback(_got_filecap)
+            d.addCallback(_got_results)
             def _got_json(json):
                 data = simplejson.loads(json)
                 data = data[1]
                 self.failUnlessIn("format", data)
-                self.failUnlessEqual(data["format"], format)
+                self.failUnlessEqual(data["format"], format.upper())
             d.addCallback(_got_json)
-
+            return d
         d = defer.succeed(None)
         d.addCallback(_check_upload_unlinked, "chk", "URI:CHK")
         d.addCallback(_check_upload_unlinked, "CHK", "URI:CHK")
@@ -2165,8 +2175,9 @@ class Web(WebMixin, WebErrorMixin, testutil.StallMixin, testutil.ReallyEqualMixi
                 data = simplejson.loads(json)
                 data = data[1]
                 self.failUnlessIn("format", data)
-                self.failUnlessEqual(data["format"], format)
+                self.failUnlessEqual(data["format"], format.upper())
             d.addCallback(_got_json)
+            return d
 
         d = defer.succeed(None)
         d.addCallback(_check_upload, "chk", "URI:CHK")
@@ -3457,7 +3468,7 @@ class Web(WebMixin, WebErrorMixin, testutil.StallMixin, testutil.ReallyEqualMixi
             data = simplejson.loads(json)
             data = data[1]
             self.failUnlessIn("format", data)
-            self.failUnlessEqual(data["format"], "mdmf")
+            self.failUnlessEqual(data["format"], "MDMF")
             self.failUnless(data['rw_uri'].startswith("URI:MDMF"))
             self.failUnless(data['ro_uri'].startswith("URI:MDMF"))
         d.addCallback(_got_json)
@@ -3474,7 +3485,7 @@ class Web(WebMixin, WebErrorMixin, testutil.StallMixin, testutil.ReallyEqualMixi
             data = simplejson.loads(json)
             data = data[1]
             self.failUnlessIn("format", data)
-            self.failUnlessEqual(data["format"], "sdmf")
+            self.failUnlessEqual(data["format"], "SDMF")
         d.addCallback(_got_json)
         return d