15c2ca55f0
If account autocreation is on and the proxy receives a GET request for a nonexistent account, it'll fake up a response that makes it look as if the account exists, but without reifying that account into sqlite DB files. That faked-out response was just fine as long as you wanted a text/plain response, but it didn't handle the case of format=json or format=xml; in those cases, the response would still be text/plain. This can break clients, and certainly causes crashes in swift3. Now, those responses match as closely as possible. The code for generating an account-listing response has been pulled into (the new) swift.account.utils module, and both the fake response and the real response use it, thus ensuring that they can't accidentally diverge. There's also a new probe test for that non-divergence. Also, cleaned up a redundant matching of the Accept header in the code for generating the account listing. Note that some of the added tests here pass with or without this code change; they were added because the code I was changing (parts of the real account GET) wasn't covered by tests. Bug 1183169 Change-Id: I2a3b8e5d9053e4d0280a320f31efa7c90c94bb06 |
||
---|---|---|
.. | ||
__init__.py | ||
common.py | ||
test_account_failures.py | ||
test_account_get_fake_responses_match.py | ||
test_container_failures.py | ||
test_empty_device_handoff.py | ||
test_object_async_update.py | ||
test_object_failures.py | ||
test_object_handoff.py | ||
test_replication_servers_working.py |