@finos/legend-application-studio 28.21.3 → 28.21.5
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/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.d.ts +1 -1
- package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.js +3 -3
- package/lib/components/editor/editor-group/data-editor/EmbeddedDataEditor.js.map +1 -1
- package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.d.ts +3 -0
- package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.js +72 -52
- package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.js.map +1 -1
- package/lib/components/editor/editor-group/dataProduct/DataProductEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js +22 -1
- package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js.map +1 -1
- package/lib/components/editor/editor-group/dataProduct/testable/DataProductTestableEditor.d.ts +23 -0
- package/lib/components/editor/editor-group/dataProduct/testable/DataProductTestableEditor.d.ts.map +1 -0
- package/lib/components/editor/editor-group/dataProduct/testable/DataProductTestableEditor.js +267 -0
- package/lib/components/editor/editor-group/dataProduct/testable/DataProductTestableEditor.js.map +1 -0
- package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.js +113 -75
- package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.js.map +1 -1
- package/lib/components/editor/editor-group/testable/TestableSharedComponents.d.ts.map +1 -1
- package/lib/components/editor/editor-group/testable/TestableSharedComponents.js +39 -5
- package/lib/components/editor/editor-group/testable/TestableSharedComponents.js.map +1 -1
- package/lib/components/editor/side-bar/DevMetadataPanel.d.ts.map +1 -1
- package/lib/components/editor/side-bar/DevMetadataPanel.js +37 -6
- package/lib/components/editor/side-bar/DevMetadataPanel.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts +17 -2
- package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js +56 -49
- package/lib/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts +4 -1
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js +4 -0
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.d.ts +113 -0
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.d.ts.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.js +647 -0
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.js.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.d.ts +18 -4
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.js +214 -53
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.d.ts +17 -1
- package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.js +46 -1
- package/lib/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.js.map +1 -1
- package/lib/stores/editor/sidebar-state/dev-metadata/DevMetadataState.d.ts +9 -0
- package/lib/stores/editor/sidebar-state/dev-metadata/DevMetadataState.d.ts.map +1 -1
- package/lib/stores/editor/sidebar-state/dev-metadata/DevMetadataState.js +55 -0
- package/lib/stores/editor/sidebar-state/dev-metadata/DevMetadataState.js.map +1 -1
- package/package.json +16 -16
- package/src/components/editor/editor-group/data-editor/EmbeddedDataEditor.tsx +3 -0
- package/src/components/editor/editor-group/data-editor/RelationElementsDataEditor.tsx +331 -231
- package/src/components/editor/editor-group/dataProduct/DataProductEditor.tsx +32 -0
- package/src/components/editor/editor-group/dataProduct/testable/DataProductTestableEditor.tsx +935 -0
- package/src/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.tsx +425 -308
- package/src/components/editor/editor-group/testable/TestableSharedComponents.tsx +160 -15
- package/src/components/editor/side-bar/DevMetadataPanel.tsx +194 -10
- package/src/stores/editor/editor-state/element-editor-state/data/EmbeddedDataState.ts +82 -51
- package/src/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.ts +4 -0
- package/src/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.ts +927 -0
- package/src/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.ts +303 -72
- package/src/stores/editor/editor-state/element-editor-state/testable/TestAssertionState.ts +66 -0
- package/src/stores/editor/sidebar-state/dev-metadata/DevMetadataState.ts +76 -0
- package/tsconfig.json +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataProductTestableState.js","sourceRoot":"","sources":["../../../../../../../src/stores/editor/editor-state/element-editor-state/dataProduct/testable/DataProductTestableState.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { EditorStore } from '../../../../EditorStore.js';
|
|
17
17
|
import type { FunctionEditorState } from '../../FunctionEditorState.js';
|
|
18
|
-
import { type
|
|
18
|
+
import { type GeneratorFn } from '@finos/legend-shared';
|
|
19
|
+
import { type ConcreteFunctionDefinition, type EmbeddedData, type AtomicTest, type EngineRuntime, type ObserverContext, type ValueSpecification, FunctionParameterValue, VariableExpression, FunctionTest, FunctionTestData, FunctionTestSuite, type Accessor } from '@finos/legend-graph';
|
|
19
20
|
import { TestablePackageableElementEditorState, TestableTestEditorState, TestableTestSuiteEditorState } from '../../testable/TestableEditorState.js';
|
|
20
21
|
import { EmbeddedDataEditorState } from '../../data/DataEditorState.js';
|
|
21
22
|
export declare class FunctionStoreTestDataState {
|
|
@@ -25,6 +26,8 @@ export declare class FunctionStoreTestDataState {
|
|
|
25
26
|
embeddedEditorState: EmbeddedDataEditorState;
|
|
26
27
|
dataElementModal: boolean;
|
|
27
28
|
constructor(editorStore: EditorStore, testDataState: FunctionTestDataState, value: FunctionTestData);
|
|
29
|
+
private initAccessorOptions;
|
|
30
|
+
private refreshAccessorOptions;
|
|
28
31
|
setDataElementModal(val: boolean): void;
|
|
29
32
|
changeEmbeddedData(val: EmbeddedData): void;
|
|
30
33
|
}
|
|
@@ -74,13 +77,20 @@ declare class FunctionTestDataState {
|
|
|
74
77
|
selectedDataState: FunctionStoreTestDataState | undefined;
|
|
75
78
|
dataHolder: FunctionTestSuite;
|
|
76
79
|
showNewModal: boolean;
|
|
80
|
+
showAddElementModal: boolean;
|
|
77
81
|
constructor(editorStore: EditorStore, functionTestableState: FunctionTestableState, holder: FunctionTestSuite);
|
|
78
82
|
initDefaultStore(): void;
|
|
79
83
|
setShowModal(val: boolean): void;
|
|
84
|
+
setShowAddElementModal(val: boolean): void;
|
|
85
|
+
get existingElementPaths(): string[];
|
|
86
|
+
get availableElementsToAdd(): {
|
|
87
|
+
path: string;
|
|
88
|
+
}[];
|
|
89
|
+
addDataElement(elementPath: string): void;
|
|
80
90
|
deleteStoreTestData(val: FunctionTestData): void;
|
|
81
91
|
openStoreTestData(val: FunctionTestData): void;
|
|
82
92
|
}
|
|
83
|
-
export declare const createFunctionTest: (id: string, observerContext: ObserverContext, containsRuntime: boolean, functionDefinition: ConcreteFunctionDefinition, editorStore: EditorStore, suite?: FunctionTestSuite | undefined) => FunctionTest
|
|
93
|
+
export declare const createFunctionTest: (id: string, observerContext: ObserverContext, containsRuntime: boolean, functionDefinition: ConcreteFunctionDefinition, editorStore: EditorStore, suite?: FunctionTestSuite | undefined) => Promise<FunctionTest>;
|
|
84
94
|
export declare class FunctionTestSuiteState extends TestableTestSuiteEditorState {
|
|
85
95
|
readonly functionTestableState: FunctionTestableState;
|
|
86
96
|
suite: FunctionTestSuite;
|
|
@@ -92,20 +102,24 @@ export declare class FunctionTestSuiteState extends TestableTestSuiteEditorState
|
|
|
92
102
|
setShowModal(val: boolean): void;
|
|
93
103
|
buildTestStates(): FunctionTestState[];
|
|
94
104
|
buildTestState(val: AtomicTest): FunctionTestState | undefined;
|
|
95
|
-
addNewTest(id: string): void
|
|
105
|
+
addNewTest(id: string): GeneratorFn<void>;
|
|
96
106
|
}
|
|
97
107
|
export declare class FunctionTestableState extends TestablePackageableElementEditorState {
|
|
98
108
|
readonly functionEditorState: FunctionEditorState;
|
|
99
109
|
selectedTestSuite: FunctionTestSuiteState | undefined;
|
|
100
110
|
runningSuite: FunctionTestSuite | undefined;
|
|
101
111
|
createSuiteModal: boolean;
|
|
112
|
+
cachedAccessors: Accessor[];
|
|
102
113
|
constructor(functionEditorState: FunctionEditorState);
|
|
103
114
|
get function(): ConcreteFunctionDefinition;
|
|
104
115
|
get associatedRuntimes(): EngineRuntime[] | undefined;
|
|
105
116
|
get containsRuntime(): boolean;
|
|
117
|
+
get resolvedIngestOrDataProductAccessors(): Accessor[];
|
|
118
|
+
private buildRawLambdaFromFunction;
|
|
119
|
+
resolveAccessors(): GeneratorFn<void>;
|
|
106
120
|
init(): void;
|
|
107
121
|
setCreateSuite(val: boolean): void;
|
|
108
|
-
createSuite(suiteName: string, testName: string): void
|
|
122
|
+
createSuite(suiteName: string, testName: string): GeneratorFn<void>;
|
|
109
123
|
buildTestSuiteState(val: FunctionTestSuite): FunctionTestSuiteState;
|
|
110
124
|
changeSuite(suite: FunctionTestSuite): void;
|
|
111
125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionTestableState.d.ts","sourceRoot":"","sources":["../../../../../../../src/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"FunctionTestableState.d.ts","sourceRoot":"","sources":["../../../../../../../src/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,11 +13,12 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { action, flow, makeObservable, observable } from 'mobx';
|
|
17
|
-
import { assertErrorThrown, isNonNullable, uuid, LogEvent, guaranteeNonNullable, addUniqueEntry, uniq, assertTrue, returnUndefOnError, filterByType, deleteEntry, UnsupportedOperationError, } from '@finos/legend-shared';
|
|
18
|
-
import { FunctionParameterValue, VariableExpression, FunctionTest, FunctionTestData, FunctionTestSuite, RawLambda, PackageableRuntime, SimpleFunctionExpression, LambdaFunctionInstanceValue, SUPPORTED_FUNCTIONS, matchFunctionName, InstanceValue, PackageableElementReference, Database, PackageableElementExplicitReference, observe_ValueSpecification, buildLambdaVariableExpressions, EqualTo, ModelStore, RelationElementsData, CORE_PURE_PATH, } from '@finos/legend-graph';
|
|
16
|
+
import { action, flow, flowResult, makeObservable, observable } from 'mobx';
|
|
17
|
+
import { assertErrorThrown, isNonNullable, uuid, LogEvent, guaranteeNonNullable, addUniqueEntry, uniq, assertTrue, returnUndefOnError, filterByType, deleteEntry, UnsupportedOperationError, noop, } from '@finos/legend-shared';
|
|
18
|
+
import { FunctionParameterValue, VariableExpression, FunctionTest, FunctionTestData, FunctionTestSuite, RawLambda, PackageableRuntime, SimpleFunctionExpression, LambdaFunctionInstanceValue, SUPPORTED_FUNCTIONS, matchFunctionName, InstanceValue, PackageableElementReference, Database, PackageableElementExplicitReference, observe_ValueSpecification, buildLambdaVariableExpressions, EqualTo, EqualToRelation, RelationElement, observe_RelationElement, ModelStore, RelationElementsData, CORE_PURE_PATH, DataProductAccessor, IngestionAccessor, RelationalStoreAccessor, V1_buildRelationElementsDataFromAccessors, } from '@finos/legend-graph';
|
|
19
19
|
import { TestablePackageableElementEditorState, TestableTestEditorState, TestableTestSuiteEditorState, } from '../../testable/TestableEditorState.js';
|
|
20
20
|
import { EmbeddedDataEditorState } from '../../data/DataEditorState.js';
|
|
21
|
+
import { RelationElementsDataState } from '../../data/EmbeddedDataState.js';
|
|
21
22
|
import { functionTestable_deleteDataStore, functionTestable_setEmbeddedData, function_addParameterValue, function_addTestSuite, function_deleteParameterValue, function_setParameterName, function_setParameterValueSpec, function_setParameterValues, } from '../../../../../graph-modifier/DomainGraphModifierHelper.js';
|
|
22
23
|
import { DEFAULT_TEST_ASSERTION_ID, createDefaultEqualToJSONTestAssertion, createBareExternalFormat, } from '../../../../utils/TestableUtils.js';
|
|
23
24
|
import { LEGEND_STUDIO_APP_EVENT } from '../../../../../../__lib__/LegendStudioEvent.js';
|
|
@@ -98,6 +99,56 @@ export class FunctionStoreTestDataState {
|
|
|
98
99
|
this.embeddedEditorState = new EmbeddedDataEditorState(this.testDataState.editorStore, this.storeTestData.data, {
|
|
99
100
|
hideSource: true,
|
|
100
101
|
});
|
|
102
|
+
this.initAccessorOptions();
|
|
103
|
+
}
|
|
104
|
+
initAccessorOptions() {
|
|
105
|
+
const embeddedDataState = this.embeddedEditorState.embeddedDataState;
|
|
106
|
+
if (!(embeddedDataState instanceof RelationElementsDataState)) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
this.refreshAccessorOptions(embeddedDataState).catch(noop());
|
|
110
|
+
embeddedDataState.setRefreshAccessorOptions(() => this.refreshAccessorOptions(embeddedDataState));
|
|
111
|
+
}
|
|
112
|
+
async refreshAccessorOptions(embeddedDataState) {
|
|
113
|
+
const parentElement = this.storeTestData.element.value;
|
|
114
|
+
const accessors = this.testDataState.functionTestableState
|
|
115
|
+
.resolvedIngestOrDataProductAccessors;
|
|
116
|
+
const parentAccessors = accessors.filter((a) => a.accessorOwner === parentElement.path);
|
|
117
|
+
if (!parentAccessors.length) {
|
|
118
|
+
embeddedDataState.setAccessorOptions(undefined, undefined);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const firstAccessor = parentAccessors[0];
|
|
122
|
+
if (!firstAccessor) {
|
|
123
|
+
embeddedDataState.setAccessorOptions(undefined, undefined);
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const columnOverrides = new Map();
|
|
127
|
+
for (const accessor of parentAccessors) {
|
|
128
|
+
const cols = accessor.relationType.columns.map((col) => col.name);
|
|
129
|
+
if (cols.length > 0) {
|
|
130
|
+
columnOverrides.set(accessor.accessor, cols);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
const typeLabel = firstAccessor.accessorLabel;
|
|
134
|
+
const options = parentAccessors.map((a) => ({
|
|
135
|
+
label: a.accessor,
|
|
136
|
+
value: a.accessor,
|
|
137
|
+
columns: columnOverrides.get(a.accessor) ?? [],
|
|
138
|
+
}));
|
|
139
|
+
if (columnOverrides.size > 0) {
|
|
140
|
+
for (const relState of embeddedDataState.relationElementStates) {
|
|
141
|
+
const rel = relState.relationElement;
|
|
142
|
+
if (rel.columns.length === 0) {
|
|
143
|
+
const key = rel.paths[rel.paths.length - 1];
|
|
144
|
+
const cols = key ? columnOverrides.get(key) : undefined;
|
|
145
|
+
if (cols) {
|
|
146
|
+
rel.columns = cols;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
embeddedDataState.setAccessorOptions(options, typeLabel);
|
|
101
152
|
}
|
|
102
153
|
setDataElementModal(val) {
|
|
103
154
|
this.dataElementModal = val;
|
|
@@ -307,14 +358,18 @@ class FunctionTestDataState {
|
|
|
307
358
|
selectedDataState;
|
|
308
359
|
dataHolder;
|
|
309
360
|
showNewModal = false;
|
|
361
|
+
showAddElementModal = false;
|
|
310
362
|
constructor(editorStore, functionTestableState, holder) {
|
|
311
363
|
makeObservable(this, {
|
|
312
364
|
selectedDataState: observable,
|
|
313
365
|
dataHolder: observable,
|
|
314
366
|
showNewModal: observable,
|
|
367
|
+
showAddElementModal: observable,
|
|
315
368
|
initDefaultStore: action,
|
|
316
369
|
setShowModal: action,
|
|
370
|
+
setShowAddElementModal: action,
|
|
317
371
|
deleteStoreTestData: action,
|
|
372
|
+
addDataElement: action,
|
|
318
373
|
openStoreTestData: action,
|
|
319
374
|
});
|
|
320
375
|
this.editorStore = editorStore;
|
|
@@ -334,6 +389,40 @@ class FunctionTestDataState {
|
|
|
334
389
|
setShowModal(val) {
|
|
335
390
|
this.showNewModal = val;
|
|
336
391
|
}
|
|
392
|
+
setShowAddElementModal(val) {
|
|
393
|
+
this.showAddElementModal = val;
|
|
394
|
+
}
|
|
395
|
+
get existingElementPaths() {
|
|
396
|
+
return (this.dataHolder.testData ?? []).map((td) => td.element.value.path);
|
|
397
|
+
}
|
|
398
|
+
get availableElementsToAdd() {
|
|
399
|
+
const accessors = this.functionTestableState.resolvedIngestOrDataProductAccessors;
|
|
400
|
+
const existingPaths = new Set(this.existingElementPaths);
|
|
401
|
+
const parentPaths = new Set();
|
|
402
|
+
for (const accessor of accessors) {
|
|
403
|
+
const parentPath = accessor.path[0];
|
|
404
|
+
if (parentPath && !existingPaths.has(parentPath)) {
|
|
405
|
+
parentPaths.add(parentPath);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
return Array.from(parentPaths).map((path) => ({ path }));
|
|
409
|
+
}
|
|
410
|
+
addDataElement(elementPath) {
|
|
411
|
+
const accessors = this.functionTestableState.resolvedIngestOrDataProductAccessors;
|
|
412
|
+
const group = accessors.filter((a) => a.path[0] === elementPath);
|
|
413
|
+
if (!group.length) {
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
416
|
+
const element = this.editorStore.graphManagerState.graph.getElement(elementPath);
|
|
417
|
+
const data = new FunctionTestData();
|
|
418
|
+
data.element = PackageableElementExplicitReference.create(element);
|
|
419
|
+
data.data = V1_buildRelationElementsDataFromAccessors(group);
|
|
420
|
+
if (!this.dataHolder.testData) {
|
|
421
|
+
this.dataHolder.testData = [];
|
|
422
|
+
}
|
|
423
|
+
this.dataHolder.testData.push(data);
|
|
424
|
+
this.openStoreTestData(data);
|
|
425
|
+
}
|
|
337
426
|
deleteStoreTestData(val) {
|
|
338
427
|
functionTestable_deleteDataStore(this.dataHolder, val);
|
|
339
428
|
this.initDefaultStore();
|
|
@@ -342,18 +431,41 @@ class FunctionTestDataState {
|
|
|
342
431
|
this.selectedDataState = new FunctionStoreTestDataState(this.editorStore, this, val);
|
|
343
432
|
}
|
|
344
433
|
}
|
|
345
|
-
export const createFunctionTest = (id, observerContext, containsRuntime, functionDefinition, editorStore, suite) => {
|
|
434
|
+
export const createFunctionTest = async (id, observerContext, containsRuntime, functionDefinition, editorStore, suite) => {
|
|
346
435
|
const funcionTest = new FunctionTest();
|
|
347
436
|
funcionTest.id = id;
|
|
348
437
|
funcionTest.assertions = [];
|
|
349
438
|
let _assertion;
|
|
350
|
-
|
|
439
|
+
const type = functionDefinition.returnType.value.rawType;
|
|
440
|
+
if (type.path === CORE_PURE_PATH.RELATION ||
|
|
441
|
+
type.path === CORE_PURE_PATH.TABULAR_DATASET) {
|
|
442
|
+
const assertion = new EqualToRelation();
|
|
443
|
+
assertion.id = DEFAULT_TEST_ASSERTION_ID;
|
|
444
|
+
const expectedRelElement = new RelationElement();
|
|
445
|
+
expectedRelElement.paths = [];
|
|
446
|
+
expectedRelElement.rows = [];
|
|
447
|
+
let inferredColumns = [];
|
|
448
|
+
if (type.path === CORE_PURE_PATH.RELATION) {
|
|
449
|
+
try {
|
|
450
|
+
const rawLambda = new RawLambda(functionDefinition.parameters.map((_param) => editorStore.graphManagerState.graphManager.serializeRawValueSpecification(_param)), functionDefinition.expressionSequence);
|
|
451
|
+
const relationTypeMetadata = await editorStore.graphManagerState.graphManager.getLambdaRelationType(rawLambda, editorStore.graphManagerState.graph);
|
|
452
|
+
inferredColumns = relationTypeMetadata.columns.map((col) => col.name);
|
|
453
|
+
}
|
|
454
|
+
catch {
|
|
455
|
+
// best-effort: leave columns empty
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
expectedRelElement.columns = inferredColumns;
|
|
459
|
+
observe_RelationElement(expectedRelElement);
|
|
460
|
+
assertion.expected = expectedRelElement;
|
|
461
|
+
_assertion = assertion;
|
|
462
|
+
}
|
|
463
|
+
else if (containsRuntime) {
|
|
351
464
|
_assertion = createDefaultEqualToJSONTestAssertion(DEFAULT_TEST_ASSERTION_ID);
|
|
352
465
|
}
|
|
353
466
|
else {
|
|
354
467
|
const equalTo = new EqualTo();
|
|
355
468
|
equalTo.id = DEFAULT_TEST_ASSERTION_ID;
|
|
356
|
-
const type = functionDefinition.returnType.value.rawType;
|
|
357
469
|
const valSpec = buildDefaultInstanceValue(editorStore.graphManagerState.graph, type, editorStore.changeDetectionState.observerContext, true);
|
|
358
470
|
const expected = editorStore.graphManagerState.graphManager.serializeValueSpecification(valSpec);
|
|
359
471
|
equalTo.expected = expected;
|
|
@@ -387,7 +499,7 @@ export class FunctionTestSuiteState extends TestableTestSuiteEditorState {
|
|
|
387
499
|
deleteTest: action,
|
|
388
500
|
buildTestStates: action,
|
|
389
501
|
setShowModal: action,
|
|
390
|
-
addNewTest:
|
|
502
|
+
addNewTest: flow,
|
|
391
503
|
});
|
|
392
504
|
this.functionTestableState = functionTestableState;
|
|
393
505
|
this.suite = suite;
|
|
@@ -409,8 +521,8 @@ export class FunctionTestSuiteState extends TestableTestSuiteEditorState {
|
|
|
409
521
|
}
|
|
410
522
|
return undefined;
|
|
411
523
|
}
|
|
412
|
-
addNewTest(id) {
|
|
413
|
-
const test = createFunctionTest(id, this.editorStore.changeDetectionState.observerContext, this.functionTestableState.containsRuntime, this.functionTestableState.function, this.editorStore, this.suite);
|
|
524
|
+
*addNewTest(id) {
|
|
525
|
+
const test = (yield createFunctionTest(id, this.editorStore.changeDetectionState.observerContext, this.functionTestableState.containsRuntime, this.functionTestableState.function, this.editorStore, this.suite));
|
|
414
526
|
testSuite_addTest(this.suite, test, this.functionTestableState.editorStore.changeDetectionState
|
|
415
527
|
.observerContext);
|
|
416
528
|
const testState = this.buildTestState(test);
|
|
@@ -423,6 +535,7 @@ export class FunctionTestSuiteState extends TestableTestSuiteEditorState {
|
|
|
423
535
|
export class FunctionTestableState extends TestablePackageableElementEditorState {
|
|
424
536
|
functionEditorState;
|
|
425
537
|
createSuiteModal = false;
|
|
538
|
+
cachedAccessors = [];
|
|
426
539
|
constructor(functionEditorState) {
|
|
427
540
|
super(functionEditorState, functionEditorState.functionElement);
|
|
428
541
|
makeObservable(this, {
|
|
@@ -433,6 +546,7 @@ export class FunctionTestableState extends TestablePackageableElementEditorState
|
|
|
433
546
|
runningSuite: observable,
|
|
434
547
|
testableComponentToRename: observable,
|
|
435
548
|
createSuiteModal: observable,
|
|
549
|
+
cachedAccessors: observable,
|
|
436
550
|
init: action,
|
|
437
551
|
buildTestSuiteState: action,
|
|
438
552
|
deleteTestSuite: action,
|
|
@@ -441,6 +555,8 @@ export class FunctionTestableState extends TestablePackageableElementEditorState
|
|
|
441
555
|
setRenameComponent: action,
|
|
442
556
|
clearTestResultsForSuite: action,
|
|
443
557
|
setCreateSuite: action,
|
|
558
|
+
resolveAccessors: flow,
|
|
559
|
+
createSuite: flow,
|
|
444
560
|
runTestable: flow,
|
|
445
561
|
runSuite: flow,
|
|
446
562
|
runAllFailingSuites: flow,
|
|
@@ -457,6 +573,22 @@ export class FunctionTestableState extends TestablePackageableElementEditorState
|
|
|
457
573
|
get containsRuntime() {
|
|
458
574
|
return Boolean(this.associatedRuntimes?.length);
|
|
459
575
|
}
|
|
576
|
+
get resolvedIngestOrDataProductAccessors() {
|
|
577
|
+
return this.cachedAccessors.filter((a) => a instanceof DataProductAccessor || a instanceof IngestionAccessor);
|
|
578
|
+
}
|
|
579
|
+
buildRawLambdaFromFunction() {
|
|
580
|
+
return new RawLambda(this.function.parameters.map((_param) => this.editorStore.graphManagerState.graphManager.serializeRawValueSpecification(_param)), this.function.expressionSequence);
|
|
581
|
+
}
|
|
582
|
+
*resolveAccessors() {
|
|
583
|
+
try {
|
|
584
|
+
const rawLambda = this.buildRawLambdaFromFunction();
|
|
585
|
+
this.cachedAccessors =
|
|
586
|
+
(yield this.editorStore.graphManagerState.graphManager.collectAccessorsInRawLambda(rawLambda, this.editorStore.graphManagerState.graph));
|
|
587
|
+
}
|
|
588
|
+
catch {
|
|
589
|
+
this.cachedAccessors = [];
|
|
590
|
+
}
|
|
591
|
+
}
|
|
460
592
|
init() {
|
|
461
593
|
if (!this.selectedTestSuite) {
|
|
462
594
|
const suite = this.function.tests[0];
|
|
@@ -464,62 +596,91 @@ export class FunctionTestableState extends TestablePackageableElementEditorState
|
|
|
464
596
|
? this.buildTestSuiteState(suite)
|
|
465
597
|
: undefined;
|
|
466
598
|
}
|
|
599
|
+
flowResult(this.resolveAccessors()).catch(noop);
|
|
467
600
|
}
|
|
468
601
|
setCreateSuite(val) {
|
|
469
602
|
this.createSuiteModal = val;
|
|
470
603
|
}
|
|
471
|
-
createSuite(suiteName, testName) {
|
|
604
|
+
*createSuite(suiteName, testName) {
|
|
472
605
|
const functionSuite = new FunctionTestSuite();
|
|
473
606
|
functionSuite.id = suiteName;
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
engineRuntime.connections.length), `Runtime found has two connection types defined. Please use connection stores only`);
|
|
489
|
-
const stores = [
|
|
490
|
-
...engineRuntime.connections
|
|
491
|
-
.map((e) => e.storeConnections.map((s) => s.connection.store?.value).flat())
|
|
492
|
-
.flat(),
|
|
493
|
-
...engineRuntime.connectionStores
|
|
494
|
-
.map((e) => e.storePointers.map((sPt) => sPt.value))
|
|
495
|
-
.flat(),
|
|
496
|
-
].filter(isNonNullable);
|
|
497
|
-
assertTrue(Boolean(stores.length), 'No runtime store found');
|
|
498
|
-
assertTrue(stores.length === 1, 'Only one store supported in runtime for function tests');
|
|
499
|
-
const store = guaranteeNonNullable(stores[0]);
|
|
500
|
-
const data = new FunctionTestData();
|
|
501
|
-
if (store instanceof Database) {
|
|
502
|
-
const relation = new RelationElementsData();
|
|
503
|
-
data.element = PackageableElementExplicitReference.create(store);
|
|
504
|
-
data.data = relation;
|
|
607
|
+
yield flowResult(this.resolveAccessors());
|
|
608
|
+
const ingestOrDataProductAccessors = this.resolvedIngestOrDataProductAccessors;
|
|
609
|
+
const databaseAccessors = this.cachedAccessors.filter((a) => a instanceof RelationalStoreAccessor);
|
|
610
|
+
try {
|
|
611
|
+
if (ingestOrDataProductAccessors.length) {
|
|
612
|
+
// Group by parent element path and create test data per parent
|
|
613
|
+
const parentElementMap = new Map();
|
|
614
|
+
for (const accessor of ingestOrDataProductAccessors) {
|
|
615
|
+
const key = accessor.accessorOwner;
|
|
616
|
+
if (key) {
|
|
617
|
+
const group = parentElementMap.get(key) ?? [];
|
|
618
|
+
group.push(accessor);
|
|
619
|
+
parentElementMap.set(key, group);
|
|
620
|
+
}
|
|
505
621
|
}
|
|
506
|
-
|
|
507
|
-
const
|
|
508
|
-
|
|
509
|
-
data.
|
|
622
|
+
functionSuite.testData = Array.from(parentElementMap.entries()).map(([parentPath, group]) => {
|
|
623
|
+
const data = new FunctionTestData();
|
|
624
|
+
const element = this.editorStore.graphManagerState.graph.getElement(parentPath);
|
|
625
|
+
data.element = PackageableElementExplicitReference.create(element);
|
|
626
|
+
data.data = V1_buildRelationElementsDataFromAccessors(group);
|
|
627
|
+
return data;
|
|
628
|
+
});
|
|
629
|
+
}
|
|
630
|
+
else {
|
|
631
|
+
// No ingest/data product accessors found — try runtime-based approach
|
|
632
|
+
const engineRuntimes = this.associatedRuntimes;
|
|
633
|
+
if (engineRuntimes?.length) {
|
|
634
|
+
assertTrue(engineRuntimes.length === 1, `Function Test Suite Only supports One Runtime at this time. Found ${engineRuntimes.length}`);
|
|
635
|
+
const engineRuntime = guaranteeNonNullable(engineRuntimes[0]);
|
|
636
|
+
assertTrue(!(engineRuntime.connectionStores.length &&
|
|
637
|
+
engineRuntime.connections.length), `Runtime found has two connection types defined. Please use connection stores only`);
|
|
638
|
+
const stores = [
|
|
639
|
+
...engineRuntime.connections
|
|
640
|
+
.map((e) => e.storeConnections.map((s) => s.connection.store?.value).flat())
|
|
641
|
+
.flat(),
|
|
642
|
+
...engineRuntime.connectionStores
|
|
643
|
+
.map((e) => e.storePointers.map((sPt) => sPt.value))
|
|
644
|
+
.flat(),
|
|
645
|
+
].filter(isNonNullable);
|
|
646
|
+
assertTrue(Boolean(stores.length), 'No runtime store found');
|
|
647
|
+
assertTrue(stores.length === 1, 'Only one store supported in runtime for function tests');
|
|
648
|
+
const store = guaranteeNonNullable(stores[0]);
|
|
649
|
+
const data = new FunctionTestData();
|
|
650
|
+
if (store instanceof Database) {
|
|
651
|
+
const relation = new RelationElementsData();
|
|
652
|
+
data.element = PackageableElementExplicitReference.create(store);
|
|
653
|
+
data.data = relation;
|
|
654
|
+
}
|
|
655
|
+
else if (store instanceof ModelStore) {
|
|
656
|
+
const modelStoreData = createBareExternalFormat();
|
|
657
|
+
data.element = PackageableElementExplicitReference.create(store);
|
|
658
|
+
data.data = modelStoreData;
|
|
659
|
+
}
|
|
660
|
+
else {
|
|
661
|
+
throw new UnsupportedOperationError(`function test store data does not support store: ${store.path}`);
|
|
662
|
+
}
|
|
663
|
+
functionSuite.testData = [data];
|
|
510
664
|
}
|
|
511
665
|
else {
|
|
512
|
-
|
|
666
|
+
const type = this.function.returnType.value.rawType;
|
|
667
|
+
if (type.path === CORE_PURE_PATH.RELATION ||
|
|
668
|
+
type.path === CORE_PURE_PATH.TABULAR_DATASET) {
|
|
669
|
+
this.editorStore.applicationStore.notificationService.notifyError(`Unable to create function test suite: no runtime or accessors found, or they could not be resolved`);
|
|
670
|
+
return;
|
|
671
|
+
}
|
|
513
672
|
}
|
|
514
|
-
functionSuite.testData = [data];
|
|
515
|
-
}
|
|
516
|
-
catch (error) {
|
|
517
|
-
assertErrorThrown(error);
|
|
518
|
-
this.editorStore.applicationStore.notificationService.notifyError(`Unable to create function test suite: ${error.message}`);
|
|
519
|
-
return;
|
|
520
673
|
}
|
|
521
674
|
}
|
|
522
|
-
|
|
675
|
+
catch (error) {
|
|
676
|
+
assertErrorThrown(error);
|
|
677
|
+
this.editorStore.applicationStore.notificationService.notifyError(`Unable to create function test suite: ${error.message}`);
|
|
678
|
+
return;
|
|
679
|
+
}
|
|
680
|
+
const hasTestData = this.containsRuntime ||
|
|
681
|
+
ingestOrDataProductAccessors.length > 0 ||
|
|
682
|
+
databaseAccessors.length > 0;
|
|
683
|
+
yield createFunctionTest(testName, this.editorStore.changeDetectionState.observerContext, hasTestData, this.function, this.editorStore, functionSuite);
|
|
523
684
|
// set test suite
|
|
524
685
|
function_addTestSuite(this.function, functionSuite, this.editorStore.changeDetectionState.observerContext);
|
|
525
686
|
this.changeSuite(functionSuite);
|