MCPcopy Create free account
hub / github.com/vektah/gqlparser / TestCustomRuleSet

Function TestCustomRuleSet

validator/validator_test.go:253–293  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

251}
252
253func TestCustomRuleSet(t *testing.T) {
254 someRule := validator.Rule{
255 Name: "SomeRule",
256 RuleFunc: func(observers *validator.Events, addError validator.AddErrFunc) {
257 addError(validator.Message("%s", "some error message"))
258 },
259 }
260
261 someOtherRule := validator.Rule{
262 Name: "SomeOtherRule",
263 RuleFunc: func(observers *validator.Events, addError validator.AddErrFunc) {
264 addError(validator.Message("%s", "some other error message"))
265 },
266 }
267
268 s := gqlparser.MustLoadSchema(
269 &ast.Source{
270 Name: "graph/schema.graphqls",
271 Input: `
272 type Query {
273 bar: String!
274 }
275 `, BuiltIn: false,
276 },
277 )
278
279 q, err := parser.ParseQuery(&ast.Source{
280 Name: "SomeQuery",
281 Input: `
282 query Foo($flag: Boolean!) {
283 ...Bar
284 }
285 `,
286 })
287 require.NoError(t, err)
288
289 errList := validator.Validate(s, q, []validator.Rule{someRule, someOtherRule}...)
290 require.Len(t, errList, 2)
291 require.Equal(t, "some error message", errList[0].Message)
292 require.Equal(t, "some other error message", errList[1].Message)
293}
294
295func TestCustomRuleSetWithRules(t *testing.T) {
296 someRule := validator.Rule{

Callers

nothing calls this directly

Calls 3

ParseQueryFunction · 0.92
ValidateFunction · 0.92
LenMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…