Exciting release!Introducing "safe npm". Learn more
Socket
Log inDemoInstall

@devoxa/integresql-client

Package Overview
Dependencies
2
Maintainers
1
Versions
1
Issues
File Explorer

Advanced tools

@devoxa/integresql-client

IntegreSQL client for managing isolated PostgreSQL databases in integration tests

    1.0.0latest
    GitHub

Version published
Maintainers
1
Weekly downloads
914
increased by27.12%

Weekly downloads

Readme

Source

integresql-client

IntegreSQL client for managing isolated PostgreSQL databases in integration tests.

Package Version Build Status Code Coverage

InstallationUsageContributorsLicense


Installation

yarn add @devoxa/integresql-client

To install IntegreSQL, please follow their installation instructions.

Usage

Full example

For a full usage example, have a look the integration tests.

Step-by-step guide

  1. Initialize the IntegreSQL client
import { IntegreSQLClient } from '@devoxa/integresql-client' const integreSQL = new IntegreSQLClient({ url: 'http://localhost:5000' }) // options.url: The URL of the IntegreSQL instance
  1. (Once per test runner process) Get a hash of the migrations & fixtures
// The hash can be generated in any way that fits your business logic, the included // helper creates a SHA1 hash of the file content of all files matching the glob patterns. const hash = await integreSQL.hashFiles(['./migrations/**/*', './fixtures/**/*'])
  1. (Once per test runner process) Initialize the template database
await integreSQL.initializeTemplate(hash, async (databaseConfig) => { await migrateTemplateDatabase(databaseConfig) await seedTemplateDatabase(databaseConfig) await disconnectFromDatabase(databaseConfig) })
  1. (Before each test) Get a isolated test database
const databaseConfig = await integreSQL.getTestDatabase(hash)

Helpers

  • integreSQL.databaseConfigToConnectionUrl(databaseConfig)

API requests

You can directly send requests to the IntegreSQL instance via the included API client, or optionally instantiate a new IntegreSQLApiClient yourself.

await integreSQL.api.reuseTestDatabase(hash, id) const api = new IntegreSQLApiClient({ url: 'http://localhost:5000' }) await api.reuseTestDatabase(hash, id)

Contributors

Thanks goes to these wonderful people (emoji key):


David Reeß

💻 📖 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!

License

MIT

FAQs

Last updated on 04 Feb 2023

Did you know?

Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install Socket
Socket
support@socket.devSocket SOC 2 Logo

Product

  • Package Issues
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc