mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-30 17:00:48 +01:00
* test: align vector bucket policy coverage with vector actions * s3vectors: validate ARN service and resource shape before resolving indexes * test: exercise signed vector bucket policies and catalog lifecycle * ci: require the expanded vector integration matrix and all gateway tests * test: reject index ARNs in bucket-level API requests * s3vectors: scope ARN resolution to the gateway namespace * s3vectors: reject name fields that conflict with resolved ARNs bucketARNs and resolveIndexARNs already reject an indexArn that names a different bucket than vectorBucketArn, but a vectorBucketName or indexName disagreeing with the ARNs was silently dropped. Validate the plain names against the resolved ARN values the same way. * test: cover conflicting vector names and ARNs in live requests --------- Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
# S3 Vectors integration tests
|
|
|
|
Run `python3 -m pip install -r requirements.txt`, then `make test`.
|
|
|
|
The suite starts a master, volume, filer, authenticated S3/Lance gateway, and
|
|
vector engine on temporary ports. The same 17 API tests run with both Go and
|
|
Rust volume servers. Coverage includes bucket/index lifecycle, bucket policies,
|
|
signed policy grants and denies, encryption settings, empty results, ARN validation,
|
|
metadata, filters, cosine distance, atomic upserts,
|
|
catalog/vector pagination, index deletion and recreation, segmented listing,
|
|
authentication, and writer loss.
|
|
|
|
Server logs and data stay in pytest's temporary directory for diagnosis. Every
|
|
child process stops on exit. To select a volume server, set
|
|
`VOLUME_SERVER_IMPL=go` or `rust`.
|
|
|
|
In an enterprise checkout containing `rust/sw-vector-distributed`, the build and
|
|
default matrix also include distributed queries with two search workers. Those
|
|
queries must still succeed after the writer stops. `VECTOR_QUERY_MODE=single`
|
|
or `distributed` selects one query mode.
|
|
|
|
To use prebuilt binaries, set `WEED_BINARY`, `VECTOR_BINARY`,
|
|
`RUST_VOLUME_SERVER_BINARY`, and (for distributed queries) `VECTOR_WORKER_BINARY`,
|
|
then run `./run_test.sh`. `PYTHON` selects the Python interpreter. The Makefile
|
|
accepts `CARGO_PROFILE=dev` for faster local builds.
|