Merge lp:~niemeyer/txaws/s3-bucket-paths into lp:txaws
Proposed by
Gustavo Niemeyer
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 79 | ||||
Proposed branch: | lp:~niemeyer/txaws/s3-bucket-paths | ||||
Merge into: | lp:txaws | ||||
Diff against target: |
257 lines (+26/-61) 10 files modified
bin/txaws-create-bucket (+1/-1) bin/txaws-delete-bucket (+1/-1) bin/txaws-delete-object (+1/-1) bin/txaws-get-bucket (+1/-1) bin/txaws-get-object (+1/-1) bin/txaws-head-object (+1/-1) bin/txaws-list-buckets (+1/-1) bin/txaws-put-object (+1/-1) txaws/s3/client.py (+12/-35) txaws/s3/tests/test_client.py (+6/-18) |
||||
To merge this branch: | bzr merge lp:~niemeyer/txaws/s3-bucket-paths | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jamu Kakar | Approve | ||
Review via email: mp+57429@code.launchpad.net |
Description of the change
S3 used to work by providing a path to bucket names, and
then they started supporting a nice API via URLs. While
that tends to work well overall, it has an important
disavantage which is not working with alternative
implementations which provide an IP address only.
This change should remain compatible with Amazon's S3,
while offering the chance of interacting with the API
through an IP address.
To post a comment you must log in.
[1]
There are many test failures:
[FAIL] jkakar/ src/projects/ txaws/reviews/ s3-bucket- paths/txaws/ ec2/tests/ test_client. py", line 1502, in test_response_ parse_error assertEquals( str(error) , "400 Bad Request") trial.unittest. FailTest: not equal:
Traceback (most recent call last):
File "/home/
self.
twisted.
a = 'mismatched tag: line 1, column 7'
b = '400 Bad Request'
txaws.ec2. tests.test_ client. EC2ErrorWrapper TestCase. test_response_ parse_error ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= == jkakar/ src/projects/ txaws/reviews/ s3-bucket- paths/txaws/ s3/tests/ test_client. py", line 29, in test_get_ host_with_ bucket assertEquals( url_context. get_host( ), "mystuff. s3.amazonaws. com") trial.unittest. FailTest: not equal: s3.amazonaws. com'
=======
[FAIL]
Traceback (most recent call last):
File "/home/
self.
twisted.
a = 's3.amazonaws.com'
b = 'mystuff.
txaws.s3. tests.test_ client. URLContextTestC ase.test_ get_host_ with_bucket ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= == jkakar/ src/projects/ txaws/reviews/ s3-bucket- paths/txaws/ s3/tests/ test_client. py", line 42, in test_get_ path_with_ bucket_ and_object assertEquals( url_context. get_host( ), "mystuff. s3.amazonaws. com") trial.unittest. FailTest: not equal: s3.amazonaws. com'
=======
[FAIL]
Traceback (most recent call last):
File "/home/
self.
twisted.
a = 's3.amazonaws.com'
b = 'mystuff.
txaws.s3. tests.test_ client. URLContextTestC ase.test_ get_path_ with_bucket_ and_object ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= == jkakar/ src/projects/ txaws/reviews/ s3-bucket- paths/txaws/ s3/tests/ test_client. py", line 48, in test_get_ path_with_ bucket_ and_object_ without_ slash assertEquals( url_context. get_host( ), "mystuff. s3.amazonaws. com") trial.unittest. FailTest: not equal: s3.amazonaws. com'
=======
[FAIL]
Traceback (most recent call last):
File "/home/
self.
twisted.
a = 's3.amazonaws.com'
b = 'mystuff.
txaws.s3. tests.test_ client. URLContextTestC ase.test_ get_path_ with_bucket_ and_object_ without_ slash ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= == jkakar/ src/projects/ txaws/reviews/ s3-bucket- paths/txaws/ s3/tests/ test_client. py", line 63, in test_get_ uri_with_ endpoint_ bucket_ and_object mydocs. localhost/ notes.txt") trial.unittest. FailTest: not equal: localhost/ mydocs/ notes.txt' mydocs. localhost/ notes.txt'
=======
[FAIL]
Traceback (most recent call last):
File "/home/
"http://
twisted.
a = 'http://
b = 'http://
txaws.s3. tests.test_ client. URLContextTestC ase.test_ get_uri_ with_endpoint_ bucket_ and_object