This is an automated email from the ASF dual-hosted git repository.
SvenO3 pushed a commit to branch
4491-create-e2e-tests-for-critical-adapter-and-pipeline-updates
in repository https://gitbox.apache.org/repos/asf/streampipes.git
The following commit(s) were added to
refs/heads/4491-create-e2e-tests-for-critical-adapter-and-pipeline-updates by
this push:
new c527024a67 Improve pipeline tests
c527024a67 is described below
commit c527024a67e612bd8b657dd043f6be10fa0b4c33
Author: Sven Oehler <[email protected]>
AuthorDate: Thu May 21 11:10:58 2026 +0200
Improve pipeline tests
---
ui/cypress/support/utils/pipeline/PipelineBtns.ts | 8 ++++++
ui/cypress/support/utils/pipeline/PipelineUtils.ts | 5 ++++
.../pipeline/pipelineDataLakeSchemaUpdate.spec.ts | 29 ++++++++++++++--------
...-assembly-options-pipeline-cache.component.html | 1 +
4 files changed, 32 insertions(+), 11 deletions(-)
diff --git a/ui/cypress/support/utils/pipeline/PipelineBtns.ts
b/ui/cypress/support/utils/pipeline/PipelineBtns.ts
index b40d50fc1b..833c1b170b 100644
--- a/ui/cypress/support/utils/pipeline/PipelineBtns.ts
+++ b/ui/cypress/support/utils/pipeline/PipelineBtns.ts
@@ -58,6 +58,10 @@ export class PipelineBtns {
return cy.dataCy('sp-element-configuration-save');
}
+ public static savingPipelineModification() {
+ return cy.dataCy('saving-pipeline-modification', { timeout: 6000 });
+ }
+
public static mappingCheckbox(fieldName: string) {
return cy.dataCy(fieldName).find('.mdc-checkbox');
}
@@ -98,6 +102,10 @@ export class PipelineBtns {
return cy.dataCy('sp-pipeline-started-error', { timeout: 15000 });
}
+ public static pipelineStartedSuccess() {
+ return cy.dataCy('sp-pipeline-started-success', { timeout: 15000 });
+ }
+
public static updateAndMigratePipeline() {
return cy.dataCy('btn-update-pipeline-migrate');
}
diff --git a/ui/cypress/support/utils/pipeline/PipelineUtils.ts
b/ui/cypress/support/utils/pipeline/PipelineUtils.ts
index 1ea06a0eaf..b9668aa8e4 100644
--- a/ui/cypress/support/utils/pipeline/PipelineUtils.ts
+++ b/ui/cypress/support/utils/pipeline/PipelineUtils.ts
@@ -257,4 +257,9 @@ export class PipelineUtils {
.find('tr')
.should('have.length', expectedCount + 1);
}
+
+ public static pipelineElementUpdateCompleted() {
+ PipelineBtns.savingPipelineModification().should('be.visible');
+ PipelineBtns.savingPipelineModification().should('not.exist');
+ }
}
diff --git a/ui/cypress/tests/pipeline/pipelineDataLakeSchemaUpdate.spec.ts
b/ui/cypress/tests/pipeline/pipelineDataLakeSchemaUpdate.spec.ts
index 39333880eb..d17b1fe6a0 100644
--- a/ui/cypress/tests/pipeline/pipelineDataLakeSchemaUpdate.spec.ts
+++ b/ui/cypress/tests/pipeline/pipelineDataLakeSchemaUpdate.spec.ts
@@ -44,8 +44,10 @@ describe('Test pipeline updates with data lake schema
changes', () => {
editPipelineProcessor();
PipelineBtns.mappingCheckbox('density').click();
PipelineBtns.saveElementConfigBtn().click();
+ PipelineUtils.pipelineElementUpdateCompleted();
PipelineBtns.settingsPipelineElementBtn().eq(1).click();
- savePipelineElementAndStartUpdatePreflight();
+ PipelineBtns.saveElementConfigBtn().click();
+ savePipeline();
PipelineBtns.pipelineEditWarning().contains(dataLakeMeasurement);
PipelineBtns.pipelineMeasurementEditWarning().contains(
@@ -69,7 +71,9 @@ describe('Test pipeline updates with data lake schema
changes', () => {
.clear()
.type('densityHash')
.blur();
- savePipelineElementAndStartUpdatePreflight();
+ PipelineBtns.saveElementConfigBtn().click();
+ PipelineUtils.pipelineElementUpdateCompleted();
+ savePipeline();
PipelineBtns.pipelineEditWarning().contains(dataLakeMeasurement);
PipelineBtns.pipelineChartEditWarning().contains(chartName);
@@ -77,9 +81,7 @@ describe('Test pipeline updates with data lake schema
changes', () => {
PipelineBtns.updateAndMigratePipeline().should('not.be.disabled');
PipelineBtns.updateAndMigratePipeline().click();
- cy.dataCy('sp-pipeline-started-success', { timeout: 15000 }).should(
- 'be.visible',
- );
+ PipelineBtns.pipelineStartedSuccess().should('be.visible');
PipelineBtns.navigateToPipelineOverview().click();
ChartUtils.goToDatalake();
@@ -89,7 +91,9 @@ describe('Test pipeline updates with data lake schema
changes', () => {
it('Test pipeline update with an added field', () => {
createAdapter();
addPipelineWithProcessor(javaScriptEvalProcessor());
+ addTableChart(dataLakeMeasurement);
+ PipelineUtils.goToPipelines();
editPipelineProcessor();
PipelineBtns.outputAddField().click();
PipelineBtns.outputRuntimeName().last().type('pipeline_added');
@@ -99,12 +103,16 @@ describe('Test pipeline updates with data lake schema
changes', () => {
.get('mat-option')
.contains('Float')
.click();
- savePipelineElementAndStartUpdatePreflight();
+ PipelineBtns.saveElementConfigBtn().click();
+ PipelineUtils.pipelineElementUpdateCompleted();
+ savePipeline();
PipelineBtns.pipelineEditWarning().should('not.exist');
- cy.dataCy('sp-pipeline-started-success', { timeout: 15000 }).should(
- 'be.visible',
- );
+ PipelineBtns.pipelineStartedSuccess().should('be.visible');
+ PipelineBtns.navigateToPipelineOverview().click();
+
+ ChartUtils.goToDatalake();
+ ChartBtns.chartSyncProblemIcon().should('not.exist');
});
function addPipelineWithProcessor(processingElement: PipelineElementInput)
{
@@ -154,8 +162,7 @@ describe('Test pipeline updates with data lake schema
changes', () => {
PipelineBtns.settingsPipelineElementBtn().first().click();
}
- function savePipelineElementAndStartUpdatePreflight() {
- PipelineBtns.saveElementConfigBtn().click();
+ function savePipeline() {
PipelineBtns.savePipelineBtn().click();
PipelineBtns.navigateToOverviewCheckbox().children().click();
PipelineBtns.editorApplyBtn().click();
diff --git
a/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.html
b/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.html
index b59c2c1f00..380c1af063 100644
---
a/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.html
+++
b/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.html
@@ -26,6 +26,7 @@
<div fxLayout="row" fxLayoutAlign="start center">
@if (pipelineCacheRunning) {
<mat-spinner
+ data-cy="saving-pipeline-modification"
[mode]="'indeterminate'"
color="accent"
[diameter]="15"