Skip to content
This repository has been archived by the owner on Sep 6, 2019. It is now read-only.

Commit

Permalink
Fix tests failing
Browse files Browse the repository at this point in the history
  • Loading branch information
Tomas Mateus committed Jul 21, 2017
1 parent bd4b155 commit f09e77b
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 34 deletions.
21 changes: 21 additions & 0 deletions src/raml10/raml10AnnotationConverter.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// @flow
const _ = require('lodash');
const Root = require('../model/root');
const Definition = require('../model/definition');
const Annotation = require('../model/annotation');
const Converter = require('../model/converter');
Expand Down Expand Up @@ -112,6 +113,26 @@ class Raml10AnnotationConverter extends Converter {

return annotation;
}

static exportAnnotations(model:Root, annotationPrefix:string, ramlDef:any, source:any, target:any) {
if (source.hasOwnProperty('annotations') && _.isArray(source.annotations) && !_.isEmpty(source.annotations)) {
const annotationConverter = new Raml10AnnotationConverter(model, annotationPrefix, ramlDef);
_.assign(target, annotationConverter._export(source));
}
}

static importAnnotations(source:any, target:any, model:Root) {
if ((source.hasOwnProperty('annotations') && !_.isEmpty(source.annotations))
|| (source.hasOwnProperty('scalarsAnnotations') && !_.isEmpty(source.scalarsAnnotations))) {
const annotationConverter = new Raml10AnnotationConverter(model);
const annotations: Annotation[] = annotationConverter._import(source);
if (!_.isEmpty(annotations)) target.annotations = annotations;
if (target.definition) {
const definition: Definition = target.definition;
delete definition.annotations;
}
}
}
}

module.exports = Raml10AnnotationConverter;
3 changes: 1 addition & 2 deletions src/raml10/raml10InfoConverter.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ const Converter = require('../model/converter');
const ramlHelper = require('../helpers/raml');
const Raml10AnnotationConverter = require('../raml10/raml10AnnotationConverter');
const Raml10CustomAnnotationConverter = require('../raml10/raml10CustomAnnotationConverter');
const Raml10RootConverter = require('../raml10/raml10RootConverter');

class Raml10InfoConverter extends Converter {

Expand Down Expand Up @@ -107,7 +106,7 @@ class Raml10InfoConverter extends Converter {
delete oasInfo.license;
}

Raml10RootConverter.importAnnotations({annotations: oasInfo}, model, this.model);
Raml10AnnotationConverter.importAnnotations({annotations: oasInfo}, model, this.model);
}
}

