NodeJS Driver for Snowflake
❗ | For production-affecting issues related to the driver, please create a case with Snowflake Support. |
---|
Install
Include snowflake-sdk
in dependencies
section in package.json
{
"name": "<your_application_name>",
"version": "<your_application_version>",
"dependencies": {
"...": "...",
"snowflake-sdk": "^1.6.22",
"...": "..."
}
}
And run the npm install
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 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 test:integration
Getting the code coverage
- Go to nodejs project directory
cd snowflake-connector-nodejs
- Install the node connector
npm install .
- Install the nyc module which displays the code coverage
npm install nyc
- Edit the package.json file and replace the specified test with the one below:
"scripts": {
"test": "nyc mocha test/**/*.js"
},
- Using git bash, run the "npm test" command and include the connection parameters in the same line:
SNOWFLAKE_TEST_USER="user" SNOWFLAKE_TEST_PASSWORD="password" SNOWFLAKE_TEST_ACCOUNT="account" SNOWFLAKE_TEST_WAREHOUSE="warehouse" SNOWFLAKE_TEST_DATABASE="db" SNOWFLAKE_TEST_SCHEMA="schema" npm test
- The code coverage results will be displayed in the console when the test finishes executing
Note: git bash is the console used for installing the node connector, the nyc module, and running "npm test"
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
Use WebStorm code style file to format the source code.
format.sh -mask "*.js" -settings $(pwd)/webstorm-codestyle.xml -R $(pwd)/lib/ -R $(pwd)/test -R $(pwd)/system_test