
test-with-spanner
by storj
Ongoing Storj v3 development. Decentralized cloud object storage that is affordable, easy to use, private, and secure.
Use Cases
Efficient Code Generation
Auto-generate boilerplate code to reduce development time.
Code Review Assistance
Analyze PR changes and suggest improvements.
Refactoring Suggestions
Suggest refactoring options to improve code quality.
SKILL.md
name: test-with-spanner description: Run unit tests that require the Spanner emulator. Use this skill when the user wants to run tests in packages like satellite/metabase, satellite/metainfo, or any other tests that interact with Spanner. Automatically handles checking for and configuring the Spanner emulator environment. allowed_tools: go allowed_prompts:
- tool: Bash prompt: run unit tests with spanner
Run Unit Tests with Spanner
You are helping run unit tests that require the Spanner emulator.
Instructions
The Storj test framework automatically manages the Spanner emulator lifecycle using the run: prefix in the STORJ_TEST_SPANNER environment variable.
To run tests automatically spanner_emulator binary needs to be on PATH.
Running Tests
-
If test name is provided in arguments:
- Find the package containing the test using Grep
- Run the test with the auto-managed emulator
-
If only package path is provided:
- Run all tests in that package with the auto-managed emulator
-
Command format:
STORJ_TEST_SPANNER='run:spanner_emulator' go test -v ./package/path -run TestNameThe
run:prefix tells the test framework to:- Automatically start the Spanner emulator before tests
- Configure the connection for each test
- Clean up and stop the emulator after tests complete
-
Report test results:
- Show whether tests passed or failed
- List all subtests that ran
- If tests failed, offer to help investigate the failures
Common test paths
Some common test paths in the Storj codebase:
./satellite/metabase- Metabase tests./satellite/metainfo- Metainfo API tests./satellite/satellitedb- Database tests
Example Usage
# Run a specific test
STORJ_TEST_SPANNER='run:spanner_emulator' go test -v ./satellite/metainfo -run TestEndpoint_Object_No_StorageNodes
# Run all tests in a package
STORJ_TEST_SPANNER='run:spanner_emulator' go test -v ./satellite/metabase
# Run tests with timeout
STORJ_TEST_SPANNER='run:spanner_emulator' go test -v -timeout 10m ./satellite/metabase -run TestLoop
Notes
- Each test gets its own emulator instance that's automatically managed
- No manual cleanup is required - the framework handles emulator lifecycle
- The
run:prefix is the recommended approach used in Storj's CI/CD (see Jenkinsfile.verify and Jenkinsfile.public) - Alternative: If
STORJ_TEST_SPANNERis already set to a running emulator, tests will use that instead
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 1000以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon


