diff --git a/packages/koa/package.json b/packages/koa/package.json index 18c2d4219d06bf5b785435f3035a82ed8a73badd..8115daa2e1b01184487c403b2cd10b22e61290c6 100644 --- a/packages/koa/package.json +++ b/packages/koa/package.json @@ -1,6 +1,6 @@ { "name": "jsonql-koa", - "version": "1.5.5", + "version": "1.5.6", "description": "jsonql Koa middleware", "main": "main.js", "module": "index.js", @@ -31,7 +31,7 @@ "test:jsonp": "DEBUG=jsonql* ava --verbose ./tests/jsonp.test.js", "test:jsonql": "DEBUG=jsonql-koa* ava --verbose ./tests/jsonql.test.js", "test:chain": "DEBUG=jsonql* ava --verbose ./tests/chain-fn.test.js", - "test:clients": "DEBUG=jsonql* ava --verbose ./tests/node-client.test.js", + "test:client": "DEBUG=jsonql* ava --verbose ./tests/node-client.test.js", "web-console": "DEBUG=jsonql-koa*,jsonql-web-console* node ./tests/helpers/browser.js", "contract": "node ./node_modules/jsonql-contract/cli.js ./tests/fixtures/resolvers ./tests/fixtures/contracts" }, @@ -57,8 +57,7 @@ "files": [ "tests/*.test.js", "!tests/helpers/*.*", - "!tests/fixtures/*.*", - "!tests/node-client.test.js" + "!tests/fixtures/*.*" ], "require": [ "esm" @@ -78,10 +77,10 @@ "jsonql-contract": "^1.8.5", "jsonql-errors": "^1.1.10", "jsonql-jwt": "^1.3.8", - "jsonql-node-client": "^1.2.7", + "jsonql-node-client": "^1.2.10", "jsonql-params-validator": "^1.5.2", "jsonql-resolver": "^1.0.7", - "jsonql-utils": "^0.9.4", + "jsonql-utils": "^0.9.7", "jsonql-web-console": "^0.4.5", "koa-compose": "^4.1.0", "lodash": "^4.17.15" @@ -93,7 +92,7 @@ "koa": "^2.11.0", "koa-bodyparser": "^4.2.1", "nb-split-tasks": "^0.6.0", - "nyc": "^14.1.1", + "nyc": "^15.0.0", "request": "^2.88.0", "server-io-core": "^1.2.0", "superkoa": "^1.0.3" diff --git a/packages/koa/tests/fixtures/log/server7001/client0/public-contract.json b/packages/koa/tests/fixtures/log/server7001/client0/public-contract.json new file mode 100644 index 0000000000000000000000000000000000000000..eaacddcc89eacea9a15ea1111582fc2f3be1488f --- /dev/null +++ b/packages/koa/tests/fixtures/log/server7001/client0/public-contract.json @@ -0,0 +1,76 @@ +{ + "query": { + "helloWorld": { + "params": [], + "returns": [ + { + "type": "string", + "description": "stock message" + } + ] + }, + "subMsService": { + "params": [ + { + "type": [ + "string" + ], + "name": "msg", + "description": "incoming message" + } + ], + "returns": [ + { + "type": [ + "string" + ], + "description": "out going message" + } + ] + } + }, + "mutation": { + "subUpdateMsService": { + "params": [ + { + "type": [ + "string" + ], + "name": "payload", + "description": "incoming" + } + ], + "returns": [ + { + "type": [ + "string" + ], + "description": "output" + } + ] + } + }, + "auth": {}, + "timestamp": 1573116438, + "socket": { + "replyMsg": { + "params": [ + { + "type": [ + "string" + ], + "name": "msg", + "description": "incoming message" + } + ], + "returns": [ + { + "type": [ + "string" + ], + "description": "modified message" + } + ] + } + } +} diff --git a/packages/koa/tests/helpers/server-with-socket.js b/packages/koa/tests/helpers/server-with-socket.js index faf526f56f25ce82ddae04739dad9edeb79e52d6..9bdeab03dc7cebb305dc3d706bcde8540ddc61b5 100644 --- a/packages/koa/tests/helpers/server-with-socket.js +++ b/packages/koa/tests/helpers/server-with-socket.js @@ -1,7 +1,7 @@ // for testing the server with socket const { join } = require('path') const server = require('server-io-core') -const jsonqlWsServer = require('jsonql-ws-server') +const { jsonqlWsServer } = require('jsonql-ws-server') const { jsonqlKoa } = require('../../main') diff --git a/packages/koa/tests/node-client.test.js b/packages/koa/tests/node-client.test.js index 831d4cdd113547cf680f788a9cd40937803b9ba7..933d45ed5da6bfb1824a2784cb727e461d59c137 100644 --- a/packages/koa/tests/node-client.test.js +++ b/packages/koa/tests/node-client.test.js @@ -11,11 +11,13 @@ const createServer = require('./helpers/server-with-socket') const clientContractDir = join(__dirname, 'fixtures', 'tmp', 'client6002') +const mainDir = 'log' // we an switch this later + const baseServerPort = 7001; const msServerPort = 8001; - -const baseContractDir = join(baseDir, 'log', `server${baseServerPort}`) -const msContractDir = join(baseDir, 'log', `server${msServerPort}`) +// @TODO @BUG if we try to generate contract on the fly the 8001 is not creating it +const baseContractDir = join(baseDir, mainDir, `server${baseServerPort}`) +const msContractDir = join(baseDir, mainDir, `server${msServerPort}`) // base test setup test.before(async t => { @@ -31,6 +33,7 @@ test.before(async t => { serverType: 'ws' }] }) + t.context.msApp = await createServer(msServerPort, { resolverDir: join(baseDir, 'sub', 'resolver'), contractDir: msContractDir, @@ -41,17 +44,19 @@ test.before(async t => { t.context.isReady = new Promise((resolver) => { setTimeout(() => { t.context.baseAppClient = nodeClient({ + contractDir: join(baseDir, mainDir, `client-${baseServerPort}`), hostname: `http://localhost:${baseServerPort}`, serverType: 'ws' }) t.context.msAppClient = nodeClient({ + contractDir: join(baseDir, mainDir, `client-${msServerPort}`), hostname: `http://localhost:${msServerPort}`, serverType: 'ws' }) resolver(true) - }, 3000) + }, 300) }) }) @@ -65,12 +70,16 @@ test.after(t => { // fsx.removeSync(msContractDir) }) -test(`Just run it to see if the socket hang up still happening`, t => { - t.pass() +test(`First test calling the ${baseServerPort} directly with the mutation call`, async t => { + const client = await nodeClient({ + hostname: `http://localhost:${msServerPort}`, + contractDir: join(__dirname, 'fixtures', 'tmp', `client${msServerPort}`) + }) + const result = await client.query.subMsService('testing') + t.truthy(result.indexOf(`ms service`)) }) - -test.cb.skip(`First test server ${baseServerPort} and ${msServerPort} are running`, t => { +test.cb.skip(`[still got socket hang up @ 1.5.5] First test server ${baseServerPort} and ${msServerPort} are running`, t => { t.plan(2) t.context.isReady.then(() => { @@ -93,15 +102,6 @@ test.cb.skip(`First test server ${baseServerPort} and ${msServerPort} are runnin }) }) -test.skip(`First test calling the ${baseServerPort} directly with the mutation call`, async t => { - const client = await nodeClient({ - hostname: `http://localhost:${msServerPort}`, - contractDir: join(__dirname, 'fixtures', 'tmp', `client${msServerPort}`) - }) - const result = await client.query.subMsService('testing') - t.truthy(result.indexOf(`ms service`)) -}) - test.skip(`It should able to call a resolver that access another ms`, async t => { // the problem now is calling the 6001 but received the 8001 public contract? const client = await nodeClient({