aboutsummaryrefslogtreecommitdiff
path: root/test/s3/filer_group/README.md
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2025-12-13 19:04:12 -0800
committerGitHub <noreply@github.com>2025-12-13 19:04:12 -0800
commit51c2ab0107ce8bc38d6d4f1d3ef3190d4be94161 (patch)
treed73924e53bdccecd650ad6090a91214c87e60eb1 /test/s3/filer_group/README.md
parentf70cd054043bb6327b6b0f3b9e54a1f6d502d2a2 (diff)
downloadseaweedfs-51c2ab0107ce8bc38d6d4f1d3ef3190d4be94161.tar.xz
seaweedfs-51c2ab0107ce8bc38d6d4f1d3ef3190d4be94161.zip
fix: admin UI bucket deletion with filer group configured (#7735)
Diffstat (limited to 'test/s3/filer_group/README.md')
-rw-r--r--test/s3/filer_group/README.md99
1 files changed, 99 insertions, 0 deletions
diff --git a/test/s3/filer_group/README.md b/test/s3/filer_group/README.md
new file mode 100644
index 000000000..a0d724afc
--- /dev/null
+++ b/test/s3/filer_group/README.md
@@ -0,0 +1,99 @@
+# Filer Group S3 Tests
+
+These tests verify that S3 bucket operations work correctly when a filer group is configured.
+
+## Background
+
+When SeaweedFS is configured with a filer group (via `-filer.group` option), collections are named with the filer group prefix:
+
+```text
+Collection name = {filerGroup}_{bucketName}
+```
+
+For example, with filer group `mygroup` and bucket `mybucket`, the collection will be named `mygroup_mybucket`.
+
+## Issue Being Tested
+
+This test suite was created to verify the fix for a bug where:
+- The admin UI was using just the bucket name when deleting collections
+- This caused collection deletion to fail when a filer group was configured
+- After bucket deletion via admin UI, the collection data would be orphaned
+
+## Running the Tests
+
+### Prerequisites
+
+1. SeaweedFS servers must be running with a filer group configured
+2. The S3 gateway must be accessible
+3. Master server must be accessible for collection verification
+
+### Quick Start
+
+```bash
+# Set environment variables
+export FILER_GROUP=testgroup
+export S3_ENDPOINT=http://localhost:8333
+export MASTER_ADDRESS=localhost:9333
+
+# Run tests
+go test -v ./...
+```
+
+### Using the Makefile
+
+```bash
+# Start test servers with filer group configured
+make start-servers FILER_GROUP=testgroup
+
+# Run tests
+make test
+
+# Stop servers
+make stop-servers
+
+# Or run full test cycle
+make full-test
+```
+
+### Configuration
+
+Tests can be configured via:
+
+1. Environment variables:
+ - `FILER_GROUP`: The filer group name (required for tests to run)
+ - `S3_ENDPOINT`: S3 API endpoint (default: `http://localhost:8333`)
+ - `MASTER_ADDRESS`: Master server address (default: localhost:9333)
+
+2. `test_config.json` file
+
+## Test Cases
+
+### TestFilerGroupCollectionNaming
+Verifies that when a bucket is created and objects are uploaded:
+1. The collection is created with the correct filer group prefix
+2. Bucket deletion removes the correctly-named collection
+
+### TestBucketDeletionWithFilerGroup
+Specifically tests that bucket deletion via S3 API correctly deletes
+the collection when filer group is configured.
+
+### TestMultipleBucketsWithFilerGroup
+Tests creating and deleting multiple buckets to ensure the filer group
+prefix is correctly applied and removed for all buckets.
+
+## Expected Behavior
+
+With filer group `testgroup`:
+
+| Bucket Name | Expected Collection Name |
+|-------------|-------------------------|
+| mybucket | testgroup_mybucket |
+| test-123 | testgroup_test-123 |
+
+Without filer group:
+
+| Bucket Name | Expected Collection Name |
+|-------------|-------------------------|
+| mybucket | mybucket |
+| test-123 | test-123 |
+