@malloydata/malloy-tests 0.0.95-dev231019211822 → 0.0.95

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 (84) hide show
  1. package/README.md +213 -1
  2. package/dist/api.spec.d.ts +1 -1
  3. package/dist/api.spec.js +6 -13
  4. package/dist/api.spec.js.map +1 -1
  5. package/dist/databases/all/db_index.spec.js +21 -41
  6. package/dist/databases/all/db_index.spec.js.map +1 -1
  7. package/dist/databases/all/expr.spec.js +262 -339
  8. package/dist/databases/all/expr.spec.js.map +1 -1
  9. package/dist/databases/all/functions.spec.js +37 -35
  10. package/dist/databases/all/functions.spec.js.map +1 -1
  11. package/dist/databases/all/join.spec.js +125 -169
  12. package/dist/databases/all/join.spec.js.map +1 -1
  13. package/dist/databases/all/nomodel.spec.js +335 -594
  14. package/dist/databases/all/nomodel.spec.js.map +1 -1
  15. package/dist/databases/all/orderby.spec.js +82 -128
  16. package/dist/databases/all/orderby.spec.js.map +1 -1
  17. package/dist/databases/all/sql_expressions.spec.js +27 -43
  18. package/dist/databases/all/sql_expressions.spec.js.map +1 -1
  19. package/dist/databases/all/time.spec.js +63 -103
  20. package/dist/databases/all/time.spec.js.map +1 -1
  21. package/dist/databases/bigquery/double_truncation.spec.js +1 -1
  22. package/dist/databases/bigquery/handexpr.spec.js +12 -12
  23. package/dist/databases/bigquery/injestion_time_partitioning.spec.js +22 -22
  24. package/dist/databases/bigquery/joined_filters.spec.js +3 -3
  25. package/dist/databases/bigquery/json.spec.d.ts +1 -1
  26. package/dist/databases/bigquery/json.spec.js +25 -45
  27. package/dist/databases/bigquery/json.spec.js.map +1 -1
  28. package/dist/databases/bigquery/malloy_query.spec.d.ts +1 -1
  29. package/dist/databases/bigquery/malloy_query.spec.js +47 -48
  30. package/dist/databases/bigquery/malloy_query.spec.js.map +1 -1
  31. package/dist/databases/bigquery/time.spec.js +9 -13
  32. package/dist/databases/bigquery/time.spec.js.map +1 -1
  33. package/dist/databases/bigquery/wildcard_table_names.spec.js +19 -19
  34. package/dist/databases/bigquery-duckdb/nested_source_table.spec.js +53 -87
  35. package/dist/databases/bigquery-duckdb/nested_source_table.spec.js.map +1 -1
  36. package/dist/databases/bigquery-postgres/multi_connection.spec.js +5 -20
  37. package/dist/databases/bigquery-postgres/multi_connection.spec.js.map +1 -1
  38. package/dist/databases/bigquery-postgres/streaming.spec.js +6 -6
  39. package/dist/databases/bigquery-postgres/streaming.spec.js.map +1 -1
  40. package/dist/databases/duckdb/duckdb.spec.js +24 -33
  41. package/dist/databases/duckdb/duckdb.spec.js.map +1 -1
  42. package/dist/databases/postgres/postgres.spec.js +46 -67
  43. package/dist/databases/postgres/postgres.spec.js.map +1 -1
  44. package/dist/jestMatcher.spec.d.ts +1 -0
  45. package/dist/jestMatcher.spec.js +81 -0
  46. package/dist/jestMatcher.spec.js.map +1 -0
  47. package/dist/render/render.spec.js +10 -12
  48. package/dist/render/render.spec.js.map +1 -1
  49. package/dist/tags.spec.js +22 -2
  50. package/dist/tags.spec.js.map +1 -1
  51. package/dist/util/db-jest-matchers.d.ts +17 -6
  52. package/dist/util/db-jest-matchers.js +81 -20
  53. package/dist/util/db-jest-matchers.js.map +1 -1
  54. package/dist/util/index.d.ts +1 -2
  55. package/dist/util/index.js +11 -13
  56. package/dist/util/index.js.map +1 -1
  57. package/package.json +6 -6
  58. package/src/api.spec.ts +7 -16
  59. package/src/databases/all/db_index.spec.ts +22 -48
  60. package/src/databases/all/expr.spec.ts +273 -431
  61. package/src/databases/all/functions.spec.ts +37 -35
  62. package/src/databases/all/join.spec.ts +130 -196
  63. package/src/databases/all/nomodel.spec.ts +333 -689
  64. package/src/databases/all/orderby.spec.ts +87 -161
  65. package/src/databases/all/sql_expressions.spec.ts +29 -49
  66. package/src/databases/all/time.spec.ts +73 -130
  67. package/src/databases/bigquery/double_truncation.spec.ts +1 -1
  68. package/src/databases/bigquery/handexpr.spec.ts +12 -12
  69. package/src/databases/bigquery/injestion_time_partitioning.spec.ts +22 -22
  70. package/src/databases/bigquery/joined_filters.spec.ts +3 -3
  71. package/src/databases/bigquery/json.spec.ts +25 -49
  72. package/src/databases/bigquery/malloy_query.spec.ts +47 -54
  73. package/src/databases/bigquery/time.spec.ts +13 -17
  74. package/src/databases/bigquery/wildcard_table_names.spec.ts +19 -19
  75. package/src/databases/bigquery-duckdb/nested_source_table.spec.ts +56 -98
  76. package/src/databases/bigquery-postgres/multi_connection.spec.ts +5 -23
  77. package/src/databases/bigquery-postgres/streaming.spec.ts +12 -6
  78. package/src/databases/duckdb/duckdb.spec.ts +31 -43
  79. package/src/databases/postgres/postgres.spec.ts +54 -84
  80. package/src/jestMatcher.spec.ts +88 -0
  81. package/src/render/render.spec.ts +10 -12
  82. package/src/tags.spec.ts +22 -2
  83. package/src/util/db-jest-matchers.ts +106 -32
  84. package/src/util/index.ts +16 -14
@@ -27,8 +27,9 @@ const runtimes_1 = require("../../runtimes");
27
27
  const util_1 = require("../../util");
28
28
  require("../../util/db-jest-matchers");
29
29
  const runtimes = new runtimes_1.RuntimeList((0, util_1.databasesFromEnvironmentOr)(runtimes_1.allDatabases));
30
- const joinModelText = `
31
- source: aircraft_models is table('malloytest.aircraft_models') extend {
30
+ function modelText(connectionName) {
31
+ return `
32
+ source: aircraft_models is ${connectionName}.table('malloytest.aircraft_models') extend {
32
33
  primary_key: aircraft_model_code
33
34
  measure: model_count is count()
34
35
  view: manufacturer_models is {
@@ -41,7 +42,7 @@ const joinModelText = `
41
42
  }
42
43
  }
43
44
 
44
- source: aircraft is table('malloytest.aircraft') extend {
45
+ source: aircraft is ${connectionName}.table('malloytest.aircraft') extend {
45
46
  primary_key: tail_num
46
47
  measure: aircraft_count is count()
47
48
  }
@@ -51,103 +52,81 @@ const joinModelText = `
51
52
  with manufacturer
52
53
  }
53
54
  `;
54
- // const models = new Map<string, malloy.ModelMaterializer>();
55
- // runtimes.runtimeMap.forEach((runtime, key) => {
56
- // models.set(key, runtime.loadModel(joinModelText));
57
- // });
55
+ }
58
56
  afterAll(async () => {
59
57
  await runtimes.closeAll();
60
58
  });
61
59
  describe('join expression tests', () => {
62
60
  runtimes.runtimeMap.forEach((runtime, database) => {
61
+ const joinModelText = modelText(database);
62
+ const joinModel = runtime.loadModel(joinModelText);
63
63
  it(`model source refine join - ${database}`, async () => {
64
- const result = await runtime
65
- .loadModel(joinModelText)
66
- .loadQuery(`
67
- source: a2 is aircraft extend {
68
- join_one: aircraft_models with aircraft_model_code
69
- }
70
-
71
- run: a2 -> {
72
- aggregate:
73
- aircraft_count
74
- aircraft_models.model_count
75
- }
76
- `)
77
- .run();
78
- expect(result.data.value[0]['model_count']).toBe(1416);
64
+ await expect(`
65
+ source: a2 is aircraft extend {
66
+ join_one: aircraft_models with aircraft_model_code
67
+ }
68
+ run: a2 -> {
69
+ aggregate:
70
+ aircraft_count
71
+ aircraft_models.model_count
72
+ }
73
+ `).malloyResultMatches(joinModel, { model_count: 1416 });
79
74
  });
80
75
  it(`model source refine in query join - ${database}`, async () => {
81
- const result = await runtime
82
- .loadModel(joinModelText)
83
- .loadQuery(`
84
- run: aircraft {
85
- join_one: aircraft_models with aircraft_model_code
86
- } -> {
87
- aggregate:
88
- aircraft_count
89
- aircraft_models.model_count
90
- }
91
- `)
92
- .run();
93
- expect(result.data.value[0]['model_count']).toBe(1416);
76
+ await expect(`
77
+ run: aircraft extend {
78
+ join_one: aircraft_models with aircraft_model_code
79
+ } -> {
80
+ aggregate:
81
+ aircraft_count
82
+ aircraft_models.model_count
83
+ }
84
+ `).malloyResultMatches(joinModel, { model_count: 1416 });
94
85
  });
95
86
  it(`model: join fact table query - ${database}`, async () => {
96
- const result = await runtime
97
- .loadModel(joinModelText)
98
- .loadQuery(`
99
- run: aircraft_models {
100
- join_one: am_facts is
101
- aircraft_models->{
102
- group_by: m is manufacturer
103
- aggregate: num_models is count()
104
- } with manufacturer
105
- } -> {
106
- select:
107
- manufacturer
108
- am_facts.num_models
109
- order_by: 2 desc
110
- limit: 1
111
- }
112
- `)
113
- .run();
114
- expect(result.data.value[0]['num_models']).toBe(1147);
87
+ await expect(`
88
+ run: aircraft_models extend {
89
+ join_one: am_facts is
90
+ aircraft_models->{
91
+ group_by: m is manufacturer
92
+ aggregate: num_models is count()
93
+ } with manufacturer
94
+ } -> {
95
+ select:
96
+ manufacturer
97
+ am_facts.num_models
98
+ order_by: 2 desc
99
+ limit: 1
100
+ }
101
+ `).malloyResultMatches(joinModel, { num_models: 1147 });
115
102
  });
116
103
  it(`model: source based on query - ${database}`, async () => {
117
- const result = await runtime
118
- .loadModel(joinModelText)
119
- .loadQuery(`
120
- run:
121
- aircraft_models-> {
104
+ await expect(`
105
+ run: aircraft_models
106
+ -> {
122
107
  group_by: m is manufacturer
123
108
  aggregate: num_models is count()
109
+ } -> {
110
+ select:
111
+ m
112
+ num_models
113
+ order_by: 2 desc
114
+ limit: 1
124
115
  }
125
- -> {
126
- select:
127
- m
128
- num_models
129
- order_by: 2 desc
130
- limit: 1
131
- }
132
- `)
133
- .run();
134
- expect(result.data.value[0]['num_models']).toBe(1147);
116
+ `).malloyResultMatches(joinModel, { num_models: 1147 });
135
117
  });
136
118
  it(`model: funnel - merge two queries - ${database}`, async () => {
137
- const result = await runtime
138
- .loadModel(joinModelText)
139
- .loadQuery(`
140
- run: aircraft_models->{
141
- group_by: m is manufacturer
142
- aggregate: num_models is count()
143
- } extend {
119
+ await expect(`
120
+ run: aircraft_models->{
121
+ group_by: m is manufacturer
122
+ aggregate: num_models is count()
123
+ } extend {
144
124
  join_one: seats is
145
125
  aircraft_models->{
146
126
  group_by: m is manufacturer
147
127
  aggregate: total_seats is seats.sum()
148
128
  } with m
149
- }
150
- -> {
129
+ } -> {
151
130
  select:
152
131
  m
153
132
  num_models
@@ -155,71 +134,60 @@ describe('join expression tests', () => {
155
134
  order_by: 2 desc
156
135
  limit: 1
157
136
  }
158
- `)
159
- .run();
160
- expect(result.data.value[0]['num_models']).toBe(1147);
161
- expect(result.data.value[0]['total_seats']).toBe(252771);
137
+ `).malloyResultMatches(joinModel, {
138
+ num_models: 1147,
139
+ total_seats: 252771,
140
+ });
162
141
  });
163
142
  it(`model: modeled funnel - ${database}`, async () => {
164
- const result = await runtime
165
- .loadModel(joinModelText)
166
- .loadQuery(`
167
- source: foo is aircraft_models-> manufacturer_models extend {
168
- join_one: seats is aircraft_models->manufacturer_seats with manufacturer
169
- }
170
- run: foo-> {
171
- select:
172
- manufacturer,
173
- num_models,
174
- seats.total_seats
175
- order_by: 2 desc
176
- limit: 1
177
- }
178
- `)
179
- .run();
180
- expect(result.data.value[0]['num_models']).toBe(1147);
181
- expect(result.data.value[0]['total_seats']).toBe(252771);
143
+ await expect(`
144
+ run: aircraft_models-> manufacturer_models extend {
145
+ join_one: seats is aircraft_models->manufacturer_seats with manufacturer
146
+ } -> {
147
+ select:
148
+ manufacturer,
149
+ num_models,
150
+ seats.total_seats
151
+ order_by: 2 desc
152
+ limit: 1
153
+ }
154
+ `).malloyResultMatches(joinModel, {
155
+ num_models: 1147,
156
+ total_seats: 252771,
157
+ });
182
158
  });
183
159
  it(`model: modeled funnel2 - ${database}`, async () => {
184
- const result = await runtime
185
- .loadModel(joinModelText)
186
- .loadQuery(`
187
- run: funnel->{
188
- select:
189
- manufacturer
190
- num_models
191
- seats.total_seats
192
- order_by: 2 desc
193
- limit: 1
194
- }
195
- `)
196
- .run();
197
- expect(result.data.value[0]['num_models']).toBe(1147);
198
- expect(result.data.value[0]['total_seats']).toBe(252771);
160
+ await expect(`
161
+ run: funnel->{
162
+ select:
163
+ manufacturer
164
+ num_models
165
+ seats.total_seats
166
+ order_by: 2 desc
167
+ limit: 1
168
+ }
169
+ `).malloyResultMatches(joinModel, {
170
+ num_models: 1147,
171
+ total_seats: 252771,
172
+ });
199
173
  });
200
174
  it(`model: double_pipe - ${database}`, async () => {
201
- const result = await runtime
202
- .loadModel(joinModelText)
203
- .loadQuery(`
204
- run: aircraft_models->{
205
- group_by: manufacturer
206
- aggregate: f is count()
207
- }->{
208
- aggregate: f_sum is f.sum()
209
- }->{
210
- select: f_sum2 is f_sum+1
211
- }
212
- `)
213
- .run();
214
- expect(result.data.value[0]['f_sum2']).toBe(60462);
175
+ await expect(`
176
+ run: aircraft_models->{
177
+ group_by: manufacturer
178
+ aggregate: f is count()
179
+ }->{
180
+ aggregate: f_sum is f.sum()
181
+ }->{
182
+ select: f_sum2 is f_sum+1
183
+ }
184
+ `).malloyResultMatches(joinModel, { f_sum2: 60462 });
215
185
  });
216
- test(`model: unnest is left join - ${database}`, async () => {
217
- const result = await runtime
218
- .loadModel(joinModelText)
219
- .loadQuery(`
186
+ (0, util_1.testIf)(runtime.supportsNesting)(`model: unnest is left join - ${database}`, async () => {
187
+ await expect(`
220
188
  // produce a table with 4 rows that has a nested element
221
- query: a_states is table('malloytest.state_facts')-> {
222
- where: state ? ~ 'A%'
189
+ query: a_states is ${database}.table('malloytest.state_facts')-> {
190
+ where: state ? ~ 'A%'
223
191
  group_by: state
224
192
  nest: somthing is {group_by: state}
225
193
  }
@@ -227,7 +195,7 @@ describe('join expression tests', () => {
227
195
  // join the 4 rows and reference the
228
196
  // nested column. should return all the rows.
229
197
  // If the unnest is an inner join, we'll get back just 4 rows.
230
- run: table('malloytest.state_facts') {
198
+ run: ${database}.table('malloytest.state_facts') extend {
231
199
  join_one: a_states is a_states with state
232
200
  }
233
201
  -> {
@@ -236,63 +204,51 @@ describe('join expression tests', () => {
236
204
  nest: a is {
237
205
  group_by: a_states.somthing.state
238
206
  }
207
+ limit: 5
239
208
  }
240
- `)
241
- .run();
242
- // console.log(result.data.toObject());
243
- expect(result.data.rowCount).toBeGreaterThan(4);
209
+ `).malloyResultMatches(joinModel, [{}, {}, {}, {}, {}]);
244
210
  });
245
- // not sure how to solve this one yet.
211
+ // not sure how to solve this one yet, just check for > 4 rows
246
212
  it(`All joins at the same level - ${database}`, async () => {
247
- const result = await runtime
248
- .loadQuery(`
249
- source: flights is table('malloytest.flights') extend {
250
- join_one: aircraft is table('malloytest.aircraft')
213
+ await expect(`
214
+ source: flights is ${database}.table('malloytest.flights') extend {
215
+ join_one: aircraft is ${database}.table('malloytest.aircraft')
251
216
  on tail_num = aircraft.tail_num
252
- join_one: aircraft_models is table('malloytest.aircraft_models')
217
+ join_one: aircraft_models is ${database}.table('malloytest.aircraft_models')
253
218
  on aircraft.aircraft_model_code = aircraft_models.aircraft_model_code
254
219
  }
255
220
 
256
221
  run: flights -> {
257
222
  group_by: aircraft_models.seats
258
223
  aggregate: flight_count is count()
224
+ limit: 5
259
225
  }
260
- `)
261
- .run();
262
- // console.log(result.data.toObject());
263
- expect(result.data.rowCount).toBeGreaterThan(4);
226
+ `).malloyResultMatches(joinModel, [{}, {}, {}, {}, {}]);
264
227
  });
265
228
  it(`join issue440 - ${database}`, async () => {
266
- const result = await runtime
267
- .loadQuery(`
268
- source: aircraft_models is table('malloytest.aircraft_models')
229
+ await expect(`
230
+ source: aircraft_models is ${database}.table('malloytest.aircraft_models')
269
231
 
270
- source: aircraft is table('malloytest.aircraft')
232
+ source: aircraft is ${database}.table('malloytest.aircraft')
271
233
 
272
- source: flights is table('malloytest.flights') extend {
234
+ source: flights is ${database}.table('malloytest.flights') extend {
273
235
  join_one: aircraft on aircraft.tail_num = tail_num
274
236
  join_one: aircraft_models on aircraft_models.aircraft_model_code = aircraft.aircraft_model_code
275
237
  }
276
238
 
277
239
  run: flights-> {
278
240
  group_by: testingtwo is aircraft_models.model
241
+ limit: 5
279
242
  }
280
- `)
281
- .run();
282
- // console.log(result.data.toObject());
283
- expect(result.data.rowCount).toBeGreaterThan(4);
243
+ `).malloyResultMatches(runtime, [{}, {}, {}, {}, {}]);
284
244
  });
285
245
  it(`join issue1092 - ${database}`, async () => {
286
- const result = await runtime
287
- .loadQuery(`
288
- run: table('malloytest.state_facts') -> {
289
- join_one: sf is table('malloytest.state_facts') on sf.state = state
290
- aggregate: x is sf.births.sum() { ? state = 'CA' }
291
- }
292
- `)
293
- .run();
294
- // console.log(result.data.toObject());
295
- expect(result.data.rowCount).toBe(1);
246
+ await expect(`
247
+ run: ${database}.table('malloytest.state_facts') -> {
248
+ extend: {join_one: sf is ${database}.table('malloytest.state_facts') on sf.state = state}
249
+ aggregate: x is sf.births.sum() { where: state = 'CA' }
250
+ }
251
+ `).malloyResultMatches(runtime, [{}]);
296
252
  });
297
253
  });
298
254
  });
@@ -1 +1 @@
1
- {"version":3,"file":"join.spec.js","sourceRoot":"","sources":["../../../src/databases/all/join.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"join.spec.js","sourceRoot":"","sources":["../../../src/databases/all/join.spec.ts"],"names":[],"mappings":"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"}