@@ -435,3 +435,90 @@ def test_valid(self, finder, path_2, operation_2, server):
435435 assert result == (
436436 path_2 , operation_2 , server , path_result , server_result ,
437437 )
438+
439+
440+ class TestConcretePaths (
441+ BaseTestSpecServer , BaseTestSimpleServer ):
442+
443+ path_name = '/keys/{id}/tokens'
444+
445+ @pytest .fixture
446+ def operation_2 (self ):
447+ return Operation ('get' , '/keys/master/tokens' , {}, {})
448+
449+ @pytest .fixture
450+ def operations_2 (self , operation_2 ):
451+ return {
452+ 'get' : operation_2 ,
453+ }
454+
455+ @pytest .fixture
456+ def path (self , operations ):
457+ return Path ('/keys/{id}/tokens' , operations )
458+
459+ @pytest .fixture
460+ def path_2 (self , operations_2 ):
461+ return Path ('/keys/master/tokens' , operations_2 )
462+
463+ @pytest .fixture
464+ def paths (self , path , path_2 ):
465+ return {
466+ path .name : path ,
467+ path_2 .name : path_2 ,
468+ }
469+
470+ def test_valid (self , finder , path_2 , operation_2 , server ):
471+ request_uri = '/keys/master/tokens'
472+ request = MockRequest (
473+ 'http://petstore.swagger.io' , 'get' , request_uri )
474+ result = finder .find (request )
475+
476+ path_result = TemplateResult (path_2 .name , {})
477+ server_result = TemplateResult (self .server_url , {})
478+ assert result == (
479+ path_2 , operation_2 , server , path_result , server_result ,
480+ )
481+
482+
483+ class TestTemplateConcretePaths (
484+ BaseTestSpecServer , BaseTestSimpleServer ):
485+
486+ path_name = '/keys/{id}/tokens/{id2}'
487+
488+ @pytest .fixture
489+ def operation_2 (self ):
490+ return Operation ('get' , '/keys/{id}/tokens/master' , {}, {})
491+
492+ @pytest .fixture
493+ def operations_2 (self , operation_2 ):
494+ return {
495+ 'get' : operation_2 ,
496+ }
497+
498+ @pytest .fixture
499+ def path (self , operations ):
500+ return Path ('/keys/{id}/tokens/{id2}' , operations )
501+
502+ @pytest .fixture
503+ def path_2 (self , operations_2 ):
504+ return Path ('/keys/{id}/tokens/master' , operations_2 )
505+
506+ @pytest .fixture
507+ def paths (self , path , path_2 ):
508+ return {
509+ path .name : path ,
510+ path_2 .name : path_2 ,
511+ }
512+
513+ def test_valid (self , finder , path_2 , operation_2 , server ):
514+ token_id = '123'
515+ request_uri = '/keys/{0}/tokens/master' .format (token_id )
516+ request = MockRequest (
517+ 'http://petstore.swagger.io' , 'get' , request_uri )
518+ result = finder .find (request )
519+
520+ path_result = TemplateResult (path_2 .name , {'id' : '123' })
521+ server_result = TemplateResult (self .server_url , {})
522+ assert result == (
523+ path_2 , operation_2 , server , path_result , server_result ,
524+ )
0 commit comments