mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-05-24 17:06:55 +02:00
Created Request Matching GraphQLMatcher (markdown)
@@ -0,0 +1,74 @@
|
|||||||
|
## GraphQL Schema (GraphQLMatcher)
|
||||||
|
Can be used to match a GraphQL Query or Mutation using GraphQAL Schema.
|
||||||
|
|
||||||
|
#### C# option
|
||||||
|
```csharp
|
||||||
|
var TestSchema = @"
|
||||||
|
input MessageInput {
|
||||||
|
content: String
|
||||||
|
author: String
|
||||||
|
}
|
||||||
|
|
||||||
|
type Message {
|
||||||
|
id: ID!
|
||||||
|
content: String
|
||||||
|
author: String
|
||||||
|
}
|
||||||
|
|
||||||
|
type Mutation {
|
||||||
|
createMessage(input: MessageInput): Message
|
||||||
|
updateMessage(id: ID!, input: MessageInput): Message
|
||||||
|
}
|
||||||
|
|
||||||
|
type Query {
|
||||||
|
greeting:String
|
||||||
|
students:[Student]
|
||||||
|
studentById(id:ID!):Student
|
||||||
|
}
|
||||||
|
|
||||||
|
type Student {
|
||||||
|
id:ID!
|
||||||
|
firstName:String
|
||||||
|
lastName:String
|
||||||
|
fullName:String
|
||||||
|
}";
|
||||||
|
|
||||||
|
var server = WireMockServer.Start();
|
||||||
|
server
|
||||||
|
.Given(Request.Create()
|
||||||
|
.WithPath("/graphql")
|
||||||
|
.UsingPost()
|
||||||
|
.WithGraphQLSchema(TestSchema)
|
||||||
|
)
|
||||||
|
.RespondWith(Response.Create()
|
||||||
|
.WithBody("GraphQL is ok")
|
||||||
|
);
|
||||||
|
```
|
||||||
|
|
||||||
|
#### JSON Mapping option
|
||||||
|
``` json
|
||||||
|
{
|
||||||
|
"Guid": "5a36d1c1-11df-4976-90f9-22cae5dadb38",
|
||||||
|
"UpdatedAt": "2023-07-08T17:02:06.1072879Z",
|
||||||
|
"Request": {
|
||||||
|
"Path": {
|
||||||
|
"Matchers": [
|
||||||
|
{
|
||||||
|
"Name": "WildcardMatcher",
|
||||||
|
"Pattern": "/graphql",
|
||||||
|
"IgnoreCase": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Methods": [
|
||||||
|
"POST"
|
||||||
|
],
|
||||||
|
"Body": {
|
||||||
|
"Matcher": {
|
||||||
|
"Name": "GraphQLMatcher",
|
||||||
|
"Pattern": "\r\n input MessageInput {\r\n content: String\r\n author: String\r\n }\r\n\r\n type Message {\r\n id: ID!\r\n content: String\r\n author: String\r\n }\r\n\r\n type Mutation {\r\n createMessage(input: MessageInput): Message\r\n updateMessage(id: ID!, input: MessageInput): Message\r\n }\r\n\r\n type Query {\r\n greeting:String\r\n students:[Student]\r\n studentById(id:ID!):Student\r\n }\r\n\r\n type Student {\r\n id:ID!\r\n firstName:String\r\n lastName:String\r\n fullName:String \r\n }"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user