@cubejs-backend/testing-shared 0.29.53 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/dist/src/DriverTests.d.ts +4 -2
- package/dist/src/DriverTests.d.ts.map +1 -1
- package/dist/src/DriverTests.js +33 -18
- package/dist/src/DriverTests.js.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,33 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.30.0](https://github.com/cube-js/cube.js/compare/v0.29.57...v0.30.0) (2022-05-11)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @cubejs-backend/testing-shared
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [0.29.57](https://github.com/cube-js/cube.js/compare/v0.29.56...v0.29.57) (2022-05-11)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **drivers:** Fixes error when data result is empty for AthenaDriver ([1e7e203](https://github.com/cube-js/cube.js/commit/1e7e203c63ecccae3fb199afd515850cd834d074))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [0.29.54](https://github.com/cube-js/cube.js/compare/v0.29.53...v0.29.54) (2022-05-03)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package @cubejs-backend/testing-shared
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
6
33
|
## [0.29.53](https://github.com/cube-js/cube.js/compare/v0.29.52...v0.29.53) (2022-04-29)
|
|
7
34
|
|
|
8
35
|
|
|
@@ -19,7 +19,9 @@ export declare class DriverTests {
|
|
|
19
19
|
testQuery(): Promise<void>;
|
|
20
20
|
testStream(): Promise<void>;
|
|
21
21
|
testUnload(): Promise<void>;
|
|
22
|
-
|
|
23
|
-
private
|
|
22
|
+
testUnloadEmpty(): Promise<void>;
|
|
23
|
+
private createUnloadTable;
|
|
24
|
+
private static skipFirstLine;
|
|
25
|
+
private static rowsToString;
|
|
24
26
|
}
|
|
25
27
|
//# sourceMappingURL=DriverTests.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DriverTests.d.ts","sourceRoot":"","sources":["../../src/DriverTests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAmB,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"DriverTests.d.ts","sourceRoot":"","sources":["../../src/DriverTests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAmB,MAAM,oCAAoC,CAAC;AAOtF,MAAM,WAAW,kBAAkB;IAEjC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAG5B,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC;AAED,qBAAa,WAAW;aAEJ,MAAM,EAAE,eAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADR,MAAM,EAAE,eAAe,EACtB,OAAO,GAAE,kBAAuB;IAI5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,OAAc,KAAK,SAUjB;IAEF,OAAc,IAAI;;;;QAIhB;IAEF,OAAc,QAAQ,SAIpB;IAEW,SAAS;IAMT,UAAU;IASV,UAAU;IAkBV,eAAe;YAWd,iBAAiB;IAsB/B,OAAO,CAAC,MAAM,CAAC,aAAa;IAI5B,OAAO,CAAC,MAAM,CAAC,YAAY;CAW5B"}
|
package/dist/src/DriverTests.js
CHANGED
|
@@ -9,6 +9,7 @@ const shared_1 = require("@cubejs-backend/shared");
|
|
|
9
9
|
const crypto_1 = __importDefault(require("crypto"));
|
|
10
10
|
const dedent_1 = __importDefault(require("dedent"));
|
|
11
11
|
const stream_1 = require("stream");
|
|
12
|
+
const assert_1 = __importDefault(require("assert"));
|
|
12
13
|
class DriverTests {
|
|
13
14
|
constructor(driver, options = {}) {
|
|
14
15
|
this.driver = driver;
|
|
@@ -19,7 +20,7 @@ class DriverTests {
|
|
|
19
20
|
}
|
|
20
21
|
async testQuery() {
|
|
21
22
|
const rows = await this.driver.query(DriverTests.QUERY, []);
|
|
22
|
-
const expectedRows = this.options.expectStringFields ?
|
|
23
|
+
const expectedRows = this.options.expectStringFields ? DriverTests.rowsToString(DriverTests.ROWS) : DriverTests.ROWS;
|
|
23
24
|
expect(rows).toEqual(expectedRows);
|
|
24
25
|
}
|
|
25
26
|
async testStream() {
|
|
@@ -27,11 +28,37 @@ class DriverTests {
|
|
|
27
28
|
const tableData = await this.driver.stream(DriverTests.QUERY, [], { highWaterMark: 100 });
|
|
28
29
|
expect(tableData.rowStream instanceof stream_1.Readable);
|
|
29
30
|
const rows = await shared_1.streamToArray(tableData.rowStream);
|
|
30
|
-
const expectedRows = this.options.expectStringFields ?
|
|
31
|
+
const expectedRows = this.options.expectStringFields ? DriverTests.rowsToString(DriverTests.ROWS) : DriverTests.ROWS;
|
|
31
32
|
expect(rows).toEqual(expectedRows);
|
|
32
33
|
}
|
|
33
34
|
async testUnload() {
|
|
34
|
-
|
|
35
|
+
const query = `
|
|
36
|
+
SELECT orders.status AS orders__status, sum(orders.amount) AS orders__amount
|
|
37
|
+
FROM (${DriverTests.QUERY}) AS orders
|
|
38
|
+
GROUP BY 1
|
|
39
|
+
ORDER BY 1
|
|
40
|
+
`;
|
|
41
|
+
const tableName = await this.createUnloadTable(query);
|
|
42
|
+
assert_1.default(this.driver.unload);
|
|
43
|
+
const data = await this.driver.unload(tableName, { maxFileSize: 64 });
|
|
44
|
+
expect(data.csvFile.length).toEqual(1);
|
|
45
|
+
const string = await shared_1.downloadAndGunzip(data.csvFile[0]);
|
|
46
|
+
const expectedRows = this.options.csvNoHeader
|
|
47
|
+
? DriverTests.skipFirstLine(DriverTests.CSV_ROWS)
|
|
48
|
+
: DriverTests.CSV_ROWS;
|
|
49
|
+
expect(string.trim()).toEqual(expectedRows);
|
|
50
|
+
}
|
|
51
|
+
async testUnloadEmpty() {
|
|
52
|
+
const query = `
|
|
53
|
+
SELECT 'new' AS orders__status, 100 AS orders__amount
|
|
54
|
+
WHERE FALSE
|
|
55
|
+
`;
|
|
56
|
+
const tableName = await this.createUnloadTable(query);
|
|
57
|
+
assert_1.default(this.driver.unload);
|
|
58
|
+
const data = await this.driver.unload(tableName, { maxFileSize: 64 });
|
|
59
|
+
expect(data.csvFile.length).toEqual(0);
|
|
60
|
+
}
|
|
61
|
+
async createUnloadTable(query) {
|
|
35
62
|
const versionEntry = {
|
|
36
63
|
table_name: 'test.orders_order_status',
|
|
37
64
|
structure_version: crypto_1.default.randomBytes(10).toString('hex'),
|
|
@@ -40,29 +67,17 @@ class DriverTests {
|
|
|
40
67
|
naming_version: 2
|
|
41
68
|
};
|
|
42
69
|
const tableName = query_orchestrator_1.PreAggregations.targetTableName(versionEntry);
|
|
43
|
-
const query = `
|
|
44
|
-
SELECT orders.status AS orders__status, sum(orders.amount) AS orders__amount
|
|
45
|
-
FROM (${DriverTests.QUERY}) AS orders
|
|
46
|
-
GROUP BY 1
|
|
47
|
-
ORDER BY 1
|
|
48
|
-
`;
|
|
49
70
|
const loadQuery = this.options.wrapLoadQueryWithCtas ? `CREATE TABLE ${tableName} AS ${query}` : query;
|
|
50
71
|
await this.driver.loadPreAggregationIntoTable(tableName, loadQuery, [], {
|
|
51
72
|
newVersionEntry: versionEntry,
|
|
52
73
|
targetTableName: tableName,
|
|
53
74
|
});
|
|
54
|
-
|
|
55
|
-
expect(data.csvFile.length).toEqual(1);
|
|
56
|
-
const string = await shared_1.downloadAndGunzip(data.csvFile[0]);
|
|
57
|
-
const expectedRows = this.options.csvNoHeader
|
|
58
|
-
? this.skipFirstLine(DriverTests.CSV_ROWS)
|
|
59
|
-
: DriverTests.CSV_ROWS;
|
|
60
|
-
expect(string.trim()).toEqual(expectedRows);
|
|
75
|
+
return tableName;
|
|
61
76
|
}
|
|
62
|
-
skipFirstLine(text) {
|
|
77
|
+
static skipFirstLine(text) {
|
|
63
78
|
return text.split('\n').slice(1).join('\n');
|
|
64
79
|
}
|
|
65
|
-
rowsToString(rows) {
|
|
80
|
+
static rowsToString(rows) {
|
|
66
81
|
const result = [];
|
|
67
82
|
for (const row of rows) {
|
|
68
83
|
const newRow = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DriverTests.js","sourceRoot":"","sources":["../../src/DriverTests.ts"],"names":[],"mappings":";;;;;;AAAA,2EAAsF;AACtF,mDAA0E;AAC1E,oDAA4B;AAC5B,oDAA4B;AAC5B,mCAAkC;
|
|
1
|
+
{"version":3,"file":"DriverTests.js","sourceRoot":"","sources":["../../src/DriverTests.ts"],"names":[],"mappings":";;;;;;AAAA,2EAAsF;AACtF,mDAA0E;AAC1E,oDAA4B;AAC5B,oDAA4B;AAC5B,mCAAkC;AAClC,oDAA4B;AAY5B,MAAa,WAAW;IACtB,YACkB,MAAuB,EACtB,UAA8B,EAAE;QADjC,WAAM,GAAN,MAAM,CAAiB;QACtB,YAAO,GAAP,OAAO,CAAyB;IAEnD,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IA0BM,KAAK,CAAC,SAAS;QACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QACrH,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAO,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,SAAS,CAAC,SAAS,YAAY,iBAAQ,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,sBAAa,CAAC,SAAS,CAAC,SAAqB,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QACrH,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,MAAM,KAAK,GAAG;;cAEJ,WAAW,CAAC,KAAK;;;KAG1B,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtD,gBAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,0BAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW;YAC3C,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC;YACjD,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,eAAe;QAC1B,MAAM,KAAK,GAAG;;;KAGb,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtD,gBAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,KAAa;QAC3C,MAAM,YAAY,GAAG;YACnB,UAAU,EAAE,0BAA0B;YACtC,iBAAiB,EAAE,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzD,eAAe,EAAE,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACvD,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;YACrC,cAAc,EAAE,CAAC;SAClB,CAAC;QACF,MAAM,SAAS,GAAG,oCAAe,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,SAAS,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACvG,MAAM,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAC3C,SAAS,EACT,SAAS,EACT,EAAE,EACF;YACE,eAAe,EAAE,YAAY;YAC7B,eAAe,EAAE,SAAS;SAC3B,CACF,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,IAAY;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,IAA2B;QACrD,MAAM,MAAM,GAA6B,EAAE,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAChC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;aAC/B;YACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;;AAnHH,kCAoHC;AAzGe,iBAAK,GAAG;;;;;;;;;;GAUrB,CAAC;AAEY,gBAAI,GAAG;IACnB,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE;IACrC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE;IACrC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE;CAC5C,CAAC;AAEY,oBAAQ,GAAG,gBAAM,CAAA;;;;GAI9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cubejs-backend/testing-shared",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"description": "Cube.js Testing Helpers",
|
|
5
5
|
"author": "Cube Dev, Inc.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@cubejs-backend/dotenv": "^9.0.2",
|
|
24
|
-
"@cubejs-backend/query-orchestrator": "^0.
|
|
25
|
-
"@cubejs-backend/schema-compiler": "^0.
|
|
26
|
-
"@cubejs-backend/shared": "^0.
|
|
24
|
+
"@cubejs-backend/query-orchestrator": "^0.30.0",
|
|
25
|
+
"@cubejs-backend/schema-compiler": "^0.30.0",
|
|
26
|
+
"@cubejs-backend/shared": "^0.30.0",
|
|
27
27
|
"dedent": "^0.7.0",
|
|
28
28
|
"testcontainers": "^7.5.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@cubejs-backend/linter": "^0.
|
|
31
|
+
"@cubejs-backend/linter": "^0.30.0",
|
|
32
32
|
"@jest/globals": "^26.6.2",
|
|
33
33
|
"@types/dedent": "^0.7.0",
|
|
34
34
|
"@types/jest": "^26.0.22",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"eslintConfig": {
|
|
53
53
|
"extends": "../cubejs-linter"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "bc4774e0945cdf0141e344657406115e8a4597f7"
|
|
56
56
|
}
|