-
Notifications
You must be signed in to change notification settings - Fork 118
/
util.go
67 lines (56 loc) · 1.17 KB
/
util.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package subscriptiontesting
import (
_ "embed"
"encoding/json"
)
const (
chatExampleDirectoryRelativePath = "pkg/testing/subscriptiontesting"
MutationSendMessage = `mutation SendMessage{
post(roomName: "#test", username: "myuser", text: "Hello World!") {
text
createdBy
}
}`
QueryGetMessages = `query GetMessages {
room(name:"#test") {
name
messages {
text
createdBy
}
}
}`
SubscriptionLiveMessages = `subscription LiveMessages {
messageAdded(roomName: "#test") {
text
createdBy
}
}`
InvalidSubscriptionLiveMessages = `subscription LiveMessages {
messageAdded(roomName: "#test") {
a: text
}
messageAdded(roomName: "#test") {
a: createdBy
}
}`
InvalidOperation = `query InvalidOperation {
serverName
}
`
)
type graphqlRequest struct {
OperationName string `json:"operationName"`
Query string `json:"query"`
Variables json.RawMessage `json:"variables"`
}
//go:embed schema.graphql
var ChatSchema []byte
func GraphQLRequestForOperation(operation string) ([]byte, error) {
gqlRequest := graphqlRequest{
OperationName: "",
Query: operation,
Variables: nil,
}
return json.Marshal(gqlRequest)
}