Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

karma-pact

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

karma-pact

Launches a Pact Mock Server for Karma

  • 0.0.7
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
7
increased by600%
Maintainers
1
Weekly downloads
 
Created
Source

Karma Pact

Build Status

Implementation of a Karma Plugin to launch a Pact Mock Server before executing your Pact tests on the browser.

From the Pact website:

The Pact family of frameworks provide support for Consumer Driven Contracts testing.

A Contract is a collection of agreements between a client (Consumer) and an API (Provider) that describes the interactions that can take place between them.

Consumer Driven Contracts is a pattern that drives the development of the Provider from its Consumers point of view.

Pact is a testing tool that guarantees those Contracts are satisfied.

Read Getting started with Pact for more information on how to get going.

Installation

First install the package from NPM:

npm install --save-dev karma-pact

Then, on your Karma Configuration file, add the below:

module.exports = function (config) {
  config.set({
    // in here we are simply telling to use Jasmine with Pact
    frameworks: ['jasmine', 'pact'],
    // the Pact opts will go here
    pact: {}
  })

The pact configuration in the file is as follows (same present at pact-node):

{
  port: <Number>,     // Port number that the server runs on, defaults to 1234
  host: <String>,     // Host on which to bind the server on, defaults to 'localhost'
  log: <String>,      // File to log output on relative to current working directory, defaults to none
  ssl: <Boolean>,     // Create a self-signed SSL cert to run the server over HTTPS , defaults to 'false'
  cors: <Boolean>,    // Allow CORS OPTION requests to be accepted, defaults to 'false'
  dir: <String>,      // Directory to write the pact contracts relative to the current working directory, defaults to none
  spec: <Number>,     // The pact specification version to use when writing pact contracts, defaults to '1'
  consumer: <String>, // The name of the consumer to be written to the pact contracts, defaults to none
  provider: <String>  // The name of the provider to be written to the pact contracts, defaults to none
}

Examples

Check the karma folder under Pact JS for examples with Mocha and Jasmine.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

If you would like to implement Pact in another language, please check out the Pact specification and have a chat to one of us on the pact-dev Google group.

The vision is to have a compatible Pact implementation in all the commonly used languages, your help would be greatly appreciated!

Contact

Keywords

FAQs

Package last updated on 21 Sep 2016

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc