@malloydata/malloy-tests 0.0.69-dev230808200646 → 0.0.69

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.
Files changed (79) hide show
  1. package/dist/databases/all/db_index.spec.d.ts +1 -1
  2. package/dist/databases/all/db_index.spec.js +116 -6
  3. package/dist/databases/all/db_index.spec.js.map +1 -1
  4. package/dist/databases/all/expr.spec.js +542 -6
  5. package/dist/databases/all/expr.spec.js.map +1 -1
  6. package/dist/databases/all/functions.spec.d.ts +1 -1
  7. package/dist/databases/all/functions.spec.js +745 -6
  8. package/dist/databases/all/functions.spec.js.map +1 -1
  9. package/dist/databases/all/join.spec.d.ts +1 -1
  10. package/dist/databases/all/join.spec.js +272 -6
  11. package/dist/databases/all/join.spec.js.map +1 -1
  12. package/dist/databases/all/nomodel.spec.d.ts +1 -1
  13. package/dist/databases/all/nomodel.spec.js +919 -6
  14. package/dist/databases/all/nomodel.spec.js.map +1 -1
  15. package/dist/databases/all/orderby.spec.d.ts +1 -1
  16. package/dist/databases/all/orderby.spec.js +187 -6
  17. package/dist/databases/all/orderby.spec.js.map +1 -1
  18. package/dist/databases/all/problems.spec.d.ts +1 -1
  19. package/dist/databases/all/problems.spec.js +76 -6
  20. package/dist/databases/all/problems.spec.js.map +1 -1
  21. package/dist/databases/all/sql_expressions.spec.d.ts +1 -1
  22. package/dist/databases/all/sql_expressions.spec.js +58 -6
  23. package/dist/databases/all/sql_expressions.spec.js.map +1 -1
  24. package/dist/databases/all/time.spec.d.ts +1 -1
  25. package/dist/databases/all/time.spec.js +609 -5
  26. package/dist/databases/all/time.spec.js.map +1 -1
  27. package/dist/databases/shared/test_list.js +1 -20
  28. package/dist/databases/shared/test_list.js.map +1 -1
  29. package/dist/index.d.ts +0 -8
  30. package/dist/index.js +1 -17
  31. package/dist/index.js.map +1 -1
  32. package/package.json +6 -6
  33. package/src/databases/all/db_index.spec.ts +137 -6
  34. package/src/databases/all/expr.spec.ts +661 -7
  35. package/src/databases/all/functions.spec.ts +1092 -6
  36. package/src/databases/all/join.spec.ts +309 -6
  37. package/src/databases/all/nomodel.spec.ts +1114 -7
  38. package/src/databases/all/orderby.spec.ts +229 -6
  39. package/src/databases/all/problems.spec.ts +82 -6
  40. package/src/databases/all/sql_expressions.spec.ts +65 -6
  41. package/src/databases/all/time.spec.ts +734 -5
  42. package/src/databases/shared/test_list.ts +1 -20
  43. package/src/index.ts +0 -9
  44. package/dist/databases/shared/db_index.d.ts +0 -3
  45. package/dist/databases/shared/db_index.js +0 -123
  46. package/dist/databases/shared/db_index.js.map +0 -1
  47. package/dist/databases/shared/expr.d.ts +0 -3
  48. package/dist/databases/shared/expr.js +0 -551
  49. package/dist/databases/shared/expr.js.map +0 -1
  50. package/dist/databases/shared/functions.d.ts +0 -3
  51. package/dist/databases/shared/functions.js +0 -754
  52. package/dist/databases/shared/functions.js.map +0 -1
  53. package/dist/databases/shared/join.d.ts +0 -3
  54. package/dist/databases/shared/join.js +0 -302
  55. package/dist/databases/shared/join.js.map +0 -1
  56. package/dist/databases/shared/nomodel.d.ts +0 -3
  57. package/dist/databases/shared/nomodel.js +0 -950
  58. package/dist/databases/shared/nomodel.js.map +0 -1
  59. package/dist/databases/shared/orderby.d.ts +0 -3
  60. package/dist/databases/shared/orderby.js +0 -217
  61. package/dist/databases/shared/orderby.js.map +0 -1
  62. package/dist/databases/shared/problems.d.ts +0 -3
  63. package/dist/databases/shared/problems.js +0 -106
  64. package/dist/databases/shared/problems.js.map +0 -1
  65. package/dist/databases/shared/sql_expressions.d.ts +0 -3
  66. package/dist/databases/shared/sql_expressions.js +0 -88
  67. package/dist/databases/shared/sql_expressions.js.map +0 -1
  68. package/dist/databases/shared/time.d.ts +0 -3
  69. package/dist/databases/shared/time.js +0 -640
  70. package/dist/databases/shared/time.js.map +0 -1
  71. package/src/databases/shared/db_index.ts +0 -167
  72. package/src/databases/shared/expr.ts +0 -695
  73. package/src/databases/shared/functions.ts +0 -1126
  74. package/src/databases/shared/join.ts +0 -340
  75. package/src/databases/shared/nomodel.ts +0 -1150
  76. package/src/databases/shared/orderby.ts +0 -260
  77. package/src/databases/shared/problems.ts +0 -113
  78. package/src/databases/shared/sql_expressions.ts +0 -96
  79. package/src/databases/shared/time.ts +0 -786
@@ -1,24 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.allDatabaseTestSets = void 0;
4
- const db_index_1 = require("./db_index");
5
- const expr_1 = require("./expr");
6
- const functions_1 = require("./functions");
7
- const join_1 = require("./join");
8
- const nomodel_1 = require("./nomodel");
9
- const orderby_1 = require("./orderby");
10
- const problems_1 = require("./problems");
11
- const sql_expressions_1 = require("./sql_expressions");
12
- const time_1 = require("./time");
13
- exports.allDatabaseTestSets = [
14
- expr_1.exprSharedTests,
15
- functions_1.functionsSharedTests,
16
- db_index_1.indexSharedTests,
17
- join_1.joinSharedTests,
18
- nomodel_1.noModelSharedTests,
19
- orderby_1.orderBySharedTests,
20
- problems_1.problemsSharedTests,
21
- sql_expressions_1.sqlExpressionsSharedTests,
22
- time_1.timeSharedTests,
23
- ];
4
+ exports.allDatabaseTestSets = [];
24
5
  //# sourceMappingURL=test_list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test_list.js","sourceRoot":"","sources":["../../../src/databases/shared/test_list.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAE5C,iCAAuC;AACvC,2CAAiD;AACjD,iCAAuC;AACvC,uCAA6C;AAC7C,uCAA6C;AAC7C,yCAA+C;AAC/C,uDAA4D;AAC5D,iCAAuC;AAI1B,QAAA,mBAAmB,GAAsB;IACpD,sBAAe;IACf,gCAAoB;IACpB,2BAAgB;IAChB,sBAAe;IACf,4BAAkB;IAClB,4BAAkB;IAClB,8BAAmB;IACnB,2CAAyB;IACzB,sBAAe;CAChB,CAAC"}
