Comments (2)
Matcher.EachKeyLike(_:)
has been added to PactSwift on branch feature/matcher-each-key-like
. This is the first MVP to support this. In the future might find some more time to allow different variations of the struct's init
(eg: passing in a dictionary). For now, this should suffice.
For the following response containing "abc"
and "xyz"
during consumer test and where they should be considered as wildcards at provider verification time:
{
"abc": { "field1": "value1", "field2": 123 },
"xyz": { "field1": "value2", "field2": 456 }
}
use the EachKeyLike
matcher as:
.willRespondWith(
status: 200,
body: [
"abc": Matcher.EachKeyLike([
"field1": Matcher.SomethingLike("value1"),
"field2": Matcher.IntegerLike(123)
]),
"xyz": Matcher.EachKeyLike([
"field1": Matcher.SomethingLike("value2"),
"field2": Matcher.IntegerLike(456)
])
]
)
The generated matchers will look like:
"matchingRules": {
"body": {
"$.*": {
"combine": "AND",
"matchers": [{"match": "type"}]
},
"$.*.field1": {
"combine": "AND",
"matchers": [{"match": "type"}]
},
"$.*.field2": {
"combine": "AND",
"matchers": [{"match": "integer"}]
}
}
},
from pactswift.
Available from PactSwift v0.13.0
.
from pactswift.
Related Issues (20)
- Support Cocoapods along side Carthage and SPM HOT 1
- Question: Is it possible to use generators in requests? HOT 4
- Question: Rest vs GraphQL services HOT 3
- Reporting a vulnerability
- Question: What about Pact Specification v4? HOT 2
- Question: arrayContaining Matcher and the dynamic JSON keys. HOT 7
- Surface interaction mismatches to the test running the validation
- Support matchers and example generators in requests
- Task: Clean up tests and Linux specific code HOT 1
- Task: Unit tests for swift concurrency refactor HOT 4
- Task: Proof of concept using Pact plugins
- Task: Find a way to reduce PactSwiftMockServer repo size HOT 1
- Create new release with concurrency support HOT 3
- Allow to merge with existing pact file HOT 2
- Question: Create PACT for JSON body that contains only a string HOT 4
- Unable to run real device -- Pactconsumer HOT 1
- Unable to run real device — Pactswift HOT 2
- PactSwift how to build on CI HOT 3
- Rules defined on the mock services aren't all written to the generated pact contract. HOT 6
- Feature Request: Add Ability to Pass Custom Header for Verification HOT 14
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pactswift.