@@ -21,7 +21,7 @@ describe('swagger resolver', function () {
2121 instance . close ( ) ;
2222 done ( ) ;
2323 } ) ;
24-
24+
2525 it ( 'is OK without remote references' , function ( done ) {
2626 var api = new Resolver ( ) ;
2727 var spec = { } ;
@@ -1276,4 +1276,79 @@ describe('swagger resolver', function () {
12761276 done ( ) ;
12771277 } ) ;
12781278 } ) ;
1279+
1280+ it ( 'resolves remote parameters' , function ( done ) {
1281+ var api = new Resolver ( ) ;
1282+ var spec = {
1283+ swagger :'2.0' ,
1284+ info :{ } ,
1285+ host :'localhost:9000' ,
1286+ basePath :'/2.0' ,
1287+ paths :{
1288+ '/' :{
1289+ get :{
1290+ responses :{
1291+ '200' :{
1292+ description :'thanks'
1293+ }
1294+ } ,
1295+ parameters :[
1296+ {
1297+ '$ref' : 'http://localhost:8000/v2/parameters.json#/query/skip'
1298+ }
1299+ ]
1300+ }
1301+ }
1302+ }
1303+ } ;
1304+ api . resolve ( spec , 'http://localhost:9000/v2/swagger.json' , function ( spec , unresolved ) {
1305+ expect ( spec . paths [ '/' ] . get . parameters [ 0 ] . name ) . toBe ( 'skip' ) ;
1306+ done ( ) ;
1307+ } ) ;
1308+ } ) ;
1309+
1310+ it ( 'resolves remote paths' , function ( done ) {
1311+ var api = new Resolver ( ) ;
1312+ var spec = {
1313+ swagger :'2.0' ,
1314+ info :{ } ,
1315+ host :'localhost:9000' ,
1316+ basePath :'/2.0' ,
1317+ paths :{
1318+ '/' : {
1319+ '$ref' : 'http://localhost:8000/v2/operations.json#/health'
1320+ }
1321+ }
1322+ } ;
1323+ api . resolve ( spec , 'http://localhost:9000/v2/swagger.json' , function ( spec , unresolved ) {
1324+ expect ( spec . paths [ '/' ] . get ) . toBeAn ( 'object' ) ;
1325+ done ( ) ;
1326+ } ) ;
1327+ } ) ;
1328+
1329+ it ( 'resolves remote responses' , function ( done ) {
1330+ var api = new Resolver ( ) ;
1331+ var spec = {
1332+ swagger :'2.0' ,
1333+ info :{ } ,
1334+ host :'localhost:9000' ,
1335+ basePath :'/2.0' ,
1336+ paths :{
1337+ '/' : {
1338+ get :{
1339+ responses :{
1340+ '200' :{
1341+ '$ref' : 'http://localhost:8000/v2/responses.json#/NotFoundError'
1342+ }
1343+ } ,
1344+ parameters :[ ]
1345+ }
1346+ }
1347+ }
1348+ } ;
1349+ api . resolve ( spec , 'http://localhost:9000/v2/swagger.json' , function ( spec , unresolved ) {
1350+ expect ( spec . paths [ '/' ] . get . responses [ '200' ] . description ) . toBe ( 'Entity not found' ) ;
1351+ done ( ) ;
1352+ } ) ;
1353+ } ) ;
12791354} ) ;
0 commit comments