Expand Down
15 changes: 7 additions & 8 deletions src/raml10/raml10MethodConverter.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ const Definition = require('../model/definition');
const Annotation = require('../model/annotation');
const Converter = require('../model/converter');
const SecurityRequirement = require('../model/securityRequirement');
const Raml10RootConverter = require('../raml10/raml10RootConverter');
const Raml10DefinitionConverter = require('../raml10/raml10DefinitionConverter');
const ParameterConverter = require('../common/parameterConverter');
const Raml10AnnotationConverter = require('../raml10/raml10AnnotationConverter');
Expand Down Expand Up @@ -106,7 +105,7 @@ class Raml10MethodConverter extends Converter {
Raml10CustomAnnotationConverter._createAnnotationType(this.def, this.annotationPrefix, id);
response['(' + id + ')'] = responseDef;
}
Raml10RootConverter.exportAnnotations(this.model, this.annotationPrefix, this.def, val, response);
Raml10AnnotationConverter.exportAnnotations(this.model, this.annotationPrefix, this.def, val, response);
const httpStatusCode: string = val.httpStatusCode;
if (httpStatusCode === 'default') {
const id = this.annotationPrefix + '-responses-default';
Expand Down Expand Up @@ -181,7 +180,7 @@ class Raml10MethodConverter extends Converter {
Raml10CustomAnnotationConverter._createAnnotationType(this.def, this.annotationPrefix, id);
ramlDef['(' + id + ')'] = model.externalDocs;
}
Raml10RootConverter.exportAnnotations(this.model, this.annotationPrefix, this.def, model, ramlDef);
Raml10AnnotationConverter.exportAnnotations(this.model, this.annotationPrefix, this.def, model, ramlDef);

return ramlDef;
}
Expand Down Expand Up @@ -230,7 +229,7 @@ class Raml10MethodConverter extends Converter {
Raml10CustomAnnotationConverter._createAnnotationType(ramlDef, annotationPrefix, id);
bodyDef['(' + id + ')'] = val.name;
}
Raml10RootConverter.exportAnnotations(model, annotationPrefix, ramlDef, val, bodyDef);
Raml10AnnotationConverter.exportAnnotations(model, annotationPrefix, ramlDef, val, bodyDef);
if (val.mimeType) {
const mimeType: string = val.mimeType;
body[mimeType] = bodyDef;
Expand All @@ -254,7 +253,7 @@ class Raml10MethodConverter extends Converter {
const bodyDef = converter._export(definition);
if (val.hasOwnProperty('description')) bodyDef.description = val.description;
Raml10MethodConverter.exportRequired(val, bodyDef);
Raml10RootConverter.exportAnnotations(model, annotationPrefix, ramlDef, val, bodyDef);
Raml10AnnotationConverter.exportAnnotations(model, annotationPrefix, ramlDef, val, bodyDef);
if (!body[mimeType]) {
body[mimeType] = {};
body[mimeType].properties = {};
Expand Down Expand Up @@ -397,7 +396,7 @@ class Raml10MethodConverter extends Converter {
if (!_.isEmpty(headers)) response.headers = headers;
const bodies: Body[] = Raml10MethodConverter.importBodies(value, definitionConverter, this.model, isRaml08Version);
if (!_.isEmpty(bodies)) response.bodies = bodies;
Raml10RootConverter.importAnnotations(value, response, this.model);
Raml10AnnotationConverter.importAnnotations(value, response, this.model);
if (hasParams) response.hasParams = true;
responses.push(response);
}
Expand Down Expand Up @@ -533,7 +532,7 @@ class Raml10MethodConverter extends Converter {
Raml10MethodConverter.importRequired(object, body, isRaml08Version);
if (object.hasOwnProperty('examples')) Raml10MethodConverter.importExamples(object, definition);
body.definition = definition;
Raml10RootConverter.importAnnotations(object, body, this.model);
Raml10AnnotationConverter.importAnnotations(object, body, this.model);

return body;
}
Expand Down Expand Up @@ -591,7 +590,7 @@ class Raml10MethodConverter extends Converter {
if (!schema.hasOwnProperty('type') && !jsonHelper.parse(schema).hasOwnProperty('type')) delete body.definition.internalType;
Raml10MethodConverter.importRequired(value, body, isRaml08Version);
Raml10MethodConverter.importExamples(value, body.definition);
Raml10RootConverter.importAnnotations(value, body, this.model);
Raml10AnnotationConverter.importAnnotations(value, body, this.model);
if (hasParams) body.hasParams = true;
bodies.push(body);
}
Expand Down
6 changes: 3 additions & 3 deletions src/raml10/raml10ResourceConverter.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ const SecurityRequirement = require('../model/securityRequirement');
const Parameter = require('../model/parameter');
const Item = require('../model/item');
const Converter = require('../model/converter');
const Raml10RootConverter = require('../raml10/raml10RootConverter');
const Raml10MethodConverter = require('../raml10/raml10MethodConverter');
const Raml10AnnotationConverter = require('../raml10/raml10AnnotationConverter');
const ParameterConverter = require('../common/parameterConverter');
const helper = require('../helpers/converter');
const ramlHelper = require('../helpers/raml');
Expand Down Expand Up @@ -183,7 +183,7 @@ class Raml10ResourceConverter extends Converter {
}
}

Raml10RootConverter.exportAnnotations(this.model, this.annotationPrefix, this.def, model, ramlDef);
Raml10AnnotationConverter.exportAnnotations(this.model, this.annotationPrefix, this.def, model, ramlDef);

if (model.hasOwnProperty('securedBy')) {
ramlDef.securedBy = Raml10MethodConverter.exportSecurityRequirements(model);
Expand Down Expand Up @@ -402,7 +402,7 @@ class Raml10ResourceConverter extends Converter {
}
}

Raml10RootConverter.importAnnotations(ramlDef, model, this.model);
Raml10AnnotationConverter.importAnnotations(ramlDef, model, this.model);

if (ramlDef.hasOwnProperty('securedBy')) {
Raml10ResourceConverter.addInheritedSecuredBy(ramlDef, ramlDef.securedBy);
Expand Down
21 changes: 4 additions & 17 deletions src/raml10/raml10RootConverter.js
Original file line number Diff line number Diff line change
Expand Up @@ -160,18 +160,18 @@ class Raml10RootConverter extends Converter {
const externalDocs = {};
if (externalDocsModel.hasOwnProperty('url')) externalDocs.url = externalDocsModel.url;
if (externalDocsModel.hasOwnProperty('description')) externalDocs.description = externalDocsModel.description;
Raml10RootConverter.exportAnnotations(this.model, this.annotationPrefix, ramlDef, externalDocsModel, externalDocs);
Raml10AnnotationConverter.exportAnnotations(this.model, this.annotationPrefix, ramlDef, externalDocsModel, externalDocs);
ramlDef['(' + id + ')'] = externalDocs;
}
if (model.hasOwnProperty('resourceAnnotations')) {
const resourceAnnotationsModel: Resource = model.resourceAnnotations;
const id = this.annotationPrefix + '-paths';
Raml10CustomAnnotationConverter._createAnnotationType(ramlDef, this.annotationPrefix, id);
const resourceAnnotations = {};
Raml10RootConverter.exportAnnotations(this.model, this.annotationPrefix, ramlDef, resourceAnnotationsModel, resourceAnnotations);
Raml10AnnotationConverter.exportAnnotations(this.model, this.annotationPrefix, ramlDef, resourceAnnotationsModel, resourceAnnotations);
ramlDef['(' + id + ')'] = resourceAnnotations;
}
Raml10RootConverter.exportAnnotations(this.model, this.annotationPrefix, ramlDef, model, ramlDef);
Raml10AnnotationConverter.exportAnnotations(this.model, this.annotationPrefix, ramlDef, model, ramlDef);

return ramlDef;
}
Expand Down Expand Up @@ -237,7 +237,7 @@ class Raml10RootConverter extends Converter {
}
}
model.baseUri = baseUri;
Raml10RootConverter.importAnnotations(ramlDef.baseUri, model, model);
Raml10AnnotationConverter.importAnnotations(ramlDef.baseUri, model, model);
}

