You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ze...@apache.org on 2021/06/23 09:29:22 UTC

[incubator-streampipes] 02/02: [STREAMPIPES-380] Create builder for processer cypress tests

This is an automated email from the ASF dual-hosted git repository.

zehnder pushed a commit to branch STREAMPIPES-380
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git

commit 0315e6002264e1072c905b21bfdb5d5e43ab6ed2
Author: Philipp Zehnder <ze...@fzi.de>
AuthorDate: Wed Jun 23 11:27:58 2021 +0200

    [STREAMPIPES-380] Create builder for processer cypress tests
---
 .../pipelineElement/fieldRenamerTest1.ts           | 18 +++++-----
 .../pipelineElement/numericalFilterTest1.ts        | 16 ++++-----
 .../builder/ProcessorTestBuilder.ts}               | 39 +++++++++++++---------
 .../model/ProcessorTest.ts}                        | 25 +++-----------
 .../support/utils/ProcessingElementTestUtils.ts    | 16 ++++++---
 5 files changed, 56 insertions(+), 58 deletions(-)

diff --git a/ui/cypress/integration/pipelineElement/fieldRenamerTest1.ts b/ui/cypress/integration/pipelineElement/fieldRenamerTest1.ts
index 5d0414b..50f3c2b 100644
--- a/ui/cypress/integration/pipelineElement/fieldRenamerTest1.ts
+++ b/ui/cypress/integration/pipelineElement/fieldRenamerTest1.ts
@@ -18,6 +18,7 @@
 
 import { ProcessingElementTestUtils } from '../../support/utils/ProcessingElementTestUtils';
 import { PipelineElementBuilder } from '../../support/builder/PipelineElementBuilder';
+import { ProcessorTestBuilder } from '../../support/builder/ProcessorTestBuilder';
 
 describe('Test Field Renamer 1', () => {
 
@@ -25,15 +26,14 @@ describe('Test Field Renamer 1', () => {
         cy.login();
     });
 
-    // Config
-    const testName = 'fieldRenamer1';
-    const inputFile = 'pipelineElement/fieldRenamer1/input.csv';
-    const expectedResultFile = 'pipelineElement/fieldRenamer1/expected.csv';
+    const processorTest = ProcessorTestBuilder.create('fieldRenamer1')
+      .setProcessor(
+        PipelineElementBuilder.create('field_renamer')
+          .addInput('drop-down', 'convert-property', 'count')
+          .addInput('input', 'field-name', 'newname')
+          .build())
+      .build();
 
-    const processor = PipelineElementBuilder.create('field_renamer')
-        .addInput('drop-down', 'convert-property', 'count')
-        .addInput('input', 'field-name', 'newname')
-        .build();
+    ProcessingElementTestUtils.testElement(processorTest);
 
-    ProcessingElementTestUtils.testElement(testName, inputFile, expectedResultFile, processor);
 });
diff --git a/ui/cypress/integration/pipelineElement/numericalFilterTest1.ts b/ui/cypress/integration/pipelineElement/numericalFilterTest1.ts
index 1e18773..06402c4 100644
--- a/ui/cypress/integration/pipelineElement/numericalFilterTest1.ts
+++ b/ui/cypress/integration/pipelineElement/numericalFilterTest1.ts
@@ -18,6 +18,8 @@
 
 import { ProcessingElementTestUtils } from '../../support/utils/ProcessingElementTestUtils';
 import { PipelineElementBuilder } from '../../support/builder/PipelineElementBuilder';
+import { ProcessorTest } from '../../support/model/ProcessorTest';
+import { ProcessorTestBuilder } from '../../support/builder/ProcessorTestBuilder';
 
 describe('Test Numerical Filter 1', () => {
 
@@ -25,16 +27,14 @@ describe('Test Numerical Filter 1', () => {
         cy.login();
     });
 
-    // Config
-    const testName = 'numericalFilter1';
-    const inputFile = 'pipelineElement/numericalFilter1/input.csv';
-    const expectedResultFile = 'pipelineElement/numericalFilter1/expected.csv';
-
-    const processor = PipelineElementBuilder.create('numerical_filter')
+    const processorTest = ProcessorTestBuilder.create('numericalFilter1')
+      .setProcessor(
+        PipelineElementBuilder.create('numerical_filter')
         .addInput('drop-down', 'number-mapping', 'randomnumber')
         .addInput('radio', 'operation', '\\>')
         .addInput('input', 'value', '50')
-        .build();
+        .build())
+      .build();
 
-    ProcessingElementTestUtils.testElement(testName, inputFile, expectedResultFile, processor);
+    ProcessingElementTestUtils.testElement(processorTest);
 });
diff --git a/ui/cypress/integration/pipelineElement/fieldRenamerTest1.ts b/ui/cypress/support/builder/ProcessorTestBuilder.ts
similarity index 51%
copy from ui/cypress/integration/pipelineElement/fieldRenamerTest1.ts
copy to ui/cypress/support/builder/ProcessorTestBuilder.ts
index 5d0414b..eced60f 100644
--- a/ui/cypress/integration/pipelineElement/fieldRenamerTest1.ts
+++ b/ui/cypress/support/builder/ProcessorTestBuilder.ts
@@ -16,24 +16,31 @@
  *
  */
 
