From: Itamar Turner-Trauring <itamar@futurefoundries.com>
Date: Thu, 16 May 2013 17:53:35 +0000 (-0400)
Subject: Actually run the creation code against real Azure service, and corresponding bug... 
X-Git-Url: https://git.rkrishnan.org/specifications/%5B/%5D%20/flags/status?a=commitdiff_plain;h=f0f969245a6f45c8d644631f233bc26b57bfbb62;p=tahoe-lafs%2Ftahoe-lafs.git

Actually run the creation code against real Azure service, and corresponding bug fix.
---

diff --git a/src/allmydata/storage/backends/cloud/msazure/msazure_container.py b/src/allmydata/storage/backends/cloud/msazure/msazure_container.py
index 11303d05..c2936b04 100644
--- a/src/allmydata/storage/backends/cloud/msazure/msazure_container.py
+++ b/src/allmydata/storage/backends/cloud/msazure/msazure_container.py
@@ -221,7 +221,8 @@ class MSAzureStorageContainer(CommonContainerMixin):
         url = self._make_container_url(self.URI)
         url += "?restype=container"
         d = self._authorized_http_request("MS Azure PUT container", 'PUT',
-                                          url, {}, body=None,
+                                          url, {'Content-length': ['0']},
+                                          body=None,
                                           need_response_body=False)
         d.addCallback(lambda (response, body): body)
         return d
@@ -245,6 +246,13 @@ if __name__ == '__main__':
 
     @defer.inlineCallbacks
     def testtransactions():
+        print "Creating container...",
+        try:
+            yield msc.create()
+        except Exception, e:
+            print "failed:", e
+        else:
+            print "succeeded."
         yield msc.put_object("key", "the value")
         print "Uploaded 'key', with value 'the value'"
         print
diff --git a/src/allmydata/test/test_storage.py b/src/allmydata/test/test_storage.py
index baab9387..951b5bbc 100644
--- a/src/allmydata/test/test_storage.py
+++ b/src/allmydata/test/test_storage.py
@@ -1529,6 +1529,9 @@ class MSAzureStorageBackendTests(unittest.TestCase, CloudStorageBackendMixin):
             "MS Azure PUT container", "PUT",
             "https://theaccount.blob.core.windows.net/thebucket?restype=container",
             {"Authorization": [self.authorization],
+             # This is not documented as required, but is apparently necessary
+             # nonetheless:
+             'Content-length': ['0'],
              "x-ms-version": ["2012-02-12"],
              "x-ms-date": [self.date],
              },