import { expect, expectAsync, tap } from '@pushrocks/tapbundle'; import * as smartclickhouse from '../ts/index'; let testClickhouseDb: smartclickhouse.ClickhouseDb; tap.test('first test', async () => { testClickhouseDb = new smartclickhouse.ClickhouseDb({ url: 'http://localhost', port: 8123, }); }); tap.test('should start the clickhouse db', async () => { await testClickhouseDb.start(); }) tap.test('should write something to the clickhouse db', async () => { const result = await testClickhouseDb.clickhouseClient.query(`CREATE DATABASE IF NOT EXISTS lossless`).toPromise(); console.log(result); const result2 = await testClickhouseDb.clickhouseClient.query(`CREATE TABLE IF NOT EXISTS lossless.visits ( timestamp UInt64, ip String, os String, userAgent String, version String ) ENGINE=MergeTree() ORDER BY timestamp`).toPromise(); console.log(result2); const ws = testClickhouseDb.clickhouseClient.insert('INSERT INTO lossless.visits FORMAT JSONEachRow').stream(); for(let i = 0; i <= 1000; i++) { await ws.writeRow( JSON.stringify({ timestamp: Date.now(), ip: '127.0.01', os: 'Mac OS X', userAgent: 'some', version: 'someversion' }) ); } //wait stream finish const result3 = await ws.exec(); }) tap.start();