mirror of
https://github.com/lingble/clickhouse.git
synced 2025-11-12 01:56:21 +00:00
fix test 'should return not null object' & variable types
This commit is contained in:
61
test/test.js
61
test/test.js
@@ -7,7 +7,7 @@ const
|
|||||||
|
|
||||||
const
|
const
|
||||||
clickhouse = new ClickHouse({debug: false}),
|
clickhouse = new ClickHouse({debug: false}),
|
||||||
rowCount = _.random(50 * 1024, 1024 * 1024)
|
rowCount = _.random(50 * 1024, 1024 * 1024),
|
||||||
sql = `SELECT
|
sql = `SELECT
|
||||||
number,
|
number,
|
||||||
toString(number * 2) AS str,
|
toString(number * 2) AS str,
|
||||||
@@ -36,8 +36,8 @@ describe('Exec', () => {
|
|||||||
'OPTIMIZE TABLE session_temp PARTITION 201807 FINAL'
|
'OPTIMIZE TABLE session_temp PARTITION 201807 FINAL'
|
||||||
];
|
];
|
||||||
|
|
||||||
for(let query of sqlList) {
|
for(const query of sqlList) {
|
||||||
let r = await clickhouse.query(sql).toPromise();
|
const r = await clickhouse.query(query).toPromise();
|
||||||
|
|
||||||
expect(r).to.be.ok();
|
expect(r).to.be.ok();
|
||||||
}
|
}
|
||||||
@@ -50,7 +50,7 @@ describe('Select', () => {
|
|||||||
expect(err).to.not.be.ok();
|
expect(err).to.not.be.ok();
|
||||||
|
|
||||||
expect(rows).to.have.length(rowCount);
|
expect(rows).to.have.length(rowCount);
|
||||||
expect(rows[0]).to.eql({ number: 0, str: '0', date: '1970-01-02' })
|
expect(rows[0]).to.eql({ number: 0, str: '0', date: '1970-01-02' });
|
||||||
|
|
||||||
callback();
|
callback();
|
||||||
});
|
});
|
||||||
@@ -71,14 +71,14 @@ describe('Select', () => {
|
|||||||
expect(i).to.be(rowCount);
|
expect(i).to.be(rowCount);
|
||||||
|
|
||||||
callback();
|
callback();
|
||||||
})
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
it('use stream with pause/resume', function(callback) {
|
it('use stream with pause/resume', function(callback) {
|
||||||
const
|
const
|
||||||
count = 10,
|
count = 10,
|
||||||
pause = 1000;
|
pause = 1000,
|
||||||
ts = Date.now();
|
ts = Date.now();
|
||||||
|
|
||||||
this.timeout(count * pause * 2);
|
this.timeout(count * pause * 2);
|
||||||
@@ -129,7 +129,7 @@ describe('Select', () => {
|
|||||||
|
|
||||||
|
|
||||||
it('use select with external', async () => {
|
it('use select with external', async () => {
|
||||||
let result = await clickhouse.query('SELECT count(*) AS count FROM temp_table', {
|
const result = await clickhouse.query('SELECT count(*) AS count FROM temp_table', {
|
||||||
external: [
|
external: [
|
||||||
{
|
{
|
||||||
name: 'temp_table',
|
name: 'temp_table',
|
||||||
@@ -141,17 +141,17 @@ describe('Select', () => {
|
|||||||
expect(result).to.be.ok();
|
expect(result).to.be.ok();
|
||||||
expect(result).to.have.length(1);
|
expect(result).to.have.length(1);
|
||||||
expect(result[0]).to.have.key('count');
|
expect(result[0]).to.have.key('count');
|
||||||
expect(result[0].count).to.be(rowCount)
|
expect(result[0].count).to.be(rowCount);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
describe('session', () => {
|
describe('session', () => {
|
||||||
it('use session', async () => {
|
it('use session', async () => {
|
||||||
let sessionId = clickhouse.sessionId;
|
const sessionId = clickhouse.sessionId;
|
||||||
clickhouse.sessionId = Date.now();
|
clickhouse.sessionId = Date.now();
|
||||||
|
|
||||||
let result = await clickhouse.query(
|
const result = await clickhouse.query(
|
||||||
`CREATE TEMPORARY TABLE test_table
|
`CREATE TEMPORARY TABLE test_table
|
||||||
(_id String, str String)
|
(_id String, str String)
|
||||||
ENGINE=Memory`
|
ENGINE=Memory`
|
||||||
@@ -159,7 +159,7 @@ describe('session', () => {
|
|||||||
expect(result).to.be.ok();
|
expect(result).to.be.ok();
|
||||||
|
|
||||||
clickhouse.sessionId = Date.now();
|
clickhouse.sessionId = Date.now();
|
||||||
let result2 = await clickhouse.query(
|
const result2 = await clickhouse.query(
|
||||||
`CREATE TEMPORARY TABLE test_table
|
`CREATE TEMPORARY TABLE test_table
|
||||||
(_id String, str String)
|
(_id String, str String)
|
||||||
ENGINE=Memory`
|
ENGINE=Memory`
|
||||||
@@ -186,7 +186,7 @@ describe('queries', () => {
|
|||||||
) ENGINE=MergeTree(date, date, 8192)
|
) ENGINE=MergeTree(date, date, 8192)
|
||||||
`).toPromise();
|
`).toPromise();
|
||||||
|
|
||||||
let rows = [
|
const rows = [
|
||||||
{
|
{
|
||||||
date: '1915-01-01',
|
date: '1915-01-01',
|
||||||
str: 'Вам, проживающим за оргией оргию,',
|
str: 'Вам, проживающим за оргией оргию,',
|
||||||
@@ -205,7 +205,7 @@ describe('queries', () => {
|
|||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
let r = await clickhouse.insert('INSERT INTO test_array (date, arr, arr2, arr3)', rows).toPromise();
|
const r = await clickhouse.insert('INSERT INTO test_array (date, arr, arr2, arr3)', rows).toPromise();
|
||||||
expect(r).to.be.ok();
|
expect(r).to.be.ok();
|
||||||
|
|
||||||
|
|
||||||
@@ -214,35 +214,35 @@ describe('queries', () => {
|
|||||||
|
|
||||||
|
|
||||||
it('queries', async () => {
|
it('queries', async () => {
|
||||||
let result = await clickhouse.query('DROP TABLE IF EXISTS session_temp').toPromise();
|
const result = await clickhouse.query('DROP TABLE IF EXISTS session_temp').toPromise();
|
||||||
expect(result).to.be.ok();
|
expect(result).to.be.ok();
|
||||||
|
|
||||||
let result2 = await clickhouse.query('DROP TABLE IF EXISTS session_temp2').toPromise();
|
const result2 = await clickhouse.query('DROP TABLE IF EXISTS session_temp2').toPromise();
|
||||||
expect(result2).to.be.ok();
|
expect(result2).to.be.ok();
|
||||||
|
|
||||||
let result3 = await clickhouse.query('CREATE TABLE session_temp (str String) ENGINE=MergeTree PARTITION BY tuple() ORDER BY tuple()').toPromise();
|
const result3 = await clickhouse.query('CREATE TABLE session_temp (str String) ENGINE=MergeTree PARTITION BY tuple() ORDER BY tuple()').toPromise();
|
||||||
expect(result3).to.be.ok();
|
expect(result3).to.be.ok();
|
||||||
|
|
||||||
let result4 = await clickhouse.query('CREATE TABLE session_temp2 (str String) ENGINE=MergeTree PARTITION BY tuple() ORDER BY tuple()').toPromise();
|
const result4 = await clickhouse.query('CREATE TABLE session_temp2 (str String) ENGINE=MergeTree PARTITION BY tuple() ORDER BY tuple()').toPromise();
|
||||||
expect(result4).to.be.ok();
|
expect(result4).to.be.ok();
|
||||||
|
|
||||||
let data = _.range(0, rowCount).map(r => [r]);
|
const data = _.range(0, rowCount).map(r => [r]);
|
||||||
let result5 = await clickhouse.insert(
|
const result5 = await clickhouse.insert(
|
||||||
'INSERT INTO session_temp', data
|
'INSERT INTO session_temp', data
|
||||||
).toPromise();
|
).toPromise();
|
||||||
expect(result5).to.be.ok();
|
expect(result5).to.be.ok();
|
||||||
|
|
||||||
let rows = await clickhouse.query('SELECT COUNT(*) AS count FROM session_temp').toPromise();
|
const rows = await clickhouse.query('SELECT COUNT(*) AS count FROM session_temp').toPromise();
|
||||||
expect(rows).to.be.ok();
|
expect(rows).to.be.ok();
|
||||||
expect(rows).to.have.length(1);
|
expect(rows).to.have.length(1);
|
||||||
expect(rows[0]).to.have.key('count');
|
expect(rows[0]).to.have.key('count');
|
||||||
expect(rows[0].count).to.be(data.length);
|
expect(rows[0].count).to.be(data.length);
|
||||||
expect(rows[0].count).to.be(rowCount);
|
expect(rows[0].count).to.be(rowCount);
|
||||||
|
|
||||||
let result6 = await clickhouse.query('TRUNCATE TABLE session_temp').toPromise();
|
const result6 = await clickhouse.query('TRUNCATE TABLE session_temp').toPromise();
|
||||||
expect(result6).to.be.ok();
|
expect(result6).to.be.ok();
|
||||||
|
|
||||||
let ws = clickhouse.insert('INSERT INTO session_temp').stream();
|
const ws = clickhouse.insert('INSERT INTO session_temp').stream();
|
||||||
let count = 0;
|
let count = 0;
|
||||||
|
|
||||||
for(let i = 1; i <= rowCount; i++) {
|
for(let i = 1; i <= rowCount; i++) {
|
||||||
@@ -255,15 +255,14 @@ describe('queries', () => {
|
|||||||
);
|
);
|
||||||
++count;
|
++count;
|
||||||
}
|
}
|
||||||
let result7 = await ws.exec();
|
const result7 = await ws.exec();
|
||||||
expect(result7).to.be.ok();
|
expect(result7).to.be.ok();
|
||||||
expect(count).to.be(rowCount);
|
expect(count).to.be(rowCount);
|
||||||
|
|
||||||
clickhouse.isUseGzip = true;
|
clickhouse.isUseGzip = true;
|
||||||
let ts = Date.now();
|
const rs = clickhouse.query(sql).stream();
|
||||||
let rs = clickhouse.query(sql).stream();
|
|
||||||
|
|
||||||
let tf = new stream.Transform({
|
const tf = new stream.Transform({
|
||||||
objectMode : true,
|
objectMode : true,
|
||||||
transform : function (chunk, enc, cb) {
|
transform : function (chunk, enc, cb) {
|
||||||
cb(null, JSON.stringify(chunk) + '\n');
|
cb(null, JSON.stringify(chunk) + '\n');
|
||||||
@@ -271,14 +270,14 @@ describe('queries', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
clickhouse.sessionId = Date.now();
|
clickhouse.sessionId = Date.now();
|
||||||
let ws2 = clickhouse.insert('INSERT INTO session_temp2').stream();
|
const ws2 = clickhouse.insert('INSERT INTO session_temp2').stream();
|
||||||
|
|
||||||
let result8 = await rs.pipe(tf).pipe(ws2).exec();
|
const result8 = await rs.pipe(tf).pipe(ws2).exec();
|
||||||
expect(result8).to.be.ok();
|
expect(result8).to.be.ok();
|
||||||
clickhouse.isUseGzip = false;
|
clickhouse.isUseGzip = false;
|
||||||
|
|
||||||
let result9 = await clickhouse.query('SELECT count(*) AS count FROM session_temp').toPromise();
|
const result9 = await clickhouse.query('SELECT count(*) AS count FROM session_temp').toPromise();
|
||||||
let result10 = await clickhouse.query('SELECT count(*) AS count FROM session_temp2').toPromise();
|
const result10 = await clickhouse.query('SELECT count(*) AS count FROM session_temp2').toPromise();
|
||||||
expect(result9).to.eql(result10);
|
expect(result9).to.eql(result10);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -287,7 +286,7 @@ describe('queries', () => {
|
|||||||
describe('response codes', () => {
|
describe('response codes', () => {
|
||||||
it('table is not exists', async () => {
|
it('table is not exists', async () => {
|
||||||
try {
|
try {
|
||||||
let result = await clickhouse.query('DROP TABLE session_temp').toPromise();
|
const result = await clickhouse.query('DROP TABLE session_temp').toPromise();
|
||||||
expect(result).to.be.ok();
|
expect(result).to.be.ok();
|
||||||
|
|
||||||
await clickhouse.query('SELECT COUNT(*) AS count FROM session_temp').toPromise();
|
await clickhouse.query('SELECT COUNT(*) AS count FROM session_temp').toPromise();
|
||||||
|
|||||||
Reference in New Issue
Block a user