-import { ProcessingElementTestUtils } from '../../support/utils/ProcessingElementTestUtils';
-import { PipelineElementBuilder } from '../../support/builder/PipelineElementBuilder';
+import { SpecificAdapterInput } from '../model/SpecificAdapterInput';
+import { UserInput } from '../model/UserInput';
+import { ProcessorTest } from '../model/ProcessorTest';
+import { PipelineElementInput } from '../model/PipelineElementInput';
 
-describe('Test Field Renamer 1', () => {
+export class ProcessorTestBuilder {
 
-    it('Login', () => {
-        cy.login();
-    });
 
-    // Config
-    const testName = 'fieldRenamer1';
-    const inputFile = 'pipelineElement/fieldRenamer1/input.csv';
-    const expectedResultFile = 'pipelineElement/fieldRenamer1/expected.csv';
+  processorTest: ProcessorTest;
 
-    const processor = PipelineElementBuilder.create('field_renamer')
-        .addInput('drop-down', 'convert-property', 'count')
-        .addInput('input', 'field-name', 'newname')
-        .build();
+  constructor(name: string) {
+    this.processorTest = new ProcessorTest();
+    this.processorTest.name = name;
+  }
 
-    ProcessingElementTestUtils.testElement(testName, inputFile, expectedResultFile, processor);
-});
+  public static create(name: string) {
+    return new ProcessorTestBuilder(name);
+  }
+
+  public setProcessor(processor: PipelineElementInput) {
+    this.processorTest.processor = processor;
+    return this;
+  }
+
+  build() {
+    return this.processorTest;
+  }
+}
diff --git a/ui/cypress/integration/pipelineElement/fieldRenamerTest1.ts b/ui/cypress/support/model/ProcessorTest.ts
similarity index 51%
copy from ui/cypress/integration/pipelineElement/fieldRenamerTest1.ts
copy to ui/cypress/support/model/ProcessorTest.ts
index 5d0414b..bd6e40e 100644
--- a/ui/cypress/integration/pipelineElement/fieldRenamerTest1.ts
+++ b/ui/cypress/support/model/ProcessorTest.ts
@@ -16,24 +16,9 @@
  *
  */
 
-import { ProcessingElementTestUtils } from '../../support/utils/ProcessingElementTestUtils';
-import { PipelineElementBuilder } from '../../support/builder/PipelineElementBuilder';
+import { PipelineElementInput } from './PipelineElementInput';
 
-describe('Test Field Renamer 1', () => {
-
-    it('Login', () => {
-        cy.login();
-    });
-
-    // Config
-    const testName = 'fieldRenamer1';
-    const inputFile = 'pipelineElement/fieldRenamer1/input.csv';
-    const expectedResultFile = 'pipelineElement/fieldRenamer1/expected.csv';
-
-    const processor = PipelineElementBuilder.create('field_renamer')
-        .addInput('drop-down', 'convert-property', 'count')
-        .addInput('input', 'field-name', 'newname')
-        .build();
-
-    ProcessingElementTestUtils.testElement(testName, inputFile, expectedResultFile, processor);
-});
+export class ProcessorTest {
+  name: string;
+  processor: PipelineElementInput;
+}
diff --git a/ui/cypress/support/utils/ProcessingElementTestUtils.ts b/ui/cypress/support/utils/ProcessingElementTestUtils.ts
index cc0be3c..30e9944 100644
--- a/ui/cypress/support/utils/ProcessingElementTestUtils.ts
+++ b/ui/cypress/support/utils/ProcessingElementTestUtils.ts
@@ -24,16 +24,22 @@ import { DataLakeUtils } from './DataLakeUtils';
 import { GenericAdapterBuilder } from '../builder/GenericAdapterBuilder';
 import { PipelineBuilder } from '../builder/PipelineBuilder';
 import { PipelineElementBuilder } from '../builder/PipelineElementBuilder';
+import { ProcessorTest } from '../model/ProcessorTest';
 
 export class ProcessingElementTestUtils {
 
-    public static testElement(testName: string, inputFile: string, expectedResultFile: string, processor: PipelineElementInput) {
+    public static testElement(pipelineElementTest: ProcessorTest) {
+    // public static testElement(testName: string, inputFile: string, expectedResultFile: string, processor: PipelineElementInput) {
         // Test
+
+        const inputFile = 'pipelineElement/' + pipelineElementTest.name + '/input.csv';
+        const expectedResultFile = 'pipelineElement/' + pipelineElementTest.name + '/expected.csv';
+
         FileManagementUtils.addFile(inputFile);
 
-        const dataLakeIndex = testName.toLowerCase();
+        const dataLakeIndex = pipelineElementTest.name.toLowerCase();
 
-        const adapterName = testName.toLowerCase();
+        const adapterName = pipelineElementTest.name.toLowerCase();
 
         // Build adapter
         const adapterInput = GenericAdapterBuilder
@@ -49,9 +55,9 @@ export class ProcessingElementTestUtils {
         AdapterUtils.addGenericSetAdapter(adapterInput);
 
         // Build Pipeline
-        const pipelineInput = PipelineBuilder.create(testName)
+        const pipelineInput = PipelineBuilder.create(pipelineElementTest.name)
             .addSource(adapterName)
-            .addProcessingElement(processor)
+            .addProcessingElement(pipelineElementTest.processor)
             .addSink(
                 PipelineElementBuilder.create('data_lake')
                     .addInput('input', 'db_measurement', dataLakeIndex)