This project contains multiple test suites across different driver implementations. Before running any tests, you'll need to set up common credentials and build the required components.
All integration tests require access to Snowflake credentials. To set up the required parameters.json file:
# Install 1Password CLI if not already installed
# Then decode the encrypted parameters file:
./scripts/decode_secrets.shThis will create a parameters.json file in the project root containing test credentials.
Alternative: If you don't have 1Password CLI installed you can provide encryption password via environment variable:
PARAMETERS_SECRET=<encryption-password> ./scripts/decode_secrets.sh Alternative: If you want provide different credentials that the standard ones, you can provide parameters.json yourself:
{
"testconnection": {
"SNOWFLAKE_TEST_ACCOUNT": "your-account",
"SNOWFLAKE_TEST_USER": "your-username",
"SNOWFLAKE_TEST_PASSWORD": "your-password",
"SNOWFLAKE_TEST_DATABASE": "your-database",
"SNOWFLAKE_TEST_SCHEMA": "your-schema",
"SNOWFLAKE_TEST_WAREHOUSE": "your-warehouse",
"SNOWFLAKE_TEST_HOST": "your-host.snowflakecomputing.com",
"SNOWFLAKE_TEST_ROLE": "your-role"
}
}The tests require the Rust core library to be built:
# Build all Rust components
cargo build
# Or build specific packages
cargo build --package sf_core
cargo build --package jdbc_bridgeEach driver implementation has its own testing setup and requirements. See the individual README files for detailed instructions:
- Python (PEP 249): See python/README.md
- Rust Core: See sf_core/README.md
- ODBC: See odbc/README.md
- JDBC: See jdbc/README.md
The project includes a test format validator that ensures Gherkin feature files have corresponding implementations:
# Run validator
./tests/tests_format_validator/run_validator.sh
# Or run directly
cd tests/tests_format_validator/
cargo run- Local: Tests auto-build missing Rust components
- CI: Requires pre-built components and explicit environment variables
- Docker: Reference tests use containerized official drivers
- Missing parameters.json: Run
./scripts/decode_secrets.shor create manually - Missing Rust library: Run
cargo build --package sf_core
Copyright (c) Snowflake Inc. All rights reserved.
Licensed under the Apache License 2.0.