2017 © Pedro Peláez
 

library behat-wiremock-extension

Behat extension for wiremock

image

timitao/behat-wiremock-extension

Behat extension for wiremock

  • Wednesday, February 24, 2016
  • by timiTao
  • Repository
  • 1 Watchers
  • 0 Stars
  • 37 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Behat Wiremock Extension

A Behat Extension that manage over Wiremock as a test for API calls., (*1)

Compatibility with Behat 3.0.*, (*2)

This extension helps configure remote server, when we need to take control over thirds part services. Over each scenario, the API will be automatically reset., (*3)

Installing extension

The easiest way to install is by using Composer:, (*4)

$> curl -sS https://getcomposer.org/installer | php
$> php composer.phar require timitao/behat-wiremock-extension='1.0.*'

or composer.json, (*5)

"require": {
    "timitao/behat-wiremock-extension": "1.0.*"
},

Configuration

We can define services and map files by:, (*6)

extensions:
    Behat\WiremockExtension\ServiceContainer\Extension:
        wiremock:
            services:
                  client1:
                        base_url: http://192.168.205.11
                        mappings_path: %paths.base%/data/mapping.json
                  client2:
                        base_url: http://192.168.205.12
                        mappings_path: %paths.base%/data/mapping2.json

Example

Look at this wiremock.feature, (*7)

If you want this to test, will need recipe Vagrant for BehatWiremockExtension i tested over. Then run tests on server node. The IP is hard coded in recipe for test purpose., (*8)

Reset strategies

Default

By default, before each scenario - all services will be reset. By default it looks like:, (*9)

Behat\WiremockExtension\ServiceContainer\Extension:
  wiremock:
    reset_strategy:
      name: always

By Tags

Second option is to manage by tags. Then config file should look like:, (*10)

Behat\WiremockExtension\ServiceContainer\Extension:
  wiremock:
    reset_strategy:
      name: by_tags
      options:
        services:
          client1: wiremockService1Reset
          client2: wiremockService2Reset
    services:
      client1:
        base_url: http://192.168.205.11
        mappings_path: %paths.base%/data/mapping.json
      client2:
        base_url: http://192.168.205.12
        mappings_path: %paths.base%/data/mapping2.json

Then scenario we can manage this by:, (*11)

Feature:
    @wiremockService1Reset
    Scenario:
        Given I send GET request to "192.168.205.11/hello/world" expect "Tests tags"

    @wiremockService2Reset
    Scenario:
        Given I send GET request to "192.168.205.12/hello/mark" expect "Tests tags 2"

Versioning

Staring version 1.0.0, will follow Semantic Versioning v2.0.0., (*12)

Contributors

  • Tomasz Kunicki TimiTao [lead developer]

The Versions

24/02 2016

dev-master

9999999-dev

Behat extension for wiremock

  Sources   Download

MIT

The Requires

 

The Development Requires

15/07 2015

v1.0.1

1.0.1.0

Behat extension for wiremock

  Sources   Download

MIT

The Requires

 

The Development Requires

26/06 2015

1.0.0

1.0.0.0

Behat extension for wiremock

  Sources   Download

MIT

The Requires

 

The Development Requires