Skip to content

Commit 1127b12

Browse files
committed
rebuilt
1 parent 1727d56 commit 1127b12

File tree

7 files changed

+53
-13
lines changed

7 files changed

+53
-13
lines changed

browser/swagger-client.js

Lines changed: 4 additions & 4 deletions
Large diffs are not rendered by default.

browser/swagger-client.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/resolver.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ Resolver.prototype.resolve = function (spec, arg1, arg2, arg3) {
249249
accept: self.scope.swaggerRequestHeaders || 'application/json'
250250
},
251251
on: {
252-
error: function () {
252+
error: function (error) {
253253
processedCalls += 1;
254254
unresolvedRefs[item.key] = {
255255
root: item.root,
@@ -362,7 +362,7 @@ Resolver.prototype.finish = function (spec, root, resolutionTable, resolvedRefs,
362362
}
363363
var existingUnresolved = this.countUnresolvedRefs(spec);
364364

365-
if(existingUnresolved.length === 0 || this.iteration > 5) {
365+
if(existingUnresolved === 0 || this.iteration > 5) {
366366
this.resolveAllOf(spec.definitions);
367367
callback.call(this.scope, spec, unresolvedRefs);
368368
}

lib/spec-converter.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ SwaggerSpecConverter.prototype.responseMessages = function(operation, existingOp
292292
}
293293
// Convert responseModel -> schema{$ref: responseModel}
294294
if(existingResponse.responseModel) {
295-
response.schema = {'$ref': existingResponse.responseModel};
295+
response.schema = {'$ref': '#/definitions/' + existingResponse.responseModel};
296296
}
297297
operation.responses['' + existingResponse.code] = response;
298298
}

test/client.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ describe('SwaggerClient', function () {
480480
});
481481
});
482482

483-
it('applies both a request and response interceptor per #601 with promies', function(done) {
483+
it('applies both a request and response interceptor per #601 with promises', function(done) {
484484
var startTime = 0;
485485
var elapsed = 0;
486486

test/compat/converter.js

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ describe('converts specs', function () {
100100

101101
// models
102102
var definitions = swagger.definitions;
103-
expect(Object.keys(definitions).length).toBe(8);
103+
expect(Object.keys(definitions).length).toBe(9);
104104
var pet = definitions.Pet;
105105
expect(Object.keys(pet.properties).length).toBe(8);
106106
var photos = pet.properties.photoUrls;
@@ -125,6 +125,7 @@ describe('converts specs', function () {
125125
var converter = new SwaggerSpecConverter();
126126
converter.setDocumentationLocation('http://localhost:8001/v1/api-docs');
127127
converter.convert(data.obj, {}, function(swagger) {
128+
128129
// metadata tests
129130
expect(swagger.swagger).toBe('2.0');
130131
test.object(swagger.info);
@@ -279,7 +280,7 @@ describe('converts specs', function () {
279280
var operation = spec.paths['/responseModels'].get;
280281
expect(Object.keys(operation.responses).length).toBe(3); // 200 + 400 + default
281282

282-
expect(operation.responses['200'].schema).toEqual({'$ref': 'Test'});
283+
expect(operation.responses['200'].schema).toEqual({'$ref': '#/definitions/Test'});
283284
expect(operation.responses['404']).toEqual({description: 'You got no Test'});
284285

285286
});
@@ -295,5 +296,36 @@ describe('converts specs', function () {
295296
expect(model.required).toInclude('one');
296297

297298
});
299+
300+
it('makes the expected requests', function(done) {
301+
var callCount = 0;
302+
303+
var interceptor = {
304+
requestInterceptor: {
305+
apply: function (requestObj) {
306+
// rewrites an invalid pet id (-100) to be valid (1)
307+
// you can do what you want here, like inject headers, etc.
308+
callCount += 1
309+
return requestObj;
310+
}
311+
}
312+
};
313+
314+
new SwaggerClient({
315+
url: 'http://localhost:8001/v1/api-docs.json',
316+
usePromise: true,
317+
requestInterceptor: interceptor.requestInterceptor
318+
}).then(function(client) {
319+
var operation = client.apis.pet.operations.getPetById;
320+
expect(operation.successResponse[200].definition).toBeAn('object');
321+
expect(operation.responses[400].schema).toBeAn('object');
322+
expect(operation.responses[400].schema['$ref']).toBe('#/definitions/VeryBad');
323+
expect(callCount).toEqual(1);
324+
done();
325+
}).catch(function(e) {
326+
console.log(e);
327+
done(e);
328+
});
329+
});
298330
});
299331
});

test/spec/v1/pet

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,8 @@
110110
"responseMessages": [
111111
{
112112
"code": 400,
113-
"message": "Invalid ID supplied"
113+
"message": "Invalid ID supplied",
114+
"responseModel": "VeryBad"
114115
},
115116
{
116117
"code": 404,
@@ -554,6 +555,13 @@
554555
"$ref": "Phone"
555556
}
556557
}
558+
},
559+
"VeryBad": {
560+
"properties": {
561+
"message": {
562+
"type": "string"
563+
}
564+
}
557565
}
558566
}
559567
}

0 commit comments

Comments
 (0)