Windshaft-cartodb/test/integration/overviews-metadata-api-test.js

53 lines
1.7 KiB
JavaScript
Raw Normal View History

'use strict';
require('../support/test-helper');
2016-01-21 20:33:45 +08:00
var assert = require('assert');
var RedisPool = require('redis-mpool');
var cartodbRedis = require('cartodb-redis');
2019-10-07 15:43:40 +08:00
var PgConnection = require('../../lib/backends/pg-connection');
var PgQueryRunner = require('../../lib/backends/pg-query-runner');
2019-10-07 15:40:50 +08:00
var OverviewsMetadataBackend = require('../../lib/backends/overviews-metadata');
2016-01-21 20:33:45 +08:00
2019-10-22 01:07:24 +08:00
describe('OverviewsMetadataBackend', function () {
var overviewsMetadataBackend;
2016-01-21 20:33:45 +08:00
2019-10-22 01:07:24 +08:00
before(function () {
2016-01-21 20:33:45 +08:00
var redisPool = new RedisPool(global.environment.redis);
2019-10-22 01:07:24 +08:00
var metadataBackend = cartodbRedis({ pool: redisPool });
2016-01-21 20:33:45 +08:00
var pgConnection = new PgConnection(metadataBackend);
var pgQueryRunner = new PgQueryRunner(pgConnection);
overviewsMetadataBackend = new OverviewsMetadataBackend(pgQueryRunner);
2016-01-21 20:33:45 +08:00
});
2019-10-22 01:07:24 +08:00
it('should return an empty relation for tables that have no overviews', function (done) {
2016-01-21 20:33:45 +08:00
var query = 'select * from test_table';
2019-10-22 01:07:24 +08:00
overviewsMetadataBackend.getOverviewsMetadata('localhost', query, function (err, result) {
2016-01-21 20:33:45 +08:00
assert.ok(!err, err);
assert.deepStrictEqual(result, {});
2016-01-21 20:33:45 +08:00
done();
});
});
2019-10-22 01:07:24 +08:00
it('should return overviews metadata', function (done) {
2016-01-21 20:33:45 +08:00
var query = 'select * from test_table_overviews';
2019-10-22 01:07:24 +08:00
overviewsMetadataBackend.getOverviewsMetadata('localhost', query, function (err, result) {
2016-01-21 20:33:45 +08:00
assert.ok(!err, err);
assert.deepStrictEqual(result, {
2019-10-22 01:07:24 +08:00
test_table_overviews: {
schema: 'public',
1: { table: '_vovw_1_test_table_overviews' },
2: { table: '_vovw_2_test_table_overviews' }
2016-01-21 20:33:45 +08:00
}
});
done();
});
});
});