refactor: update the usage of the validator tool

This commit is contained in:
Michel Jonathan Schmitz
2019-01-30 10:41:25 +01:00
parent da044bf470
commit 721fa02d5b
3 changed files with 125 additions and 11 deletions

119
package-lock.json generated
View File

@@ -215,14 +215,15 @@
}
},
"@openstapps/core-tools": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/@openstapps/core-tools/-/core-tools-0.1.1.tgz",
"integrity": "sha512-TGToynTkkud72q83JMY/pj28mFqW6tMNRX/SeGuAs0EDvlUaYDZBWiX7AlM7gM2MQSBWJIvK5pQ8S2Xct9js/w==",
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@openstapps/core-tools/-/core-tools-0.2.0.tgz",
"integrity": "sha512-sDRibFLdJP0K2eLx8wNHVYjizwKP2t5iZpnsBQGnybppAjOPXlDPwdJuDi6OGo0A0QSW/eiqdnDmAGnlh0a32Q==",
"dev": true,
"requires": {
"@openstapps/logger": "0.0.3",
"@types/async": "2.0.50",
"@types/chai": "4.1.7",
"@types/del": "3.0.1",
"@types/glob": "7.1.1",
"@types/humanize-string": "1.0.0",
"@types/mocha": "5.2.5",
@@ -233,12 +234,14 @@
"async-pool-native": "0.1.0",
"chai": "4.2.0",
"commander": "2.19.0",
"del": "3.0.0",
"glob": "7.1.3",
"humanize-string": "1.0.2",
"jsonschema": "1.2.4",
"mocha": "5.2.0",
"mocha-typescript": "1.1.17",
"mustache": "3.0.1",
"toposort": "2.0.2",
"ts-json-schema-generator": "0.38.1",
"ts-node": "7.0.1",
"typedoc": "0.14.0"
@@ -374,6 +377,15 @@
"@types/node": "*"
}
},
"@types/del": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@types/del/-/del-3.0.1.tgz",
"integrity": "sha512-y6qRq6raBuu965clKgx6FHuiPu3oHdtmzMPXi8Uahsjdq1L6DL5fS/aY5/s71YwM7k6K1QIWvem5vNwlnNGIkQ==",
"dev": true,
"requires": {
"@types/glob": "*"
}
},
"@types/events": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
@@ -578,6 +590,21 @@
"integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=",
"dev": true
},
"array-union": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
"dev": true,
"requires": {
"array-uniq": "^1.0.1"
}
},
"array-uniq": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
"dev": true
},
"arrify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
@@ -1135,6 +1162,20 @@
"type-detect": "^4.0.0"
}
},
"del": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz",
"integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
"dev": true,
"requires": {
"globby": "^6.1.0",
"is-path-cwd": "^1.0.0",
"is-path-in-cwd": "^1.0.0",
"p-map": "^1.1.1",
"pify": "^3.0.0",
"rimraf": "^2.2.8"
}
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -1583,6 +1624,27 @@
"integrity": "sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ==",
"dev": true
},
"globby": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
"integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
"dev": true,
"requires": {
"array-union": "^1.0.1",
"glob": "^7.0.3",
"object-assign": "^4.0.1",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0"
},
"dependencies": {
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
}
},
"graceful-fs": {
"version": "4.1.15",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
@@ -1756,6 +1818,30 @@
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
"dev": true
},
"is-path-cwd": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
"integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
"dev": true
},
"is-path-in-cwd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
"integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
"dev": true,
"requires": {
"is-path-inside": "^1.0.0"
}
},
"is-path-inside": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
"integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
"dev": true,
"requires": {
"path-is-inside": "^1.0.1"
}
},
"is-plain-obj": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
@@ -3456,6 +3542,12 @@
"p-limit": "^1.1.0"
}
},
"p-map": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
"integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
"dev": true
},
"p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
@@ -3490,6 +3582,12 @@
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"path-is-inside": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
"integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
"dev": true
},
"path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
@@ -3713,6 +3811,15 @@
"path-parse": "^1.0.6"
}
},
"rimraf": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
"integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
"dev": true,
"requires": {
"glob": "^7.1.3"
}
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -3951,6 +4058,12 @@
"integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
"dev": true
},
"toposort": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz",
"integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=",
"dev": true
},
"tough-cookie": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",

View File

@@ -33,7 +33,7 @@
},
"devDependencies": {
"@openstapps/configuration": "0.5.1",
"@openstapps/core-tools": "0.1.1",
"@openstapps/core-tools": "0.2.0",
"@types/chai": "4.1.7",
"@types/mocha": "5.2.5",
"@types/node": "10.12.18",

View File

@@ -26,17 +26,18 @@ export class MinimalConnectorSpec {
static before() {
this.validator = new Validator();
this.validator.addSchemas('./node_modules/@openstapps/core/lib/schema');
this.connector = new MinimalConnector();
}
static validateThings(things: SCMessage[]) {
things.forEach((thing: SCMessage) => {
// validate thing
expect(MinimalConnectorSpec.validator.validateThing(thing).errors).to.have.lengthOf(0, JSON.stringify({
errors: MinimalConnectorSpec.validator.validateThing(thing).errors,
thing: thing,
}));
this.validator.addSchemas('./node_modules/@openstapps/core/lib/schema').then(() => {
things.forEach((thing: SCMessage) => {
// validate thing
expect(MinimalConnectorSpec.validator.validate(thing,"SCMessage").errors).to.have.lengthOf(0, JSON.stringify({
errors: MinimalConnectorSpec.validator.validate(thing,"SCMessage").errors,
thing: thing,
}));
});
});
}