From c4054f0ac9cb351e7f8982b71750ace471acf249 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Tue, 15 Oct 2019 10:39:31 +0200 Subject: [PATCH] Use develop branch of query-tables --- .../provider/base-mapconfig-adapter.js | 15 +++--- package-lock.json | 51 +++++++++---------- package.json | 2 +- test/acceptance/multilayer-server-test.js | 4 +- test/integration/query-tables-test.js | 37 +++++--------- 5 files changed, 48 insertions(+), 61 deletions(-) diff --git a/lib/models/mapconfig/provider/base-mapconfig-adapter.js b/lib/models/mapconfig/provider/base-mapconfig-adapter.js index e94f9630..a606d0cb 100644 --- a/lib/models/mapconfig/provider/base-mapconfig-adapter.js +++ b/lib/models/mapconfig/provider/base-mapconfig-adapter.js @@ -34,15 +34,12 @@ module.exports = class BaseMapConfigProvider { return callback(err); } - queryTables.getQueryMetadataModel(connection, sql, (err, affectedTables) => { - if (err) { - return callback(err); - } - - this.affectedTablesCache.set(dbname, token, affectedTables); - - callback(null, affectedTables); - }); + queryTables.getQueryMetadataModel(connection, sql) + .then(affectedTables => { + this.affectedTablesCache.set(dbname, token, affectedTables); + callback(null, affectedTables); + }) + .catch(err => callback(err)); }); }); } diff --git a/package-lock.json b/package-lock.json index b254d14f..7899ea6d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -166,7 +166,7 @@ }, "async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" }, "asynckit": { @@ -427,9 +427,8 @@ } }, "cartodb-query-tables": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cartodb-query-tables/-/cartodb-query-tables-0.6.3.tgz", - "integrity": "sha512-ijHl2Roh+0B1pP8SL3guEAu8tE6yNN3J/oxdUWCFOSKjHmXjwTzyJdjO+tONGcERmlWfS594SCFYElGIweSnQg==", + "version": "github:cartodb/node-cartodb-query-tables#ea2734da8f3c6d1c37e48f438f2bb8d1c5c832b5", + "from": "github:cartodb/node-cartodb-query-tables#coherent-ttl-refactor", "requires": { "decimal.js": "10.2.0" } @@ -812,7 +811,7 @@ }, "entities": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz", "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", "dev": true }, @@ -826,7 +825,7 @@ }, "es6-promise": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.1.2.tgz", + "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.1.2.tgz", "integrity": "sha1-eV4lzrR/e6uyY9FRr77dktGOagc=" }, "escape-html": { @@ -914,7 +913,7 @@ }, "express": { "version": "4.16.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "resolved": "http://registry.npmjs.org/express/-/express-4.16.3.tgz", "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", "requires": { "accepts": "~1.3.5", @@ -1037,7 +1036,7 @@ }, "fast-deep-equal": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" }, "fast-json-stable-stringify": { @@ -1066,7 +1065,7 @@ }, "finalhandler": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "requires": { "debug": "2.6.9", @@ -2008,7 +2007,7 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, "getpass": { @@ -2229,7 +2228,7 @@ }, "htmlparser2": { "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", "dev": true, "requires": { @@ -2242,7 +2241,7 @@ "dependencies": { "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { @@ -2256,7 +2255,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { "depd": "~1.1.2", @@ -2580,12 +2579,12 @@ "dependencies": { "async": { "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" }, "semver": { "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz", "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" }, "underscore": { @@ -2620,7 +2619,7 @@ }, "media-typer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "mem": { @@ -2706,7 +2705,7 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minipass": { @@ -2740,7 +2739,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" @@ -3238,7 +3237,7 @@ }, "postcss": { "version": "5.0.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.0.19.tgz", + "resolved": "http://registry.npmjs.org/postcss/-/postcss-5.0.19.tgz", "integrity": "sha1-tjQqAdx1uMq36Wiv2pau/Gf4iK8=", "requires": { "js-base64": "^2.1.9", @@ -3277,7 +3276,7 @@ }, "postcss-value-parser": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "resolved": "http://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=" }, "postgres-array": { @@ -3404,7 +3403,7 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { "core-util-is": "~1.0.0", @@ -3780,7 +3779,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" @@ -3796,7 +3795,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, "strip-json-comments": { @@ -3840,7 +3839,7 @@ }, "through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "torque.js": { @@ -4067,7 +4066,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { "string-width": "^1.0.1", @@ -4096,7 +4095,7 @@ }, "yargs": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "requires": { "cliui": "^4.0.0", diff --git a/package.json b/package.json index c983c5ab..d6af65a1 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "body-parser": "1.18.3", "camshaft": "^0.64.2", "cartodb-psql": "0.14.0", - "cartodb-query-tables": "^0.6.3", + "cartodb-query-tables": "github:cartodb/node-cartodb-query-tables#coherent-ttl-refactor", "cartodb-redis": "2.1.0", "debug": "3.1.0", "dot": "1.1.2", diff --git a/test/acceptance/multilayer-server-test.js b/test/acceptance/multilayer-server-test.js index 7a7b7e72..cb26c8f6 100644 --- a/test/acceptance/multilayer-server-test.js +++ b/test/acceptance/multilayer-server-test.js @@ -368,8 +368,8 @@ describe('tests from old api translated to multilayer', function() { keysToDelete['user:localhost:mapviews:global'] = 5; var affectedFn = QueryTables.getQueryMetadataModel; - QueryTables.getQueryMetadataModel = function(pg, sql, callback) { - return callback(new Error('fake error message')); + QueryTables.getQueryMetadataModel = async function (pg, sql) { + throw new Error('fake error message'); }; // reset internal cacheChannel cache diff --git a/test/integration/query-tables-test.js b/test/integration/query-tables-test.js index e44d66b9..04206b58 100644 --- a/test/integration/query-tables-test.js +++ b/test/integration/query-tables-test.js @@ -32,36 +32,27 @@ describe('QueryTables', function() { // Check test/support/sql/windshaft.test.sql to understand where the values come from. - it('should return an object with affected tables array and last updated time', function(done) { + it('should return an object with affected tables array and last updated time', async function () { var query = 'select * from test_table'; - QueryTables.getQueryMetadataModel(connection, query, function(err, result) { - assert.ok(!err, err); + const result = await QueryTables.getQueryMetadataModel(connection, query); - assert.equal(result.getLastUpdatedAt(), 1234567890123); + assert.equal(result.getLastUpdatedAt(), 1234567890123); - assert.equal(result.tables.length, 1); - assert.equal(result.tables[0].dbname, 'test_windshaft_cartodb_user_1_db'); - assert.equal(result.tables[0].schema_name, 'public'); - assert.equal(result.tables[0].table_name, 'test_table'); - - done(); - }); + assert.equal(result.tables.length, 1); + assert.equal(result.tables[0].dbname, 'test_windshaft_cartodb_user_1_db'); + assert.equal(result.tables[0].schema_name, 'public'); + assert.equal(result.tables[0].table_name, 'test_table'); }); - it('should work with private tables', function(done) { + it('should work with private tables', async function () { var query = 'select * from test_table_private_1'; - QueryTables.getQueryMetadataModel(connection, query, function(err, result) { - assert.ok(!err, err); + const result = await QueryTables.getQueryMetadataModel(connection, query); - assert.equal(result.getLastUpdatedAt(), 1234567890123); + assert.equal(result.getLastUpdatedAt(), 1234567890123); - assert.equal(result.tables.length, 1); - assert.equal(result.tables[0].dbname, 'test_windshaft_cartodb_user_1_db'); - assert.equal(result.tables[0].schema_name, 'public'); - assert.equal(result.tables[0].table_name, 'test_table_private_1'); - - done(); - }); + assert.equal(result.tables.length, 1); + assert.equal(result.tables[0].dbname, 'test_windshaft_cartodb_user_1_db'); + assert.equal(result.tables[0].schema_name, 'public'); + assert.equal(result.tables[0].table_name, 'test_table_private_1'); }); - });