NodeJS Driver for Snowflake
β | For production-affecting issues related to the driver, please create a case with Snowflake Support. |
---|
Install
Run npm i snowflake-sdk
in your existing NodeJs project.
Docs
For detailed documentation and basic usage examples, please see the documentation at NodeJS Driver for Snowflake.
Test
Prepare for tests
Specify env variables:
export SNOWFLAKE_TEST_USER=<your_user>
export SNOWFLAKE_TEST_PASSWORD=<your_password>
export SNOWFLAKE_TEST_ACCOUNT=<your_account>
export SNOWFLAKE_TEST_WAREHOUSE=<your_warehouse>
export SNOWFLAKE_TEST_DATABASE=<your_database>
export SNOWFLAKE_TEST_SCHEMA=<your_schema>
export SNOWFLAKE_TEST_PROTOCOL=<your_snowflake_protocol>
export SNOWFLAKE_TEST_HOST=<your_snowflake_host>
export SNOWFLAKE_TEST_PORT=<your_snowflake_port>
Run hang webserver:
python3 ci/container/hang_webserver.py 12345 &
Run tests
Run unit tests:
npm test
or
npm run test:unit
To run single test file use test:single
script, e.g. run tests in test/unit/snowflake_test.js
only:
npm run test:single -- test/unit/snowflake_test.js
Run integration tests:
npm run test:integration
Manual test
Specify env variables:
export RUN_MANUAL_TESTS_ONLY=true
export SNOWFLAKE_TEST_OKTA_USER=<your_okta_user>
export SNOWFLAKE_TEST_OKTA_PASS=<your_okta_password>
export SNOWFLAKE_TEST_OKTA_AUTH=<your_okta_auth>
export SNOWFLAKE_TEST_OAUTH_TOKEN=<your_oauth_accesstoken>
export SNOWFLAKE_TEST_BROWSER_USER=<your_browser_user>
Run manual connection test for different authenticators
npm run test:manual
Getting the code coverage
Run tests and show code coverage report
npm run test:ci:coverage
Package
The npm package can be built by the command:
npm pack
Note it is not required to build a package to run tests blow.
Development
Reformat source code
Check formatting on all files:
npm run lint:check:all
Check formatting of single file or directory e.g. test/unit/snowflake_test.js
:
npm run lint:check -- test/unit/snowflake_test.js
Fix potentially fixable formatting errors and warnings of single file or directory e.g. test/unit/logger
:
npm run lint:fix -- test/unit/logger