Implement OpenStack Swift support
- Implement OpenStack Swift support using django-storage-swift.
- Add
pre_collect_hooktocollectfast.strategies.base.Strategy. - Replace
test_manytest generator with pytest parametrize. - Add pytest marks for easy test selection.
- Add pytest skip checks for storage settings and dependencies.
- Add tests for
S3ManifestStaticStorage. - Replace
override_storage_attrwithmock.patch.objectto support overriding instance attributes.
I realize the scope of this pull request suffers from creep but the primary intention was to get a fork working for us. The pytest changes add some great quality of life improvements for development and testing of specific storage backends.
To support the OpenStackSwiftStrategy we only really need a pre_collect_hook and gzip_compresslevel setting provided by collectfast and I'll happily make a separate pull request for that if you do not want to accept another 3rd party storage backend/strategy.
OpenStack Swift was developed and open sourced by Rackspace https://docs.openstack.org/swift/latest/
@Urth This is awesome, thanks! I'll try to look into what it takes to setup a Swift backend to test against, that will take some time.
I can provide an account on ours if you want, you can email me on the address used in the commit.