if (ramlDef.hasOwnProperty('baseUriParameters')) {
Expand Down Expand Up @@ -347,19 +347,6 @@ class Raml10RootConverter extends Converter {
return result;
}

static importAnnotations(source:any, target:any, model:Root) {
if ((source.hasOwnProperty('annotations') && !_.isEmpty(source.annotations))
|| (source.hasOwnProperty('scalarsAnnotations') && !_.isEmpty(source.scalarsAnnotations))) {
const annotationConverter = new Raml10AnnotationConverter(model);
const annotations: Annotation[] = annotationConverter._import(source);
if (!_.isEmpty(annotations)) target.annotations = annotations;
if (target.definition) {
const definition: Definition = target.definition;
delete definition.annotations;
}
}
}

}

module.exports = Raml10RootConverter;
4 changes: 2 additions & 2 deletions src/raml10/raml10SecurityDefinitionConverter.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const SecurityScope = require('../model/securityScope');
const Method = require('../model/method');
const SecurityDefinition = require('../model/securityDefinition');
const Raml10MethodConverter = require('../raml10/raml10MethodConverter');
const Raml10RootConverter = require('../raml10/raml10RootConverter');
const Raml10AnnotationConverter = require('../raml10/raml10AnnotationConverter');

class Raml10SecurityDefinitionConverter extends Converter {

Expand Down Expand Up @@ -108,7 +108,7 @@ class Raml10SecurityDefinitionConverter extends Converter {
ramlDef.describedBy = method;
}

Raml10RootConverter.exportAnnotations(this.model, this.annotationPrefix, this.def, model, ramlDef);
Raml10AnnotationConverter.exportAnnotations(this.model, this.annotationPrefix, this.def, model, ramlDef);

return ramlDef;
}
Expand Down
4 changes: 2 additions & 2 deletions test/lib2/model/converter.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ const myFsResolver = {
}
};

describe.skip('Raml10 to Raml10', () => {
describe('Raml10 to Raml10', () => {
const baseDir = __dirname + '/../../data2/raml10-raml10/source';
const testFiles = fs.readdirSync(baseDir);
const converter = new specConverter.NewConverter(specConverter.Formats.RAML, specConverter.Formats.RAML);
Expand Down Expand Up @@ -168,7 +168,7 @@ describe('Oas20 to Oas20', () => {
});
});

describe.skip('Raml10 to Oas20', () => {
describe('Raml10 to Oas20', () => {
const baseDir = __dirname + '/../../data2/raml10-oas20/source';
const testFiles = fs.readdirSync(baseDir);
const converter = new specConverter.NewConverter(specConverter.Formats.RAML, specConverter.Formats.OAS20);
Expand Down

0 comments on commit f09e77b

Please sign in to comment.