
Product
Introducing Socket Firewall Enterprise: Flexible, Configurable Protection for Modern Package Ecosystems
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.
@exogee/graphweaver-end-to-end
Advanced tools
This package tests the following:
examples folderNOTE: Each end to end test scenario has a different approach to preparing a graphweaver app to be tested, and building it in the app folder. For example, the import-rest step copies an existing, fully baked graphweaver app from the examples area. This means that you can modify schema files in that location and then import those changes into the system being tested. On the other hand, the import-database-sqlite step uses the approach of generating a graphweaver app from the schema of a database. This means the system being tested will be entirely based on the initial output of the graphweaver generator.
The database used to run these tests can be found here:
https://github.com/lerocha/chinook-database
The SQLite file has been copied from the above directory and stored in database.sqlite.
# Generate a private key
openssl ecparam -name prime256v1 -genkey -noout -out ecdsa-private-key.pem
# Derive the public key for the private key
openssl ec -in ecdsa-private-key.pem -pubout -out ecdsa-public-key.pem
Then, encode the PEM formatted keys as base64 strings:
# Output the private key in base64 format
cat ecdsa-private-key.pem | base64
# Output the public key in base64 format
cat ecdsa-public-key.pem | base64
Now we're ready to set the environment variables we'll need for the tests:
export AUTH_PRIVATE_KEY_PEM_BASE64="base64_encoded_pem_private_key"
export AUTH_PUBLIC_KEY_PEM_BASE64="base64_encoded_pem_public_key"
export AUTH_BASE_URI="http://localhost:9000"
export AUTH_WHITELIST_DOMAINS="localhost"
export AUTH_MAGIC_LINK_RATE_LIMIT="500"
Finally you can kick them off!
pnpm test-auth
pnpm dev-sqlite This will start the test server, leave this running to start the testspnpm test-sqlite in another terminal, this will execute the end to end test suite against the server started aboveBefore initiating the MySQL tests, ensure the following prerequisites are met on your local system:
MySQL Server: Make sure you have MySQL server installed on your machine. You can download and install MySQL from the official MySQL website.
Check mysql Command: Confirm that the 'mysql' command is operational in your terminal. In case you encounter a "mysql: command not found" error, follow the steps below to fix it. To add the mysql command to your system's PATH, execute the following command, replacing <mysql_bin_dir> with the actual directory containing the mysql binary: export PATH=$PATH:<mysql_bin_dir>
For instance, if your mysql binary is located in the /usr/local/mysql/bin directory, run: export PATH=$PATH:/usr/local/mysql/bin
Once executed, the "mysql: command not found" error should be resolved, and you can run the mysql command without issues.
To set temporary environment variables for your session, execute the following commands in your terminal: export DATABASE_USERNAME=root export DATABASE_PASSWORD=root export DATABASE_HOST=localhost
pnpm dev-mysql This will start the test server, leave this running to start the testspnpm test-mysql in another terminal, this will execute the end to end test suite against the server started aboveComprehensive documentation and usage examples can be found on our Docs Site. It covers installation instructions, detailed API documentation, and guides to help you get started with Graphweaver.
graphweaverThe Graphweaver Command Line Interface (CLI) tool enables you to set up and manage Graphweaver using commands in your command-line shell. Check the graphweaver npm package here.
Install the chrome browser using:
pnpm playwright install --with-deps chromium
Then
pnpm dev-sqlite This will start the test server, leave this running to start the testspnpm test-ui in another terminal, this will execute the end to end test suite against the server started aboveTo run the recorder use pnpm playwright codegen
Before running the Storage Provider make sure that you have followed the steps in the Storage Provider Example readme. This will create a local running S3 service and setup a test db.
Once you have this and have created a bucket make sure to configure the .env file in the storage provider example (This will get copied across when you run the below scripts).
Once you have setup these pre-requisites you can run the following scripts:
pnpm import-storage-provider // this will copy over the example app to the local ./app directory and use the packed node modules.
pnpm start-server // this will start the app from the ./app directory
pnpm test-ui-storage-provider // This will run the playwright UI tests
These tests are a 'prototype' for a fuzzer for Graphweaver.
To run them, follow the steps above to set up the Auth E2E tests, and then run pnpm test-fuzz.
FAQs
Graphweaver Test Suite
The npm package @exogee/graphweaver-end-to-end receives a total of 636 weekly downloads. As such, @exogee/graphweaver-end-to-end popularity was classified as not popular.
We found that @exogee/graphweaver-end-to-end demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.