mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-20 06:54:24 +00:00
add s3 tests for object lock and retention
This commit is contained in:
@@ -213,6 +213,71 @@ jobs:
|
||||
# Clean up data directory
|
||||
rm -rf "$WEED_DATA_DIR" || true
|
||||
|
||||
- name: Run S3 Object Lock and Retention tests
|
||||
timeout-minutes: 15
|
||||
env:
|
||||
S3TEST_CONF: /__w/seaweedfs/seaweedfs/docker/compose/s3tests.conf
|
||||
shell: bash
|
||||
run: |
|
||||
cd /__w/seaweedfs/seaweedfs/weed
|
||||
go install -buildvcs=false
|
||||
set -x
|
||||
# Create clean data directory for this test run
|
||||
export WEED_DATA_DIR="/tmp/seaweedfs-objectlock-$(date +%s)"
|
||||
mkdir -p "$WEED_DATA_DIR"
|
||||
weed -v 0 server -filer -filer.maxMB=64 -s3 -ip.bind 0.0.0.0 \
|
||||
-dir="$WEED_DATA_DIR" \
|
||||
-master.raftHashicorp -master.electionTimeout 1s -master.volumeSizeLimitMB=1024 \
|
||||
-volume.max=100 -volume.preStopSeconds=1 -s3.port=8000 -metricsPort=9324 \
|
||||
-s3.allowEmptyFolder=false -s3.allowDeleteBucketNotEmpty=true -s3.config=../docker/compose/s3.json &
|
||||
pid=$!
|
||||
sleep 10
|
||||
cd /s3-tests
|
||||
sed -i "s/assert prefixes == \['foo%2B1\/', 'foo\/', 'quux%20ab\/'\]/assert prefixes == \['foo\/', 'foo%2B1\/', 'quux%20ab\/'\]/" s3tests_boto3/functional/test_s3.py
|
||||
tox -- \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_bucket \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_enable_after_create \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_with_days_and_years \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_days \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_years \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_mode \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_lock_invalid_status \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_suspend_versioning \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_lock \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_lock_invalid_bucket \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_invalid_bucket \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_invalid_mode \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_retention \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_retention_iso8601 \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_retention_invalid_bucket \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_versionid \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_override_default_retention \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_increase_period \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_shorten_period \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_obj_retention_shorten_period_bypass \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_delete_object_with_retention \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_delete_multipart_object_with_retention \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_delete_object_with_retention_and_marker \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_multi_delete_object_with_retention \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_legal_hold \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_legal_hold_invalid_bucket \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_put_legal_hold_invalid_status \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_get_legal_hold \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_get_legal_hold_invalid_bucket \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_delete_object_with_legal_hold_on \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_delete_multipart_object_with_legal_hold_on \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_delete_object_with_legal_hold_off \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_get_obj_metadata \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_uploading_obj \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_changing_mode_from_governance_with_bypass \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_changing_mode_from_governance_without_bypass \
|
||||
s3tests_boto3/functional/test_s3.py::test_object_lock_changing_mode_from_compliance
|
||||
kill -9 $pid || true
|
||||
# Clean up data directory
|
||||
rm -rf "$WEED_DATA_DIR" || true
|
||||
|
||||
- name: Run SeaweedFS Custom S3 Copy tests
|
||||
timeout-minutes: 10
|
||||
shell: bash
|
||||
|
||||
Reference in New Issue
Block a user