1
+ {"version":3,"file":"test_list.js","sourceRoot":"","sources":["../../../src/databases/shared/test_list.ts"],"names":[],"mappings":";;;AAIa,QAAA,mBAAmB,GAAsB,EAAE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,2 @@
1
1
  export { allDatabaseTestSets } from './databases/shared/test_list';
2
2
  export { RuntimeList, testRuntimeFor } from './runtimes';
3
- export { exprSharedTests } from './databases/shared/expr';
4
- export { indexSharedTests } from './databases/shared/db_index';
5
- export { joinSharedTests } from './databases/shared/join';
6
- export { noModelSharedTests } from './databases/shared/nomodel';
7
- export { orderBySharedTests } from './databases/shared/orderby';
8
- export { problemsSharedTests } from './databases/shared/problems';
9
- export { sqlExpressionsSharedTests } from './databases/shared/sql_expressions';
10
- export { timeSharedTests } from './databases/shared/time';
package/dist/index.js CHANGED
@@ -22,26 +22,10 @@
22
22
  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
23
  */
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.timeSharedTests = exports.sqlExpressionsSharedTests = exports.problemsSharedTests = exports.orderBySharedTests = exports.noModelSharedTests = exports.joinSharedTests = exports.indexSharedTests = exports.exprSharedTests = exports.testRuntimeFor = exports.RuntimeList = exports.allDatabaseTestSets = void 0;
25
+ exports.testRuntimeFor = exports.RuntimeList = exports.allDatabaseTestSets = void 0;
26
26
  var test_list_1 = require("./databases/shared/test_list");
27
27
  Object.defineProperty(exports, "allDatabaseTestSets", { enumerable: true, get: function () { return test_list_1.allDatabaseTestSets; } });
28
28
  var runtimes_1 = require("./runtimes");
29
29
  Object.defineProperty(exports, "RuntimeList", { enumerable: true, get: function () { return runtimes_1.RuntimeList; } });
30
30
  Object.defineProperty(exports, "testRuntimeFor", { enumerable: true, get: function () { return runtimes_1.testRuntimeFor; } });
31
- var expr_1 = require("./databases/shared/expr");
32
- Object.defineProperty(exports, "exprSharedTests", { enumerable: true, get: function () { return expr_1.exprSharedTests; } });
33
- var db_index_1 = require("./databases/shared/db_index");
34
- Object.defineProperty(exports, "indexSharedTests", { enumerable: true, get: function () { return db_index_1.indexSharedTests; } });
35
- var join_1 = require("./databases/shared/join");
36
- Object.defineProperty(exports, "joinSharedTests", { enumerable: true, get: function () { return join_1.joinSharedTests; } });
37
- var nomodel_1 = require("./databases/shared/nomodel");
38
- Object.defineProperty(exports, "noModelSharedTests", { enumerable: true, get: function () { return nomodel_1.noModelSharedTests; } });
39
- var orderby_1 = require("./databases/shared/orderby");
40
- Object.defineProperty(exports, "orderBySharedTests", { enumerable: true, get: function () { return orderby_1.orderBySharedTests; } });
41
- var problems_1 = require("./databases/shared/problems");
42
- Object.defineProperty(exports, "problemsSharedTests", { enumerable: true, get: function () { return problems_1.problemsSharedTests; } });
43
- var sql_expressions_1 = require("./databases/shared/sql_expressions");
44
- Object.defineProperty(exports, "sqlExpressionsSharedTests", { enumerable: true, get: function () { return sql_expressions_1.sqlExpressionsSharedTests; } });
45
- var time_1 = require("./databases/shared/time");
46
- Object.defineProperty(exports, "timeSharedTests", { enumerable: true, get: function () { return time_1.timeSharedTests; } });
47
31
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAEH,0DAAiE;AAAzD,gHAAA,mBAAmB,OAAA;AAE3B,uCAAuD;AAA/C,uGAAA,WAAW,OAAA;AAAE,0GAAA,cAAc,OAAA;AAEnC,gDAAwD;AAAhD,uGAAA,eAAe,OAAA;AACvB,wDAA6D;AAArD,4GAAA,gBAAgB,OAAA;AACxB,gDAAwD;AAAhD,uGAAA,eAAe,OAAA;AACvB,sDAA8D;AAAtD,6GAAA,kBAAkB,OAAA;AAC1B,sDAA8D;AAAtD,6GAAA,kBAAkB,OAAA;AAC1B,wDAAgE;AAAxD,+GAAA,mBAAmB,OAAA;AAC3B,sEAA6E;AAArE,4HAAA,yBAAyB,OAAA;AACjC,gDAAwD;AAAhD,uGAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAEH,0DAAiE;AAAzD,gHAAA,mBAAmB,OAAA;AAE3B,uCAAuD;AAA/C,uGAAA,WAAW,OAAA;AAAE,0GAAA,cAAc,OAAA"}
package/package.json CHANGED
@@ -18,11 +18,11 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@jest/globals": "^29.4.3",
21
- "@malloydata/db-bigquery": "^0.0.69-dev230808200646",
22
- "@malloydata/db-duckdb": "^0.0.69-dev230808200646",
23
- "@malloydata/db-postgres": "^0.0.69-dev230808200646",
24
- "@malloydata/malloy": "^0.0.69-dev230808200646",
25
- "@malloydata/render": "^0.0.69-dev230808200646",
21
+ "@malloydata/db-bigquery": "^0.0.69",
22
+ "@malloydata/db-duckdb": "^0.0.69",
23
+ "@malloydata/db-postgres": "^0.0.69",
24
+ "@malloydata/malloy": "^0.0.69",
25
+ "@malloydata/render": "^0.0.69",
26
26
  "jsdom": "^22.1.0",
27
27
  "luxon": "^1.26.4",
28
28
  "madge": "^6.0.0"
@@ -31,5 +31,5 @@
31
31
  "@types/jsdom": "^21.1.1",
32
32
  "@types/luxon": "^1.26.4"
33
33
  },
34
- "version": "0.0.69-dev230808200646"
34
+ "version": "0.0.69"
35
35
  }
@@ -26,12 +26,143 @@
26
26
 
27
27
  import {RuntimeList, allDatabases} from '../../runtimes';
28
28
  import {databasesFromEnvironmentOr} from '../../util';
29
- import {indexSharedTests} from '../shared/db_index';
29
+ import '../../util/db-jest-matchers';
30
30
 
31
31
  const runtimes = new RuntimeList(databasesFromEnvironmentOr(allDatabases));
32
32
 
