@@ -566,21 +566,62 @@ def resolver(*_):
566
566
def test_middleware ():
567
567
doc = '''{
568
568
ok
569
+ not_ok
569
570
}'''
570
571
571
572
class Data (object ):
572
573
573
574
def ok (self ):
574
575
return 'ok'
575
576
577
+ def not_ok (self ):
578
+ return 'not_ok'
579
+
576
580
doc_ast = parse (doc )
577
581
578
582
Type = GraphQLObjectType ('Type' , {
579
583
'ok' : GraphQLField (GraphQLString ),
584
+ 'not_ok' : GraphQLField (GraphQLString ),
580
585
})
581
- middlewares = MiddlewareManager (lambda * _ : None )
586
+
587
+ def reversed_middleware (next , * args , ** kwargs ):
588
+ p = next (* args , ** kwargs )
589
+ return p .then (lambda x : x [::- 1 ])
590
+
591
+ middlewares = MiddlewareManager (reversed_middleware )
592
+ result = execute (GraphQLSchema (Type ), doc_ast , Data (), middlewares = middlewares )
593
+ assert result .data == {'ok' : 'ko' , 'not_ok' : 'ko_ton' }
594
+
595
+
596
+ def test_middleware_class ():
597
+ doc = '''{
598
+ ok
599
+ not_ok
600
+ }'''
601
+
602
+ class Data (object ):
603
+
604
+ def ok (self ):
605
+ return 'ok'
606
+
607
+ def not_ok (self ):
608
+ return 'not_ok'
609
+
610
+ doc_ast = parse (doc )
611
+
612
+ Type = GraphQLObjectType ('Type' , {
613
+ 'ok' : GraphQLField (GraphQLString ),
614
+ 'not_ok' : GraphQLField (GraphQLString ),
615
+ })
616
+
617
+ class MyMiddleware (object ):
618
+ def resolve (self , next , * args , ** kwargs ):
619
+ p = next (* args , ** kwargs )
620
+ return p .then (lambda x : x [::- 1 ])
621
+
622
+ middlewares = MiddlewareManager (MyMiddleware ())
582
623
result = execute (GraphQLSchema (Type ), doc_ast , Data (), middlewares = middlewares )
583
- assert result .data == {'ok' : None }
624
+ assert result .data == {'ok' : 'ko' , 'not_ok' : 'ko_ton' }
584
625
585
626
586
627
def test_middleware_wrong ():
0 commit comments