Chris Lu
f1e27b8f30
s3: change s3 tables to use RESTful API ( #8169 )
...
* s3: refactor s3 tables to use RESTful API
* test/s3tables: guard empty namespaces
* s3api: document tag parsing and validate get-table
* s3api: limit S3Tables REST body size
* Update weed/s3api/s3api_tables.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update weed/s3api/s3tables/handler.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* s3api: accept encoded table bucket ARNs
* s3api: validate namespaces and close body
* s3api: match encoded table bucket ARNs
* s3api: scope table bucket ARN routes
* s3api: dedupe table bucket request builders
* test/s3tables: allow list tables without namespace
* s3api: validate table params and tag ARN
* s3api: tighten tag handling and get-table params
* s3api: loosen tag ARN route matching
* Fix S3 Tables REST routing and tests
* Adjust S3 Tables request parsing
* Gate S3 Tables target routing
* Avoid double decoding namespaces
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-30 10:37:34 -08:00
Chris Lu
473e699368
s3tables: add table policy test coverage
...
Add comprehensive test coverage for table policy operations:
- Added PutTablePolicy, GetTablePolicy, DeleteTablePolicy methods to test client
- Implemented testTablePolicy lifecycle test validating Put/Get/Delete operations
- Verified error handling for missing policies
2026-01-28 14:44:28 -08:00
Chris Lu
783fe25eac
s3tables test: expose pagination parameters in client list methods
2026-01-28 12:46:21 -08:00
Chris Lu
9f1dd57939
s3tables test: improve error reporting on decoding failure
2026-01-28 12:30:30 -08:00
Chris Lu
44f580c24e
test: refactor S3 Tables client for DRYness and multi-segment namespaces
...
- Implement doRequestAndDecode to eliminate HTTP boilerplate
- Update client API to accept []string for namespaces to support hierarchy
- Standardize error response decoding across all client methods
2026-01-28 11:31:44 -08:00
Chris Lu
07002cf54c
test: improve S3 Tables client error handling and cleanup
...
- Add detailed error reporting when decoding failure responses
- Remove orphaned comments and unused sections
2026-01-28 10:36:11 -08:00
Chris Lu
33da87452b
Refine S3 Tables implementation to address code review feedback
...
- Standardize namespace representation to []string
- Improve listing logic with pagination and StartFromFileName
- Enhance error handling with sentinel errors and robust checks
- Add JSON encoding error logging
- Fix CI workflow to use gofmt -l
- Standardize timestamps in directory creation
- Validate single-level namespaces
2026-01-28 10:04:27 -08:00
Chris Lu
6cdd34da77
s3tables: improve integration test stability and error reporting
2026-01-28 09:37:58 -08:00
Chris Lu
33c1a8251a
test: format s3tables client.go
2026-01-28 01:30:07 -08:00
Chris Lu
06f90028f7
s3tables test: refactor to eliminate duplicate definitions
...
- Move all client methods to client.go
- Remove duplicate types/constants from s3tables_integration_test.go
- Keep setup.go for test infrastructure
- Keep integration test logic in s3tables_integration_test.go
- Clean up unused imports
- Test compiles successfully
2026-01-28 01:07:11 -08:00
Chris Lu
d66e194284
test: add S3 Tables test infrastructure
...
- Create setup.go with TestCluster and S3TablesClient definitions
- Create client.go with HTTP client methods for all operations
- Test utilities and client methods organized for reusability
- Foundation for S3 Tables integration tests
2026-01-28 00:55:45 -08:00