33
- /*
34
- * This test file reuses common tests definitions.
35
- * For actual test development please go to: test/src/databases/shared/index.spec.ts
36
- */
37
- indexSharedTests(runtimes);
33
+ // No prebuilt shared model, each test is complete. Makes debugging easier.
34
+ afterAll(async () => {
35
+ await runtimes.closeAll();
36
+ });
37
+
38
+ runtimes.runtimeMap.forEach((runtime, databaseName) => {
39
+ it(`basic index - ${databaseName}`, async () => {
40
+ const model = await runtime.loadModel(
41
+ `
42
+ source: airports is table('malloytest.airports') {
43
+ }
44
+ `
45
+ );
46
+ let result = await model.search('airports', 'SANTA', 10);
47
+
48
+ // if (result !== undefined) {
49
+ // console.log(result);
50
+ // } else {
51
+ // console.log("no result");
52
+ // }
53
+ expect(result).toBeDefined();
54
+ if (result !== undefined) {
55
+ expect(result[0].fieldName).toBe('county');
56
+ expect(result[0].fieldValue).toBe('SANTA ROSA');
57
+ expect(result[0].weight).toBe(26);
58
+ expect(result.length).toBe(10);
59
+ }
60
+
61
+ result = await model.search('airports', 'SANTA A', 100, 'city');
62
+ if (result !== undefined) {
63
+ // console.log(result);
64
+ expect(result[0].fieldName).toBe('city');
65
+ expect(result[0].fieldValue).toBe('SANTA ANA');
66
+ }
67
+ });
68
+
69
+ it(`index value map - ${databaseName}`, async () => {
70
+ const model = await runtime.loadModel(
71
+ `
72
+ source: airports is table('malloytest.airports') {
73
+ }
74
+ `
75
+ );
76
+ const result = await model.searchValueMap('airports');
77
+ // if (result !== undefined) {
78
+ // console.log(result[4].values);
79
+ // } else {
80
+ // console.log("no result");
81
+ // }
82
+ expect(result).toBeDefined();
83
+ if (result !== undefined) {
84
+ expect(result[4].values[0].fieldValue).toBe('WASHINGTON');
85
+ expect(result[4].values[0].weight).toBe(214);
86
+ }
87
+ });
88
+
89
+ it(`index no sample rows - ${databaseName}`, async () => {
90
+ const result = await runtime
91
+ .loadQuery(
92
+ `
93
+ source: t is table('malloytest.state_facts') {
94
+ dimension: one is 'one'
95
+ }
96
+
97
+ query: t-> {index:one, state }
98
+ -> {project: fieldName, weight, fieldValue; order_by: 2 desc; where: fieldName = 'one'}
99
+ `
100
+ )
101
+ .run();
102
+ // console.log(result.data.toObject());
103
+ expect(result.data.path(0, 'fieldName').value).toBe('one');
104
+ expect(result.data.path(0, 'weight').value).toBe(51);
105
+ });
106
+
107
+ // bigquery doesn't support row count based sampling.
108
+ (databaseName === 'bigquery' ? it.skip : it)(
109
+ `index rows count - ${databaseName}`,
110
+ async () => {
111
+ const result = await runtime
112
+ .loadQuery(
113
+ `
114
+ source: t is table('malloytest.state_facts') {
115
+ dimension: one is 'one'
116
+ }
117
+
118
+ query: t-> {index:one, state; sample: 10 }
119
+ -> {project: fieldName, weight, fieldValue; order_by: 2 desc; where: fieldName = 'one'}
120
+ `
121
+ )
122
+ .run();
123
+ expect(result.data.path(0, 'fieldName').value).toBe('one');
124
+ expect(result.data.path(0, 'weight').value).toBe(10);
125
+ }
126
+ );
127
+
128
+ it(`index rows count - ${databaseName}`, async () => {
129
+ const result = await runtime
130
+ .loadQuery(
131
+ `
132
+ source: t is table('malloytest.flights') {
133
+ dimension: one is 'one'
134
+ }
135
+
136
+ query: t-> {index:one, tailnum; sample: 50% }
137
+ -> {project: fieldName, weight, fieldValue; order_by: 2 desc; where: fieldName = 'one'}
138
+ `
139
+ )
140
+ .run();
141
+ // console.log(result.sql);
142
+ // Hard to get consistent results here so just check that we get a value back.
143
+ //console.log(result.data.toObject());
144
+ expect(result.data.path(0, 'fieldName').value).toBe('one');
145
+ });
146
+
147
+ // it(`fanned data index - ${databaseName}`, async () => {
148
+ // const result = await runtime
149
+ // .loadModel(
150
+ // `
151
+ // source: movies is table('malloy-303216.imdb.movies') {
152
+ // }
153
+ // `
154
+ // )
155
+ // .search("movies", "Tom");
156
+ // // if (result !== undefined) {
157
+ // // console.log(result);
158
+ // // } else {
159
+ // // console.log("no result");
160
+ // // }
161
+ // expect(result).toBeDefined();
162
+ // if (result !== undefined) {
163
+ // expect(result[0].fieldName).toBe("county");
164
+ // expect(result[0].fieldValue).toBe("SANTA ROSA");
165
+ // expect(result[0].weight).toBe(26);
166
+ // }
167
+ // });
168
+ });