From: Itamar Turner-Trauring 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/%5B/%5D%20/uri/frontends/somewhere?a=commitdiff_plain;h=847ae9b17a23cce3daec66280d03bd34ea2278a9;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 21a579e6..bbb87fd6 100644 --- a/src/allmydata/test/test_storage.py +++ b/src/allmydata/test/test_storage.py @@ -1522,6 +1522,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], },