Sha256: fdc80e8f4d031bb09377ed488853c9582f0f8b224d399606ca9b9d5d7520df8d
Contents?: true
Size: 1023 Bytes
Versions: 3
Compression:
Stored size: 1023 Bytes
Contents
```rb require 'pacto' Pacto.configure do |c| c.contracts_path = 'contracts' end Pacto.validate! ``` You can create a custom cop that investigates the request/response and sees if it complies with a contract. The cop should return a list of citations if it finds any problems. ```rb class MyCustomCop def investigate(_request, _response, contract) citations = [] citations << 'Contract must have a request schema' if contract.request.schema.empty? citations << 'Contract must have a response schema' if contract.response.schema.empty? citations end end Pacto::Cops.active_cops << MyCustomCop.new contracts = Pacto.load_contracts('contracts', 'http://localhost:5000') contracts.stub_providers puts contracts.simulate_consumers ``` Or you can completely replace the default set of validators ```rb Pacto::Cops.registered_cops.clear Pacto::Cops.register_cop Pacto::Cops::ResponseBodyCop contracts = Pacto.load_contracts('contracts', 'http://localhost:5000') puts contracts.simulate_consumers ```
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pacto-0.4.0.rc3 | docs/cops.md |
pacto-0.4.0.rc2 | docs/cops.md |
pacto-0.4.0.rc1 | docs/cops.md |