This is an automated email from the ASF dual-hosted git repository.
zehnder pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git
The following commit(s) were added to refs/heads/dev by this push:
new d628cd9b8a refactor: migrate pipeline element e2e cases (#4265)
d628cd9b8a is described below
commit d628cd9b8a0ae8523435caecefdd36497719b1c4
Author: Philipp Zehnder <[email protected]>
AuthorDate: Tue Mar 17 16:10:15 2026 +0100
refactor: migrate pipeline element e2e cases (#4265)
---
.../jvm/processor/math/MathOpProcessorTest.java | 62 +++++-
.../staticmathop/StaticMathOpProcessorTest.java | 85 +++++++++
.../trigonometry/TrigonometryProcessorTest.java | 86 +++++++++
.../valuechange/ValueChangeProcessorTest.java | 69 +++++++
.../booleanfilter/TestBooleanFilterProcessor.java | 70 +++++++
.../processor/limit/RateLimitProcessorTest.java | 64 +++++++
.../NumericalFilterProcessorTest.java | 35 +++-
.../projection/TestProjectionProcessor.java | 51 +++--
.../textfilter/TestTextFilterProcessor.java | 71 +++++++
.../threshold/TestThresholdDetectionProcessor.java | 47 ++++-
.../array/count/CountArrayProcessorTest.java | 55 ++++++
.../array/split/SplitArrayProcessorTest.java} | 47 ++---
.../counter/TestBooleanCounterProcessor.java | 207 +++++++--------------
.../edge/SignalEdgeFilterProcessorTest.java | 65 +++++++
.../inverter/BooleanInverterProcessorTest.java | 67 +++++++
.../fieldrename/FiledRenameProcessorTest.java | 68 +++++++
.../processor/hasher/FieldHasherProcessorTest.java | 75 ++++++++
.../mapper/FieldMapperProcessorTest.java} | 46 ++---
.../executors/ProcessingElementTestExecutor.java | 24 +--
.../enrich-jvm/math1/description.json | 20 --
.../pipelineElement/enrich-jvm/math1/expected.csv | 3 -
.../pipelineElement/enrich-jvm/math1/input.csv | 3 -
.../enrich-jvm/math2/description.json | 20 --
.../pipelineElement/enrich-jvm/math2/expected.csv | 3 -
.../pipelineElement/enrich-jvm/math2/input.csv | 3 -
.../enrich-jvm/math3/description.json | 20 --
.../pipelineElement/enrich-jvm/math3/expected.csv | 3 -
.../pipelineElement/enrich-jvm/math3/input.csv | 3 -
.../enrich-jvm/staticmath1/description.json | 20 --
.../enrich-jvm/staticmath1/expected.csv | 3 -
.../enrich-jvm/staticmath1/input.csv | 3 -
.../enrich-jvm/staticmath2/description.json | 20 --
.../enrich-jvm/staticmath2/expected.csv | 3 -
.../enrich-jvm/staticmath2/input.csv | 3 -
.../enrich-jvm/trigonometry1/description.json | 15 --
.../enrich-jvm/trigonometry1/expected.csv | 3 -
.../enrich-jvm/trigonometry1/input.csv | 3 -
.../enrich-jvm/trigonometry2/description.json | 15 --
.../enrich-jvm/trigonometry2/expected.csv | 3 -
.../enrich-jvm/trigonometry2/input.csv | 3 -
.../enrich-jvm/valueChange1/description.json | 20 --
.../enrich-jvm/valueChange1/expected.csv | 11 --
.../enrich-jvm/valueChange1/input.csv | 11 --
.../filters-jvm/booleanFilter1/description.json | 15 --
.../filters-jvm/booleanFilter1/expected.csv | 6 -
.../filters-jvm/booleanFilter1/input.csv | 11 --
.../filters-jvm/booleanFilter2/description.json | 15 --
.../filters-jvm/booleanFilter2/expected.csv | 6 -
.../filters-jvm/booleanFilter2/input.csv | 11 --
.../filters-jvm/numericalFilter1/description.json | 12 --
.../filters-jvm/numericalFilter1/expected.csv | 6 -
.../filters-jvm/numericalFilter1/input.csv | 11 --
.../filters-jvm/projection1/description.json | 15 --
.../filters-jvm/projection1/expected.csv | 6 -
.../filters-jvm/projection1/input.csv | 6 -
.../filters-jvm/rateLimit1/description.json | 25 ---
.../filters-jvm/rateLimit1/expected.csv | 3 -
.../filters-jvm/rateLimit1/input.csv | 12 --
.../filters-jvm/textFilter1/description.json | 8 -
.../filters-jvm/textFilter1/expected.csv | 4 -
.../filters-jvm/textFilter1/input.csv | 11 --
.../filters-jvm/textFilter2/description.json | 8 -
.../filters-jvm/textFilter2/expected.csv | 5 -
.../filters-jvm/textFilter2/input.csv | 11 --
.../thresholdDetection1/description.json | 20 --
.../filters-jvm/thresholdDetection1/expected.csv | 11 --
.../filters-jvm/thresholdDetection1/input.csv | 11 --
.../booleanCounter1/description.json | 7 -
.../booleanCounter1/expected.csv | 6 -
.../transformation-jvm/booleanCounter1/input.csv | 11 --
.../booleanCounter2/description.json | 15 --
.../booleanCounter2/expected.csv | 8 -
.../transformation-jvm/booleanCounter2/input.csv | 11 --
.../booleanInverter1/description.json | 10 -
.../booleanInverter1/expected.csv | 11 --
.../transformation-jvm/booleanInverter1/input.csv | 11 --
.../countArray1/description.json | 6 -
.../transformation-jvm/countArray1/expected.csv | 5 -
.../transformation-jvm/countArray1/input.json | 6 -
.../fieldHasher1/description.json | 11 --
.../transformation-jvm/fieldHasher1/expected.csv | 3 -
.../transformation-jvm/fieldHasher1/input.csv | 3 -
.../fieldHasher2/description.json | 11 --
.../transformation-jvm/fieldHasher2/expected.csv | 3 -
.../transformation-jvm/fieldHasher2/input.csv | 5 -
.../fieldMapper1/description.json | 8 -
.../transformation-jvm/fieldMapper1/expected.csv | 3 -
.../transformation-jvm/fieldMapper1/input.csv | 5 -
.../fieldRenamer1/description.json | 7 -
.../transformation-jvm/fieldRenamer1/expected.csv | 11 --
.../transformation-jvm/fieldRenamer1/input.csv | 11 --
.../signalEdgeFilter1/description.json | 13 --
.../signalEdgeFilter1/expected.csv | 6 -
.../transformation-jvm/signalEdgeFilter1/input.csv | 11 --
.../splitArray1/description.json | 11 --
.../transformation-jvm/splitArray1/expected.csv | 3 -
.../transformation-jvm/splitArray1/input.json | 4 -
ui/cypress/plugins/index.ts | 7 +-
98 files changed, 1065 insertions(+), 935 deletions(-)
diff --git
a/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/MathOpProcessorTest.java
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/MathOpProcessorTest.java
index fb2a1d5666..1a54cc96a3 100644
---
a/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/MathOpProcessorTest.java
+++
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/MathOpProcessorTest.java
@@ -118,4 +118,64 @@ public class MathOpProcessorTest{
testExecutor.run(inputEvents, outputEvents);
}
-}
\ No newline at end of file
+
+ @Test
+ public void math1() {
+ executeFixtureTest(
+ "+",
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 2.0d,
"temperature2", 3.0d),
+ Map.of("timestamp", 1623871500059L, "temperature1", 3.0d,
"temperature2", 4.0d)
+ ),
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 2.0d,
"temperature2", 3.0d, "calculationResult", 5.0d),
+ Map.of("timestamp", 1623871500059L, "temperature1", 3.0d,
"temperature2", 4.0d, "calculationResult", 7.0d)
+ )
+ );
+ }
+
+ @Test
+ public void math2() {
+ executeFixtureTest(
+ "/",
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 4.0d,
"temperature2", 4.0d),
+ Map.of("timestamp", 1623871500059L, "temperature1", 100.0d,
"temperature2", 5.0d)
+ ),
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 4.0d,
"temperature2", 4.0d, "calculationResult", 1.0d),
+ Map.of("timestamp", 1623871500059L, "temperature1", 100.0d,
"temperature2", 5.0d, "calculationResult", 20.0d)
+ )
+ );
+ }
+
+ @Test
+ public void math3() {
+ executeFixtureTest(
+ "*",
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 4.0d,
"temperature2", 2.0d),
+ Map.of("timestamp", 1623871500059L, "temperature1", 3.5d,
"temperature2", 5.0d)
+ ),
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 4.0d,
"temperature2", 2.0d, "calculationResult", 8.0d),
+ Map.of("timestamp", 1623871500059L, "temperature1", 3.5d,
"temperature2", 5.0d, "calculationResult", 17.5d)
+ )
+ );
+ }
+
+ private void executeFixtureTest(
+ String operation,
+ List<Map<String, Object>> inputEvents,
+ List<Map<String, Object>> outputEvents
+ ) {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .configWithDefaultPrefix(MathOpProcessor.LEFT_OPERAND, "temperature1")
+ .configWithDefaultPrefix(MathOpProcessor.RIGHT_OPERAND, "temperature2")
+ .config(MathOpProcessor.OPERATION, operation)
+ .build();
+
+ ProcessingElementTestExecutor testExecutor = new
ProcessingElementTestExecutor(processor, configuration);
+ testExecutor.run(inputEvents, outputEvents);
+ }
+}
diff --git
a/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/staticmathop/StaticMathOpProcessorTest.java
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/staticmathop/StaticMathOpProcessorTest.java
new file mode 100644
index 0000000000..ca9f5df667
--- /dev/null
+++
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/math/staticmathop/StaticMathOpProcessorTest.java
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package
org.apache.streampipes.processors.enricher.jvm.processor.math.staticmathop;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class StaticMathOpProcessorTest {
+
+ private StaticMathOpProcessor processor;
+
+ @BeforeEach
+ void setUp() {
+ processor = new StaticMathOpProcessor();
+ }
+
+ @Test
+ void staticmath1() {
+ executeFixtureTest(
+ "*",
+ 5.0d,
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 4.0d),
+ Map.of("timestamp", 1623871500059L, "temperature1", 3.5d)
+ ),
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 20.0d),
+ Map.of("timestamp", 1623871500059L, "temperature1", 17.5d)
+ )
+ );
+ }
+
+ @Test
+ void staticmath2() {
+ executeFixtureTest(
+ "/",
+ 1.5d,
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 6.0d),
+ Map.of("timestamp", 1623871500059L, "temperature1", 3.0d)
+ ),
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 4.0d),
+ Map.of("timestamp", 1623871500059L, "temperature1", 2.0d)
+ )
+ );
+ }
+
+ private void executeFixtureTest(
+ String operation,
+ double rightOperand,
+ List<Map<String, Object>> inputEvents,
+ List<Map<String, Object>> outputEvents
+ ) {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .configWithDefaultPrefix("leftOperand", "temperature1")
+ .config("rightOperandValue", rightOperand)
+ .config("operation", operation)
+ .build();
+
+ ProcessingElementTestExecutor testExecutor = new
ProcessingElementTestExecutor(processor, configuration);
+ testExecutor.run(inputEvents, outputEvents);
+ }
+}
diff --git
a/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/trigonometry/TrigonometryProcessorTest.java
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/trigonometry/TrigonometryProcessorTest.java
new file mode 100644
index 0000000000..67d90e93df
--- /dev/null
+++
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/trigonometry/TrigonometryProcessorTest.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.streampipes.processors.enricher.jvm.processor.trigonometry;
+
+import org.apache.streampipes.test.executors.Approx;
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class TrigonometryProcessorTest {
+
+ private TrigonometryProcessor processor;
+
+ @BeforeEach
+ void setUp() {
+ processor = new TrigonometryProcessor();
+ }
+
+ @Test
+ void trigonometry1() {
+ executeFixtureTest(
+ "sin",
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 90.0d),
+ Map.of("timestamp", 1623871500059L, "temperature1", 180.0d)
+ ),
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 90.0d,
+ "trigonometryResult", new Approx(0.8939966636005579d,
0.0000000001d)),
+ Map.of("timestamp", 1623871500059L, "temperature1", 180.0d,
+ "trigonometryResult", new Approx(-0.8011526357338304d,
0.0000000001d))
+ )
+ );
+ }
+
+ @Test
+ void trigonometry2() {
+ executeFixtureTest(
+ "cos",
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 120.0d),
+ Map.of("timestamp", 1623871500059L, "temperature1", 150.0d)
+ ),
+ List.of(
+ Map.of("timestamp", 1623871499055L, "temperature1", 120.0d,
+ "trigonometryResult", new Approx(0.8141809705265618d,
0.0000000001d)),
+ Map.of("timestamp", 1623871500059L, "temperature1", 150.0d,
+ "trigonometryResult", new Approx(0.6992508064783751d,
0.0000000001d))
+ )
+ );
+ }
+
+ private void executeFixtureTest(
+ String operation,
+ List<Map<String, Object>> inputEvents,
+ List<Map<String, Object>> outputEvents
+ ) {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .configWithDefaultPrefix("operand", "temperature1")
+ .config("operation", operation)
+ .build();
+
+ ProcessingElementTestExecutor testExecutor = new
ProcessingElementTestExecutor(processor, configuration);
+ testExecutor.run(inputEvents, outputEvents);
+ }
+}
diff --git
a/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/valuechange/ValueChangeProcessorTest.java
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/valuechange/ValueChangeProcessorTest.java
new file mode 100644
index 0000000000..ecbec67bce
--- /dev/null
+++
b/streampipes-extensions/streampipes-processors-enricher-jvm/src/test/java/org/apache/streampipes/processors/enricher/jvm/processor/valuechange/ValueChangeProcessorTest.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.streampipes.processors.enricher.jvm.processor.valuechange;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class ValueChangeProcessorTest {
+
+ @Test
+ void valueChange1() {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .configWithDefaultPrefix("change-value-mapping", "numberlist")
+ .config("from-property-value", 3.0f)
+ .config("to-property-value", 4.0f)
+ .build();
+
+ List<Map<String, Object>> inputEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "numberlist", 2.0f),
+ Map.of("timestamp", 1623871500059L, "numberlist", 3.0f),
+ Map.of("timestamp", 1623871501064L, "numberlist", 4.0f),
+ Map.of("timestamp", 1623871502070L, "numberlist", 5.0f),
+ Map.of("timestamp", 1623871503078L, "numberlist", 2.0f),
+ Map.of("timestamp", 1623871504082L, "numberlist", 3.0f),
+ Map.of("timestamp", 1623871505084L, "numberlist", 4.0f),
+ Map.of("timestamp", 1623871506086L, "numberlist", 5.0f),
+ Map.of("timestamp", 1623871507091L, "numberlist", 6.0f),
+ Map.of("timestamp", 1623871508093L, "numberlist", 7.0f)
+ );
+
+ List<Map<String, Object>> expectedEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "numberlist", 2.0f, "isChanged",
false),
+ Map.of("timestamp", 1623871500059L, "numberlist", 3.0f, "isChanged",
false),
+ Map.of("timestamp", 1623871501064L, "numberlist", 4.0f, "isChanged",
true),
+ Map.of("timestamp", 1623871502070L, "numberlist", 5.0f, "isChanged",
false),
+ Map.of("timestamp", 1623871503078L, "numberlist", 2.0f, "isChanged",
false),
+ Map.of("timestamp", 1623871504082L, "numberlist", 3.0f, "isChanged",
false),
+ Map.of("timestamp", 1623871505084L, "numberlist", 4.0f, "isChanged",
true),
+ Map.of("timestamp", 1623871506086L, "numberlist", 5.0f, "isChanged",
false),
+ Map.of("timestamp", 1623871507091L, "numberlist", 6.0f, "isChanged",
false),
+ Map.of("timestamp", 1623871508093L, "numberlist", 7.0f, "isChanged",
false)
+ );
+
+ ProcessingElementTestExecutor testExecutor =
+ new ProcessingElementTestExecutor(new ValueChangeProcessor(),
configuration);
+
+ testExecutor.run(inputEvents, expectedEvents);
+ }
+}
diff --git
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/booleanfilter/TestBooleanFilterProcessor.java
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/booleanfilter/TestBooleanFilterProcessor.java
index a6d1a73727..f6cb56254d 100644
---
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/booleanfilter/TestBooleanFilterProcessor.java
+++
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/booleanfilter/TestBooleanFilterProcessor.java
@@ -22,6 +22,7 @@ import
org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
import org.apache.streampipes.test.executors.TestConfiguration;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -94,4 +95,73 @@ public class TestBooleanFilterProcessor {
Collections.emptyList())
);
}
+
+ @Test
+ public void booleanFilter1() {
+ executeFixtureTest(
+ "randomboolean",
+ "True",
+ List.of(
+ Map.of("timestamp", 1623871499055L, "randomboolean", false),
+ Map.of("timestamp", 1623871500059L, "randomboolean", false),
+ Map.of("timestamp", 1623871501064L, "randomboolean", true),
+ Map.of("timestamp", 1623871502070L, "randomboolean", false),
+ Map.of("timestamp", 1623871503078L, "randomboolean", true),
+ Map.of("timestamp", 1623871504082L, "randomboolean", false),
+ Map.of("timestamp", 1623871505084L, "randomboolean", true),
+ Map.of("timestamp", 1623871506086L, "randomboolean", false),
+ Map.of("timestamp", 1623871507091L, "randomboolean", true),
+ Map.of("timestamp", 1623871508093L, "randomboolean", true)
+ ),
+ List.of(
+ Map.of("timestamp", 1623871501064L, "randomboolean", true),
+ Map.of("timestamp", 1623871503078L, "randomboolean", true),
+ Map.of("timestamp", 1623871505084L, "randomboolean", true),
+ Map.of("timestamp", 1623871507091L, "randomboolean", true),
+ Map.of("timestamp", 1623871508093L, "randomboolean", true)
+ )
+ );
+ }
+
+ @Test
+ public void booleanFilter2() {
+ executeFixtureTest(
+ "randomboolean",
+ "False",
+ List.of(
+ Map.of("timestamp", 1623871499055L, "randomboolean", false),
+ Map.of("timestamp", 1623871500059L, "randomboolean", false),
+ Map.of("timestamp", 1623871501064L, "randomboolean", true),
+ Map.of("timestamp", 1623871502070L, "randomboolean", false),
+ Map.of("timestamp", 1623871503078L, "randomboolean", true),
+ Map.of("timestamp", 1623871504082L, "randomboolean", false),
+ Map.of("timestamp", 1623871505084L, "randomboolean", true),
+ Map.of("timestamp", 1623871506086L, "randomboolean", false),
+ Map.of("timestamp", 1623871507091L, "randomboolean", true),
+ Map.of("timestamp", 1623871508093L, "randomboolean", true)
+ ),
+ List.of(
+ Map.of("timestamp", 1623871499055L, "randomboolean", false),
+ Map.of("timestamp", 1623871500059L, "randomboolean", false),
+ Map.of("timestamp", 1623871502070L, "randomboolean", false),
+ Map.of("timestamp", 1623871504082L, "randomboolean", false),
+ Map.of("timestamp", 1623871506086L, "randomboolean", false)
+ )
+ );
+ }
+
+ private void executeFixtureTest(
+ String fieldName,
+ String valueToKeep,
+ List<Map<String, Object>> events,
+ List<Map<String, Object>> outputEvents
+ ) {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .configWithDefaultPrefix(BooleanFilterProcessor.BOOLEAN_MAPPING,
fieldName)
+ .config(BooleanFilterProcessor.VALUE, valueToKeep)
+ .build();
+
+ ProcessingElementTestExecutor testExecutor = new
ProcessingElementTestExecutor(processor, configuration);
+ testExecutor.run(events, outputEvents);
+ }
}
diff --git
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/limit/RateLimitProcessorTest.java
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/limit/RateLimitProcessorTest.java
new file mode 100644
index 0000000000..eeefb3b84d
--- /dev/null
+++
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/limit/RateLimitProcessorTest.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.streampipes.processors.filters.jvm.processor.limit;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class RateLimitProcessorTest {
+
+ @Test
+ void rateLimit1() {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .config("grouping-enabled", "False")
+ .configWithDefaultPrefix("grouping-field", "randomnumber")
+ .config("window-type", "length-window")
+ .config("length-window-size", 5)
+ .config("event-selection", "Last")
+ .build();
+
+ List<Map<String, Object>> inputEvents = List.of(
+ Map.of("timestamp", 1623871490000L, "randomnumber", 62.0d),
+ Map.of("timestamp", 1623871491000L, "randomnumber", 46.0d),
+ Map.of("timestamp", 1623871492000L, "randomnumber", 41.0d),
+ Map.of("timestamp", 1623871493000L, "randomnumber", 41.0d),
+ Map.of("timestamp", 1623871494000L, "randomnumber", 22.0d),
+ Map.of("timestamp", 1623871495000L, "randomnumber", 56.0d),
+ Map.of("timestamp", 1623871496000L, "randomnumber", 95.0d),
+ Map.of("timestamp", 1623871497000L, "randomnumber", 77.0d),
+ Map.of("timestamp", 1623871498000L, "randomnumber", 85.0d),
+ Map.of("timestamp", 1623871499000L, "randomnumber", 26.0d),
+ Map.of("timestamp", 1623871500000L, "randomnumber", 21.0d)
+ );
+
+ List<Map<String, Object>> expectedEvents = List.of(
+ Map.of("timestamp", 1623871494000L, "randomnumber", 22.0d),
+ Map.of("timestamp", 1623871499000L, "randomnumber", 26.0d)
+ );
+
+ ProcessingElementTestExecutor testExecutor =
+ new ProcessingElementTestExecutor(new RateLimitProcessor(),
configuration);
+
+ testExecutor.run(inputEvents, expectedEvents);
+ }
+}
diff --git
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/numericalfilter/NumericalFilterProcessorTest.java
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/numericalfilter/NumericalFilterProcessorTest.java
index ed08eecd9f..5175d4bc02 100644
---
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/numericalfilter/NumericalFilterProcessorTest.java
+++
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/numericalfilter/NumericalFilterProcessorTest.java
@@ -80,4 +80,37 @@ public class NumericalFilterProcessorTest {
testExecutor.run(inputEvents, outputEvents);
}
-}
\ No newline at end of file
+ @Test
+ public void numericalFilter1() {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .configWithDefaultPrefix(NumericalFilterProcessor.NUMBER_MAPPING,
"randomnumber")
+ .config(NumericalFilterProcessor.VALUE, 50.0d)
+ .config(NumericalFilterProcessor.OPERATION, ">")
+ .build();
+
+ List<Map<String, Object>> inputEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "randomnumber", 62.0d),
+ Map.of("timestamp", 1623871500059L, "randomnumber", 46.0d),
+ Map.of("timestamp", 1623871501064L, "randomnumber", 41.0d),
+ Map.of("timestamp", 1623871502070L, "randomnumber", 41.0d),
+ Map.of("timestamp", 1623871503078L, "randomnumber", 22.0d),
+ Map.of("timestamp", 1623871504082L, "randomnumber", 56.0d),
+ Map.of("timestamp", 1623871505084L, "randomnumber", 95.0d),
+ Map.of("timestamp", 1623871506086L, "randomnumber", 77.0d),
+ Map.of("timestamp", 1623871507091L, "randomnumber", 85.0d),
+ Map.of("timestamp", 1623871508093L, "randomnumber", 22.0d)
+ );
+
+ List<Map<String, Object>> outputEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "randomnumber", 62.0d),
+ Map.of("timestamp", 1623871504082L, "randomnumber", 56.0d),
+ Map.of("timestamp", 1623871505084L, "randomnumber", 95.0d),
+ Map.of("timestamp", 1623871506086L, "randomnumber", 77.0d),
+ Map.of("timestamp", 1623871507091L, "randomnumber", 85.0d)
+ );
+
+ ProcessingElementTestExecutor testExecutor = new
ProcessingElementTestExecutor(processor, configuration);
+ testExecutor.run(inputEvents, outputEvents);
+ }
+
+}
diff --git
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
index 3bb6a98238..be831d1385 100644
---
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
+++
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
@@ -29,32 +29,59 @@ class TestProjectionProcessor {
@Test
- public void test() {
+ public void projection1() {
var configuration = TestConfiguration
.builder()
- .customOutputStrategy(List.of("field1", "field2"))
+ .customOutputStrategy(List.of("timestamp", "a"))
.build();
List<Map<String, Object>> events = List.of(
Map.of(
- "field1", "value1",
- "field2", "value2",
- "field3", "ignoredValue"
+ "timestamp", 1623871499055L,
+ "remove", 62.0d,
+ "a", "a"
),
Map.of(
- "field1", "value3",
- "field2", "value4",
- "field3", "ignoredValue"
+ "timestamp", 1623871504082L,
+ "remove", 56.0d,
+ "a", "a"
+ ),
+ Map.of(
+ "timestamp", 1623871505084L,
+ "remove", 95.0d,
+ "a", "a"
+ ),
+ Map.of(
+ "timestamp", 1623871506086L,
+ "remove", 77.0d,
+ "a", "a"
+ ),
+ Map.of(
+ "timestamp", 1623871507091L,
+ "remove", 85.0d,
+ "a", "a"
)
);
List<Map<String, Object>> outputEvents = List.of(
Map.of(
- "field1", "value1",
- "field2", "value2"
+ "timestamp", 1623871499055L,
+ "a", "a"
+ ),
+ Map.of(
+ "timestamp", 1623871504082L,
+ "a", "a"
+ ),
+ Map.of(
+ "timestamp", 1623871505084L,
+ "a", "a"
+ ),
+ Map.of(
+ "timestamp", 1623871506086L,
+ "a", "a"
),
Map.of(
- "field1", "value3",
- "field2", "value4"
+ "timestamp", 1623871507091L,
+ "a", "a"
)
);
diff --git
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/textfilter/TestTextFilterProcessor.java
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/textfilter/TestTextFilterProcessor.java
index d283eb04ce..03e8972701 100644
---
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/textfilter/TestTextFilterProcessor.java
+++
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/textfilter/TestTextFilterProcessor.java
@@ -22,6 +22,7 @@ import
org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
import org.apache.streampipes.test.executors.TestConfiguration;
import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -113,4 +114,74 @@ public class TestTextFilterProcessor {
)
);
}
+
+ @Test
+ public void textFilter1() {
+ executeFixtureTest(
+ "randomchar",
+ StringOperator.MATCHES,
+ "c",
+ List.of(
+ Map.of("timestamp", 1623871499055L, "randomchar", "a"),
+ Map.of("timestamp", 1623871500059L, "randomchar", "b"),
+ Map.of("timestamp", 1623871501064L, "randomchar", "c"),
+ Map.of("timestamp", 1623871502070L, "randomchar", "a"),
+ Map.of("timestamp", 1623871503078L, "randomchar", "b"),
+ Map.of("timestamp", 1623871504082L, "randomchar", "c"),
+ Map.of("timestamp", 1623871505084L, "randomchar", "a"),
+ Map.of("timestamp", 1623871506086L, "randomchar", "b"),
+ Map.of("timestamp", 1623871507091L, "randomchar", "c"),
+ Map.of("timestamp", 1623871508093L, "randomchar", "a")
+ ),
+ List.of(
+ Map.of("timestamp", 1623871501064L, "randomchar", "c"),
+ Map.of("timestamp", 1623871504082L, "randomchar", "c"),
+ Map.of("timestamp", 1623871507091L, "randomchar", "c")
+ )
+ );
+ }
+
+ @Test
+ public void textFilter2() {
+ executeFixtureTest(
+ "randomchar",
+ StringOperator.CONTAINS,
+ "app",
+ List.of(
+ Map.of("timestamp", 1623871499055L, "randomchar", "apple"),
+ Map.of("timestamp", 1623871500059L, "randomchar", "banana"),
+ Map.of("timestamp", 1623871501064L, "randomchar", "computer"),
+ Map.of("timestamp", 1623871502070L, "randomchar", "apple"),
+ Map.of("timestamp", 1623871503078L, "randomchar", "banana"),
+ Map.of("timestamp", 1623871504082L, "randomchar", "computer"),
+ Map.of("timestamp", 1623871505084L, "randomchar", "apple"),
+ Map.of("timestamp", 1623871506086L, "randomchar", "banana"),
+ Map.of("timestamp", 1623871507091L, "randomchar", "computer"),
+ Map.of("timestamp", 1623871508093L, "randomchar", "apple")
+ ),
+ List.of(
+ Map.of("timestamp", 1623871499055L, "randomchar", "apple"),
+ Map.of("timestamp", 1623871502070L, "randomchar", "apple"),
+ Map.of("timestamp", 1623871505084L, "randomchar", "apple"),
+ Map.of("timestamp", 1623871508093L, "randomchar", "apple")
+ )
+ );
+ }
+
+ private void executeFixtureTest(
+ String fieldName,
+ StringOperator operation,
+ String keyword,
+ List<Map<String, Object>> inputEvents,
+ List<Map<String, Object>> outputEvents
+ ) {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .configWithDefaultPrefix(TextFilterProcessor.MAPPING_PROPERTY_ID,
fieldName)
+ .config(TextFilterProcessor.OPERATION_ID, operation)
+ .config(TextFilterProcessor.KEYWORD_ID, keyword)
+ .build();
+
+ ProcessingElementTestExecutor testExecutor = new
ProcessingElementTestExecutor(processor, configuration);
+ testExecutor.run(inputEvents, outputEvents);
+ }
}
diff --git
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/threshold/TestThresholdDetectionProcessor.java
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/threshold/TestThresholdDetectionProcessor.java
index ec73a64611..c4d02b7e2c 100644
---
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/threshold/TestThresholdDetectionProcessor.java
+++
b/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/threshold/TestThresholdDetectionProcessor.java
@@ -123,9 +123,44 @@ class TestThresholdDetectionProcessor {
executeTest(configuration, inputEvent, expectedEvents);
}
+ @Test
+ void thresholdDetection1() {
+ var configuration = createConfiguration(">", 50.0, "randomnumber");
+ var inputEvents = List.of(
+ event("timestamp", 1623871499055L, "randomnumber", 62.0d),
+ event("timestamp", 1623871500059L, "randomnumber", 46.0d),
+ event("timestamp", 1623871501064L, "randomnumber", 41.0d),
+ event("timestamp", 1623871502070L, "randomnumber", 41.0d),
+ event("timestamp", 1623871503078L, "randomnumber", 22.0d),
+ event("timestamp", 1623871504082L, "randomnumber", 56.0d),
+ event("timestamp", 1623871505084L, "randomnumber", 95.0d),
+ event("timestamp", 1623871506086L, "randomnumber", 77.0d),
+ event("timestamp", 1623871507091L, "randomnumber", 85.0d),
+ event("timestamp", 1623871508093L, "randomnumber", 22.0d)
+ );
+ var expectedEvents = List.of(
+ event("timestamp", 1623871499055L, "randomnumber", 62.0d,
ThresholdDetectionProcessor.RESULT_FIELD, true),
+ event("timestamp", 1623871500059L, "randomnumber", 46.0d,
ThresholdDetectionProcessor.RESULT_FIELD, false),
+ event("timestamp", 1623871501064L, "randomnumber", 41.0d,
ThresholdDetectionProcessor.RESULT_FIELD, false),
+ event("timestamp", 1623871502070L, "randomnumber", 41.0d,
ThresholdDetectionProcessor.RESULT_FIELD, false),
+ event("timestamp", 1623871503078L, "randomnumber", 22.0d,
ThresholdDetectionProcessor.RESULT_FIELD, false),
+ event("timestamp", 1623871504082L, "randomnumber", 56.0d,
ThresholdDetectionProcessor.RESULT_FIELD, true),
+ event("timestamp", 1623871505084L, "randomnumber", 95.0d,
ThresholdDetectionProcessor.RESULT_FIELD, true),
+ event("timestamp", 1623871506086L, "randomnumber", 77.0d,
ThresholdDetectionProcessor.RESULT_FIELD, true),
+ event("timestamp", 1623871507091L, "randomnumber", 85.0d,
ThresholdDetectionProcessor.RESULT_FIELD, true),
+ event("timestamp", 1623871508093L, "randomnumber", 22.0d,
ThresholdDetectionProcessor.RESULT_FIELD, false)
+ );
+
+ executeTest(configuration, inputEvents, expectedEvents);
+ }
+
private TestConfiguration createConfiguration(String operation, double
value) {
+ return createConfiguration(operation, value, FIELD_NAME);
+ }
+
+ private TestConfiguration createConfiguration(String operation, double
value, String fieldName) {
return TestConfiguration.builder()
- .configWithDefaultPrefix(ThresholdDetectionProcessor.NUMBER_MAPPING,
FIELD_NAME)
+ .configWithDefaultPrefix(ThresholdDetectionProcessor.NUMBER_MAPPING,
fieldName)
.config(ThresholdDetectionProcessor.OPERATION, operation)
.config(ThresholdDetectionProcessor.VALUE, value)
.build();
@@ -139,6 +174,16 @@ class TestThresholdDetectionProcessor {
return List.of(Map.of(FIELD_NAME, value,
ThresholdDetectionProcessor.RESULT_FIELD, thresholdDetected));
}
+ private Map<String, Object> event(Object... keyValuePairs) {
+ var event = new java.util.LinkedHashMap<String, Object>();
+
+ for (int i = 0; i < keyValuePairs.length; i += 2) {
+ event.put((String) keyValuePairs[i], keyValuePairs[i + 1]);
+ }
+
+ return event;
+ }
+
private void executeTest(
TestConfiguration configuration,
List<Map<String, Object>> inputEvent,
diff --git
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/array/count/CountArrayProcessorTest.java
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/array/count/CountArrayProcessorTest.java
new file mode 100644
index 0000000000..93365b0de0
--- /dev/null
+++
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/array/count/CountArrayProcessorTest.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package
org.apache.streampipes.processors.transformation.jvm.processor.array.count;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class CountArrayProcessorTest {
+
+ @Test
+ void countArray1() {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .configWithDefaultPrefix(CountArrayProcessor.ARRAY_FIELD,
"arrayProperty")
+ .build();
+
+ List<Map<String, Object>> inputEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "arrayProperty", List.of(1, 2, 4,
4)),
+ Map.of("timestamp", 1623871500059L, "arrayProperty", List.of(1, 4)),
+ Map.of("timestamp", 1623871507091L, "arrayProperty", List.of(1, 3, 3,
3, 4)),
+ Map.of("timestamp", 1623871508093L, "arrayProperty", List.of(1))
+ );
+
+ List<Map<String, Object>> expectedEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "arrayProperty", List.of(1, 2, 4,
4), CountArrayProcessor.COUNT_NAME, 4),
+ Map.of("timestamp", 1623871500059L, "arrayProperty", List.of(1, 4),
CountArrayProcessor.COUNT_NAME, 2),
+ Map.of("timestamp", 1623871507091L, "arrayProperty", List.of(1, 3, 3,
3, 4), CountArrayProcessor.COUNT_NAME, 5),
+ Map.of("timestamp", 1623871508093L, "arrayProperty", List.of(1),
CountArrayProcessor.COUNT_NAME, 1)
+ );
+
+ ProcessingElementTestExecutor testExecutor =
+ new ProcessingElementTestExecutor(new CountArrayProcessor(),
configuration);
+
+ testExecutor.run(inputEvents, expectedEvents);
+ }
+}
diff --git
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/array/split/SplitArrayProcessorTest.java
similarity index 50%
copy from
streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
copy to
streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/array/split/SplitArrayProcessorTest.java
index 3bb6a98238..86fbe65507 100644
---
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
+++
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/array/split/SplitArrayProcessorTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.streampipes.processors.filters.jvm.processor.projection;
+package
org.apache.streampipes.processors.transformation.jvm.processor.array.split;
import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
import org.apache.streampipes.test.executors.TestConfiguration;
@@ -25,42 +25,29 @@ import org.junit.jupiter.api.Test;
import java.util.List;
import java.util.Map;
-class TestProjectionProcessor {
-
+class SplitArrayProcessorTest {
@Test
- public void test() {
- var configuration = TestConfiguration
- .builder()
- .customOutputStrategy(List.of("field1", "field2"))
+ void splitArray1() {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .configWithDefaultPrefix(SplitArrayProcessor.ARRAY_FIELD_ID,
"arrayProperty")
+ .config(SplitArrayProcessor.KEEP_PROPERTIES_ID, List.of("::timestamp"))
.build();
- List<Map<String, Object>> events = List.of(
- Map.of(
- "field1", "value1",
- "field2", "value2",
- "field3", "ignoredValue"
- ),
- Map.of(
- "field1", "value3",
- "field2", "value4",
- "field3", "ignoredValue"
- )
+
+ List<Map<String, Object>> inputEvents = List.of(
+ Map.of("timestamp", 1623871500059L, "arrayProperty", List.of(1, 4)),
+ Map.of("timestamp", 1623871508093L, "arrayProperty", List.of(1))
);
- List<Map<String, Object>> outputEvents = List.of(
- Map.of(
- "field1", "value1",
- "field2", "value2"
- ),
- Map.of(
- "field1", "value3",
- "field2", "value4"
- )
+ List<Map<String, Object>> expectedEvents = List.of(
+ Map.of("timestamp", 1623871500059L, SplitArrayProcessor.VALUE, 1),
+ Map.of("timestamp", 1623871500059L, SplitArrayProcessor.VALUE, 4),
+ Map.of("timestamp", 1623871508093L, SplitArrayProcessor.VALUE, 1)
);
- var testExecutor = new ProcessingElementTestExecutor(new
ProjectionProcessor(), configuration);
+ ProcessingElementTestExecutor testExecutor =
+ new ProcessingElementTestExecutor(new SplitArrayProcessor(),
configuration);
- testExecutor.run(events, outputEvents);
+ testExecutor.run(inputEvents, expectedEvents);
}
-
}
diff --git
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/counter/TestBooleanCounterProcessor.java
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/counter/TestBooleanCounterProcessor.java
index a9fb7f39c8..a20e438b54 100644
---
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/counter/TestBooleanCounterProcessor.java
+++
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/counter/TestBooleanCounterProcessor.java
@@ -15,158 +15,91 @@
* limitations under the License.
*
*/
-
package
org.apache.streampipes.processors.transformation.jvm.processor.booloperator.counter;
-import org.apache.streampipes.commons.exceptions.SpRuntimeException;
-import org.apache.streampipes.extensions.api.pe.routing.SpOutputCollector;
-import org.apache.streampipes.messaging.InternalEventProcessor;
-import org.apache.streampipes.model.graph.DataProcessorDescription;
-import org.apache.streampipes.model.graph.DataProcessorInvocation;
-import org.apache.streampipes.model.runtime.Event;
-import org.apache.streampipes.model.runtime.EventFactory;
-import org.apache.streampipes.model.runtime.SchemaInfo;
-import org.apache.streampipes.model.runtime.SourceInfo;
-import org.apache.streampipes.model.staticproperty.MappingPropertyUnary;
-import org.apache.streampipes.model.staticproperty.OneOfStaticProperty;
-import org.apache.streampipes.test.generator.EventStreamGenerator;
-import org.apache.streampipes.test.generator.InvocationGraphGenerator;
-import org.apache.streampipes.test.generator.grounding.EventGroundingGenerator;
-import org.apache.streampipes.wrapper.params.compat.ProcessorParams;
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
-import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.Arguments;
-import org.junit.jupiter.params.provider.MethodSource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.stream.Stream;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+class TestBooleanCounterProcessor {
-public class TestBooleanCounterProcessor {
- private static final Logger LOG =
LoggerFactory.getLogger(TestBooleanCounterProcessor.class);
+ private BooleanCounterProcessor processor;
- static Stream<Arguments> data() {
- return Stream.of(
- Arguments.of("Test", "BOTH", Arrays.asList(false, true), 1),
- Arguments.of("Test", "BOTH", Arrays.asList(false, true, false), 2),
- Arguments.of("Test", "BOTH", Arrays.asList(false), 0),
- Arguments.of("Test", "TRUE -> FALSE", Arrays.asList(false, true,
false, false, true), 2),
- Arguments.of("Test", "TRUE -> FALSE", Arrays.asList(true, false), 1),
- Arguments.of("Test", "TRUE -> FALSE", Arrays.asList(false), 1),
- Arguments.of("Test", "FALSE -> TRUE", Arrays.asList(false), 0),
- Arguments.of("Test", "FALSE -> TRUE", Arrays.asList(false, false,
true), 1),
- Arguments.of("Test", "FALSE -> TRUE", Arrays.asList(false, false,
true), 1),
- Arguments.of("Test", "FALSE -> TRUE", Arrays.asList(false, true, true,
false), 1)
- );
+ @BeforeEach
+ void setUp() {
+ processor = new BooleanCounterProcessor();
}
- // /**
-// * flankUp defines which boolean changes should be counted
-// * 0: BOTH
-// * 1: TRUE -> FALSE
-// * 2: FALSE -> TRUE
-// */
- @ParameterizedTest
- @MethodSource("data")
- public void testBooleanCounter(
- String invertFieldName,
- String flankUp,
- List<Boolean> eventBooleans,
- Integer expectedBooleanCount
- ) {
- BooleanCounterProcessor booleanCounter = new BooleanCounterProcessor();
- DataProcessorDescription originalGraph =
booleanCounter.declareConfig().getDescription();
-
originalGraph.setSupportedGrounding(EventGroundingGenerator.makeDummyGrounding());
-
- DataProcessorInvocation graph =
- InvocationGraphGenerator.makeEmptyInvocation(originalGraph);
-
- graph.setInputStreams(Collections
- .singletonList(EventStreamGenerator
-
.makeStreamWithProperties(Collections.singletonList(invertFieldName))));
-
-
graph.setOutputStream(EventStreamGenerator.makeStreamWithProperties(Collections.singletonList(invertFieldName)));
-
-
graph.getOutputStream().getEventGrounding().getTransportProtocol().getTopicDefinition()
- .setActualTopicName("output-topic");
-
- graph.getStaticProperties().stream()
- .filter(p -> p instanceof MappingPropertyUnary)
- .map((p -> (MappingPropertyUnary) p))
- .filter(p ->
p.getInternalName().equals(BooleanCounterProcessor.FIELD_ID))
- .findFirst().get().setSelectedProperty("s0::" + invertFieldName);
- ProcessorParams params = new ProcessorParams(graph);
- params.extractor().getStaticPropertyByName("flank",
OneOfStaticProperty.class).getOptions()
- .stream().filter(ot -> ot.getName().equals(flankUp)).findFirst()
- .get().setSelected(true);
-
-
- SpOutputCollector spOut = new SpOutputCollector() {
- @Override
- public void collect(Event event) {}
- @Override
- public void registerConsumer(String routeId,
InternalEventProcessor<Map<String, Object>> consumer) {}
- @Override
- public void unregisterConsumer(String routeId) {}
- @Override
- public void connect() throws SpRuntimeException {}
- @Override
- public void disconnect() throws SpRuntimeException {}
- };
-
- booleanCounter.onPipelineStarted(params, spOut, null);
- Integer counter = sendEvents(booleanCounter, spOut, eventBooleans,
invertFieldName);
- LOG.info("Expected match count is {}", expectedBooleanCount);
- LOG.info("Actual match count is {}", counter);
- assertEquals(expectedBooleanCount, counter);
+ @Test
+ void booleanCounter1() {
+ executeFixtureTest(
+ "booleanToCount",
+ List.of(
+ Map.of("timestamp", 1623871499055L, "booleanToCount", true),
+ Map.of("timestamp", 1623871500059L, "booleanToCount", true),
+ Map.of("timestamp", 1623871501064L, "booleanToCount", true),
+ Map.of("timestamp", 1623871502070L, "booleanToCount", false),
+ Map.of("timestamp", 1623871503078L, "booleanToCount", false),
+ Map.of("timestamp", 1623871504082L, "booleanToCount", false),
+ Map.of("timestamp", 1623871505084L, "booleanToCount", true),
+ Map.of("timestamp", 1623871506086L, "booleanToCount", true),
+ Map.of("timestamp", 1623871507091L, "booleanToCount", false),
+ Map.of("timestamp", 1623871508093L, "booleanToCount", true)
+ ),
+ List.of(
+ Map.of("timestamp", 1623871499055L, "booleanToCount", true,
"counter", 1),
+ Map.of("timestamp", 1623871502070L, "booleanToCount", false,
"counter", 2),
+ Map.of("timestamp", 1623871505084L, "booleanToCount", true,
"counter", 3),
+ Map.of("timestamp", 1623871507091L, "booleanToCount", false,
"counter", 4),
+ Map.of("timestamp", 1623871508093L, "booleanToCount", true,
"counter", 5)
+ )
+ );
}
- private Integer sendEvents(BooleanCounterProcessor booleanCounter,
SpOutputCollector spOut,
- List<Boolean> eventBooleans, String
invertFieldName) {
- int counter = 0;
- List<Event> events = makeEvents(eventBooleans, invertFieldName);
- for (Event event : events) {
- LOG.info("Sending event with value "
- + event.getFieldBySelector("s0::" +
invertFieldName).getAsPrimitive().getAsBoolean());
- booleanCounter.onEvent(event, spOut);
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- try {
- counter =
event.getFieldBySelector(BooleanCounterProcessor.COUNT_FIELD_RUNTIME_NAME)
- .getAsPrimitive()
- .getAsInt();
- } catch (IllegalArgumentException e) {
-
- }
- }
-
- return counter;
+ @Test
+ void booleanCounter2() {
+ executeFixtureTest(
+ "randomboolean",
+ List.of(
+ Map.of("timestamp", 1623871499055L, "randomboolean", false),
+ Map.of("timestamp", 1623871500059L, "randomboolean", false),
+ Map.of("timestamp", 1623871501064L, "randomboolean", true),
+ Map.of("timestamp", 1623871502070L, "randomboolean", false),
+ Map.of("timestamp", 1623871503078L, "randomboolean", true),
+ Map.of("timestamp", 1623871504082L, "randomboolean", false),
+ Map.of("timestamp", 1623871505084L, "randomboolean", true),
+ Map.of("timestamp", 1623871506086L, "randomboolean", false),
+ Map.of("timestamp", 1623871507091L, "randomboolean", true),
+ Map.of("timestamp", 1623871508093L, "randomboolean", true)
+ ),
+ List.of(
+ Map.of("timestamp", 1623871501064L, "randomboolean", true,
"counter", 1),
+ Map.of("timestamp", 1623871502070L, "randomboolean", false,
"counter", 2),
+ Map.of("timestamp", 1623871503078L, "randomboolean", true,
"counter", 3),
+ Map.of("timestamp", 1623871504082L, "randomboolean", false,
"counter", 4),
+ Map.of("timestamp", 1623871505084L, "randomboolean", true,
"counter", 5),
+ Map.of("timestamp", 1623871506086L, "randomboolean", false,
"counter", 6),
+ Map.of("timestamp", 1623871507091L, "randomboolean", true,
"counter", 7)
+ )
+ );
}
- private List<Event> makeEvents(List<Boolean> eventBooleans, String
invertFieldName) {
- List<Event> events = new ArrayList<>();
- for (Boolean eventSetting : eventBooleans) {
- events.add(makeEvent(eventSetting, invertFieldName));
- }
- return events;
- }
+ private void executeFixtureTest(
+ String fieldName,
+ List<Map<String, Object>> inputEvents,
+ List<Map<String, Object>> expectedEvents
+ ) {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .configWithDefaultPrefix(BooleanCounterProcessor.FIELD_ID, fieldName)
+ .config(BooleanCounterProcessor.FLANK_ID, "BOTH")
+ .build();
- private Event makeEvent(Boolean value, String invertFieldName) {
- Map<String, Object> map = new HashMap<>();
- map.put(invertFieldName, value);
- return EventFactory.fromMap(map,
- new SourceInfo("test" + "-topic", "s0"),
- new SchemaInfo(null, new ArrayList<>()));
+ ProcessingElementTestExecutor testExecutor = new
ProcessingElementTestExecutor(processor, configuration);
+ testExecutor.run(inputEvents, expectedEvents);
}
}
diff --git
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/edge/SignalEdgeFilterProcessorTest.java
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/edge/SignalEdgeFilterProcessorTest.java
new file mode 100644
index 0000000000..bdf99337f5
--- /dev/null
+++
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/edge/SignalEdgeFilterProcessorTest.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package
org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class SignalEdgeFilterProcessorTest {
+
+ @Test
+ void signalEdgeFilter1() {
+ TestConfiguration configuration = TestConfiguration.builder()
+
.configWithDefaultPrefix(SignalEdgeFilterProcessor.BOOLEAN_SIGNAL_FIELD,
"booleanEdge")
+ .config(SignalEdgeFilterProcessor.FLANK_ID,
SignalEdgeFilterProcessor.BOTH)
+ .config(SignalEdgeFilterProcessor.DELAY_ID, 0)
+ .config("event-selection-id", "Last")
+ .build();
+
+ List<Map<String, Object>> inputEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "booleanEdge", true),
+ Map.of("timestamp", 1623871500059L, "booleanEdge", true),
+ Map.of("timestamp", 1623871501064L, "booleanEdge", true),
+ Map.of("timestamp", 1623871502070L, "booleanEdge", false),
+ Map.of("timestamp", 1623871503078L, "booleanEdge", false),
+ Map.of("timestamp", 1623871504082L, "booleanEdge", false),
+ Map.of("timestamp", 1623871505084L, "booleanEdge", true),
+ Map.of("timestamp", 1623871506086L, "booleanEdge", true),
+ Map.of("timestamp", 1623871507091L, "booleanEdge", false),
+ Map.of("timestamp", 1623871508093L, "booleanEdge", true)
+ );
+
+ List<Map<String, Object>> expectedEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "booleanEdge", true),
+ Map.of("timestamp", 1623871502070L, "booleanEdge", false),
+ Map.of("timestamp", 1623871505084L, "booleanEdge", true),
+ Map.of("timestamp", 1623871507091L, "booleanEdge", false),
+ Map.of("timestamp", 1623871508093L, "booleanEdge", true)
+ );
+
+ ProcessingElementTestExecutor testExecutor =
+ new ProcessingElementTestExecutor(new SignalEdgeFilterProcessor(),
configuration);
+
+ testExecutor.run(inputEvents, expectedEvents);
+ }
+}
diff --git
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/inverter/BooleanInverterProcessorTest.java
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/inverter/BooleanInverterProcessorTest.java
new file mode 100644
index 0000000000..e14109230f
--- /dev/null
+++
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/inverter/BooleanInverterProcessorTest.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package
org.apache.streampipes.processors.transformation.jvm.processor.booloperator.inverter;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class BooleanInverterProcessorTest {
+
+ @Test
+ void booleanInverter1() {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .configWithDefaultPrefix(BooleanInverterProcessor.INVERT_FIELD_ID,
"booleanToInvert")
+ .build();
+
+ List<Map<String, Object>> inputEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "booleanToInvert", true),
+ Map.of("timestamp", 1623871500059L, "booleanToInvert", true),
+ Map.of("timestamp", 1623871501064L, "booleanToInvert", true),
+ Map.of("timestamp", 1623871502070L, "booleanToInvert", false),
+ Map.of("timestamp", 1623871503078L, "booleanToInvert", false),
+ Map.of("timestamp", 1623871504082L, "booleanToInvert", false),
+ Map.of("timestamp", 1623871505084L, "booleanToInvert", true),
+ Map.of("timestamp", 1623871506086L, "booleanToInvert", true),
+ Map.of("timestamp", 1623871507091L, "booleanToInvert", false),
+ Map.of("timestamp", 1623871508093L, "booleanToInvert", true)
+ );
+
+ List<Map<String, Object>> expectedEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "booleanToInvert", false),
+ Map.of("timestamp", 1623871500059L, "booleanToInvert", false),
+ Map.of("timestamp", 1623871501064L, "booleanToInvert", false),
+ Map.of("timestamp", 1623871502070L, "booleanToInvert", true),
+ Map.of("timestamp", 1623871503078L, "booleanToInvert", true),
+ Map.of("timestamp", 1623871504082L, "booleanToInvert", true),
+ Map.of("timestamp", 1623871505084L, "booleanToInvert", false),
+ Map.of("timestamp", 1623871506086L, "booleanToInvert", false),
+ Map.of("timestamp", 1623871507091L, "booleanToInvert", true),
+ Map.of("timestamp", 1623871508093L, "booleanToInvert", false)
+ );
+
+ ProcessingElementTestExecutor testExecutor =
+ new ProcessingElementTestExecutor(new BooleanInverterProcessor(),
configuration);
+
+ testExecutor.run(inputEvents, expectedEvents);
+ }
+}
diff --git
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/fieldrename/FiledRenameProcessorTest.java
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/fieldrename/FiledRenameProcessorTest.java
new file mode 100644
index 0000000000..5ec14992fc
--- /dev/null
+++
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/fieldrename/FiledRenameProcessorTest.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package
org.apache.streampipes.processors.transformation.jvm.processor.fieldrename;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class FiledRenameProcessorTest {
+
+ @Test
+ void fieldRenamer1() {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .configWithDefaultPrefix("convert-property", "count")
+ .config("field-name", "newname")
+ .build();
+
+ List<Map<String, Object>> inputEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "count", 122.0d),
+ Map.of("timestamp", 1623871500059L, "count", 123.0d),
+ Map.of("timestamp", 1623871501064L, "count", 124.0d),
+ Map.of("timestamp", 1623871502070L, "count", 125.0d),
+ Map.of("timestamp", 1623871503078L, "count", 126.0d),
+ Map.of("timestamp", 1623871504082L, "count", 127.0d),
+ Map.of("timestamp", 1623871505084L, "count", 128.0d),
+ Map.of("timestamp", 1623871506086L, "count", 129.0d),
+ Map.of("timestamp", 1623871507091L, "count", 130.0d),
+ Map.of("timestamp", 1623871508093L, "count", 131.0d)
+ );
+
+ List<Map<String, Object>> expectedEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "newname", 122.0d),
+ Map.of("timestamp", 1623871500059L, "newname", 123.0d),
+ Map.of("timestamp", 1623871501064L, "newname", 124.0d),
+ Map.of("timestamp", 1623871502070L, "newname", 125.0d),
+ Map.of("timestamp", 1623871503078L, "newname", 126.0d),
+ Map.of("timestamp", 1623871504082L, "newname", 127.0d),
+ Map.of("timestamp", 1623871505084L, "newname", 128.0d),
+ Map.of("timestamp", 1623871506086L, "newname", 129.0d),
+ Map.of("timestamp", 1623871507091L, "newname", 130.0d),
+ Map.of("timestamp", 1623871508093L, "newname", 131.0d)
+ );
+
+ ProcessingElementTestExecutor testExecutor =
+ new ProcessingElementTestExecutor(new FiledRenameProcessor(),
configuration);
+
+ testExecutor.run(inputEvents, expectedEvents);
+ }
+}
diff --git
a/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/hasher/FieldHasherProcessorTest.java
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/hasher/FieldHasherProcessorTest.java
new file mode 100644
index 0000000000..28ca0deff1
--- /dev/null
+++
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/hasher/FieldHasherProcessorTest.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.streampipes.processors.transformation.jvm.processor.hasher;
+
+import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
+import org.apache.streampipes.test.executors.TestConfiguration;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Map;
+
+class FieldHasherProcessorTest {
+
+ @Test
+ void fieldHasher1() {
+ executeFixtureTest(
+ "SHA1",
+ List.of(
+ Map.of("timestamp", 1623871499055L, "sensorId", "abc"),
+ Map.of("timestamp", 1623871500059L, "sensorId", "123")
+ ),
+ List.of(
+ Map.of("timestamp", 1623871499055L, "sensorId",
"a9993e364706816aba3e25717850c26c9cd0d89d"),
+ Map.of("timestamp", 1623871500059L, "sensorId",
"40bd001563085fc35165329ea1ff5c5ecbdbbeef")
+ )
+ );
+ }
+
+ @Test
+ void fieldHasher2() {
+ executeFixtureTest(
+ "MD5",
+ List.of(
+ Map.of("timestamp", 1623871499055L, "sensorId", "abc"),
+ Map.of("timestamp", 1623871500059L, "sensorId", "123")
+ ),
+ List.of(
+ Map.of("timestamp", 1623871499055L, "sensorId",
"900150983cd24fb0d6963f7d28e17f72"),
+ Map.of("timestamp", 1623871500059L, "sensorId",
"202cb962ac59075b964b07152d234b70")
+ )
+ );
+ }
+
+ private void executeFixtureTest(
+ String algorithm,
+ List<Map<String, Object>> inputEvents,
+ List<Map<String, Object>> expectedEvents
+ ) {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .configWithDefaultPrefix("property-mapping", "sensorId")
+ .config("hash-algorithm", algorithm)
+ .build();
+
+ ProcessingElementTestExecutor testExecutor =
+ new ProcessingElementTestExecutor(new FieldHasherProcessor(),
configuration);
+
+ testExecutor.run(inputEvents, expectedEvents);
+ }
+}
diff --git
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/mapper/FieldMapperProcessorTest.java
similarity index 52%
copy from
streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
copy to
streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/mapper/FieldMapperProcessorTest.java
index 3bb6a98238..c1ffc870f2 100644
---
a/streampipes-extensions/streampipes-processors-filters-jvm/src/test/java/org/apache/streampipes/processors/filters/jvm/processor/projection/TestProjectionProcessor.java
+++
b/streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/mapper/FieldMapperProcessorTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.streampipes.processors.filters.jvm.processor.projection;
+package org.apache.streampipes.processors.transformation.jvm.processor.mapper;
import org.apache.streampipes.test.executors.ProcessingElementTestExecutor;
import org.apache.streampipes.test.executors.TestConfiguration;
@@ -25,42 +25,28 @@ import org.junit.jupiter.api.Test;
import java.util.List;
import java.util.Map;
-class TestProjectionProcessor {
-
+class FieldMapperProcessorTest {
@Test
- public void test() {
- var configuration = TestConfiguration
- .builder()
- .customOutputStrategy(List.of("field1", "field2"))
+ void fieldMapper1() {
+ TestConfiguration configuration = TestConfiguration.builder()
+ .config("replaceProperties", List.of("::value1", "::value2"))
+ .config("fieldName", "hashedField")
.build();
- List<Map<String, Object>> events = List.of(
- Map.of(
- "field1", "value1",
- "field2", "value2",
- "field3", "ignoredValue"
- ),
- Map.of(
- "field1", "value3",
- "field2", "value4",
- "field3", "ignoredValue"
- )
+
+ List<Map<String, Object>> inputEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "value1", "abc", "value2", "def"),
+ Map.of("timestamp", 1623871500059L, "value1", "123", "value2", "456")
);
- List<Map<String, Object>> outputEvents = List.of(
- Map.of(
- "field1", "value1",
- "field2", "value2"
- ),
- Map.of(
- "field1", "value3",
- "field2", "value4"
- )
+ List<Map<String, Object>> expectedEvents = List.of(
+ Map.of("timestamp", 1623871499055L, "hashedField",
"e80b5017098950fc58aad83c8c14978e"),
+ Map.of("timestamp", 1623871500059L, "hashedField",
"e10adc3949ba59abbe56e057f20f883e")
);
- var testExecutor = new ProcessingElementTestExecutor(new
ProjectionProcessor(), configuration);
+ ProcessingElementTestExecutor testExecutor =
+ new ProcessingElementTestExecutor(new FieldMapperProcessor(),
configuration);
- testExecutor.run(events, outputEvents);
+ testExecutor.run(inputEvents, expectedEvents);
}
-
}
diff --git
a/streampipes-test-utils-executors/src/main/java/org/apache/streampipes/test/executors/ProcessingElementTestExecutor.java
b/streampipes-test-utils-executors/src/main/java/org/apache/streampipes/test/executors/ProcessingElementTestExecutor.java
index 95d142a539..0d7c686364 100644
---
a/streampipes-test-utils-executors/src/main/java/org/apache/streampipes/test/executors/ProcessingElementTestExecutor.java
+++
b/streampipes-test-utils-executors/src/main/java/org/apache/streampipes/test/executors/ProcessingElementTestExecutor.java
@@ -36,6 +36,7 @@ import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -83,7 +84,7 @@ public class ProcessingElementTestExecutor {
List<Map<String, Object>> inputEvents,
List<Map<String, Object>> expectedOutputEvents
) {
-
+ var mockCollector = mock(SpOutputCollector.class);
// initialize the extractor with the provided configuration of the user
input
var dataProcessorInvocation = getProcessorInvocation();
@@ -101,10 +102,9 @@ public class ProcessingElementTestExecutor {
when(mockParams.extractor()).thenReturn(extractor);
// calls the onPipelineStarted method of the processor to initialize it
- processor.onPipelineStarted(mockParams, null, null);
+ processor.onPipelineStarted(mockParams, mockCollector, null);
// mock the output collector to capture the output events and validate the
results later
- var mockCollector = mock(SpOutputCollector.class);
var spOutputCollectorCaptor = ArgumentCaptor.forClass(Event.class);
@@ -190,24 +190,8 @@ public class ProcessingElementTestExecutor {
}
private PipelineElementTemplate getPipelineElementTemplate() {
- var staticProperties = processor
- .declareConfig()
- .getDescription()
- .getStaticProperties();
-
-
var configs = new ArrayList<Map<String, Object>>();
-
- staticProperties.forEach(staticProperty -> {
- var value = testConfiguration.getFieldConfiguration()
- .get(staticProperty.getInternalName());
- configs.add(
- Map.of(
- staticProperty.getInternalName(),
- value
- )
- );
- });
+ configs.add(new HashMap<>(testConfiguration.getFieldConfiguration()));
return new PipelineElementTemplate("name", "description", configs);
}
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/description.json
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/description.json
deleted file mode 100644
index 704e89289b..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "math",
- "config": [
- {
- "type": "drop-down",
- "selector": "leftOperand",
- "value": "temperature1"
- },
- {
- "type": "drop-down",
- "selector": "rightOperand",
- "value": "temperature2"
- },
- {
- "type": "radio",
- "selector": "operation",
- "value": "\\+"
- }
- ]
-}
diff --git a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/expected.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/expected.csv
deleted file mode 100644
index e2fb0c1887..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;calculationResult;temperature1;temperature2
-1623871499055;5.0;2.0;3.0
-1623871500059;7.0;3.0;4.0
diff --git a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/input.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/input.csv
deleted file mode 100644
index 1b75ffa703..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math1/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1;temperature2
-1623871499055;2;3
-1623871500059;3;4
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/description.json
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/description.json
deleted file mode 100644
index 7104559509..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "math",
- "config": [
- {
- "type": "drop-down",
- "selector": "leftOperand",
- "value": "temperature1"
- },
- {
- "type": "drop-down",
- "selector": "rightOperand",
- "value": "temperature2"
- },
- {
- "type": "radio",
- "selector": "operation",
- "value": "\\/"
- }
- ]
-}
diff --git a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/expected.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/expected.csv
deleted file mode 100644
index f11ce541a4..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;calculationResult;temperature1;temperature2
-1623871499055;1.0;4.0;4.0
-1623871500059;20.0;100.0;5.0
diff --git a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/input.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/input.csv
deleted file mode 100644
index aaad2528eb..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math2/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1;temperature2
-1623871499055;4;4
-1623871500059;100.0;5.0
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/description.json
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/description.json
deleted file mode 100644
index 968a447ba0..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "math",
- "config": [
- {
- "type": "drop-down",
- "selector": "leftOperand",
- "value": "temperature1"
- },
- {
- "type": "drop-down",
- "selector": "rightOperand",
- "value": "temperature2"
- },
- {
- "type": "radio",
- "selector": "operation",
- "value": "\\*"
- }
- ]
-}
diff --git a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/expected.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/expected.csv
deleted file mode 100644
index b4d06a76a4..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;calculationResult;temperature1;temperature2
-1623871499055;8.0;4.0;2.0
-1623871500059;17.5;3.5;5.0
diff --git a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/input.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/input.csv
deleted file mode 100644
index 9e97f57075..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/math3/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1;temperature2
-1623871499055;4;2
-1623871500059;3.5;5.0
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/description.json
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/description.json
deleted file mode 100644
index 7416eea99e..0000000000
---
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "static_math",
- "config": [
- {
- "type": "drop-down",
- "selector": "leftOperand",
- "value": "temperature1"
- },
- {
- "type": "input",
- "selector": "rightOperandValue",
- "value": "5"
- },
- {
- "type": "radio",
- "selector": "operation",
- "value": "\\*"
- }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/expected.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/expected.csv
deleted file mode 100644
index 0405380d89..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1
-1623871499055;20.0
-1623871500059;17.5
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/input.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/input.csv
deleted file mode 100644
index 437bd65baf..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath1/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1
-1623871499055;4
-1623871500059;3.5
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/description.json
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/description.json
deleted file mode 100644
index 948f8420e2..0000000000
---
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "static_math",
- "config": [
- {
- "type": "drop-down",
- "selector": "leftOperand",
- "value": "temperature1"
- },
- {
- "type": "input",
- "selector": "rightOperandValue",
- "value": "1.5"
- },
- {
- "type": "radio",
- "selector": "operation",
- "value": "\\/"
- }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/expected.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/expected.csv
deleted file mode 100644
index 5ec5e931b8..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1
-1623871499055;4.0
-1623871500059;2.0
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/input.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/input.csv
deleted file mode 100644
index 933646d2a9..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/staticmath2/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1
-1623871499055;6
-1623871500059;3
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/description.json
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/description.json
deleted file mode 100644
index 7edea59dac..0000000000
---
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/description.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "trigonometry_functions",
- "config": [
- {
- "type": "drop-down",
- "selector": "operand",
- "value": "temperature1"
- },
- {
- "type": "radio",
- "selector": "operation",
- "value": "sin"
- }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/expected.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/expected.csv
deleted file mode 100644
index 1e63455d3a..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1;trigonometryResult
-1623871499055;90.0;0.8939966636005579
-1623871500059;180.0;-0.8011526357338304
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/input.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/input.csv
deleted file mode 100644
index 13f65438bd..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry1/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1
-1623871499055;90
-1623871500059;180.0
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/description.json
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/description.json
deleted file mode 100644
index d8304c3b64..0000000000
---
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/description.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "trigonometry_functions",
- "config": [
- {
- "type": "drop-down",
- "selector": "operand",
- "value": "temperature1"
- },
- {
- "type": "radio",
- "selector": "operation",
- "value": "cos"
- }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/expected.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/expected.csv
deleted file mode 100644
index d306625c1e..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1;trigonometryResult
-1623871499055;120.0;0.8141809705265618
-1623871500059;150.0;0.6992508064783751
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/input.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/input.csv
deleted file mode 100644
index 1de8e270be..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/trigonometry2/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;temperature1
-1623871499055;120
-1623871500059;150.0
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/description.json
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/description.json
deleted file mode 100644
index 879d5d4e70..0000000000
---
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "value_change",
- "config": [
- {
- "type": "drop-down",
- "selector": "change-value-mapping",
- "value": "numberlist"
- },
- {
- "type": "input",
- "selector": "from-property-value",
- "value": "3"
- },
- {
- "type": "input",
- "selector": "to-property-value",
- "value": "4"
- }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/expected.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/expected.csv
deleted file mode 100644
index def809b283..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/expected.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;isChanged;numberlist
-1623871499055;false;2.0
-1623871500059;false;3.0
-1623871501064;true;4.0
-1623871502070;false;5.0
-1623871503078;false;2.0
-1623871504082;false;3.0
-1623871505084;true;4.0
-1623871506086;false;5.0
-1623871507091;false;6.0
-1623871508093;false;7.0
diff --git
a/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/input.csv
b/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/input.csv
deleted file mode 100644
index 269217ab6e..0000000000
--- a/ui/cypress/fixtures/pipelineElement/enrich-jvm/valueChange1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;numberlist
-1623871499055;2
-1623871500059;3
-1623871501064;4
-1623871502070;5
-1623871503078;2
-1623871504082;3
-1623871505084;4
-1623871506086;5
-1623871507091;6
-1623871508093;7
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/description.json
b/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/description.json
deleted file mode 100644
index dc4596d5c1..0000000000
---
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/description.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "boolean_filter",
- "config": [
- {
- "type": "drop-down",
- "selector": "boolean-mapping",
- "value": "randomboolean"
- },
- {
- "type": "radio",
- "selector": "value",
- "value": "True"
- }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/expected.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/expected.csv
deleted file mode 100644
index 84b6b2e11a..0000000000
---
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/expected.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;randomboolean
-1623871501064;true
-1623871503078;true
-1623871505084;true
-1623871507091;true
-1623871508093;true
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/input.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/input.csv
deleted file mode 100644
index 691d57416a..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomboolean
-1623871499055;false
-1623871500059;false
-1623871501064;true
-1623871502070;false
-1623871503078;true
-1623871504082;false
-1623871505084;true
-1623871506086;false
-1623871507091;true
-1623871508093;true
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/description.json
b/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/description.json
deleted file mode 100644
index 94af4202c6..0000000000
---
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/description.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "boolean_filter",
- "config": [
- {
- "type": "drop-down",
- "selector": "boolean-mapping",
- "value": "randomboolean"
- },
- {
- "type": "radio",
- "selector": "value",
- "value": "False"
- }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/expected.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/expected.csv
deleted file mode 100644
index 3a0ceb0247..0000000000
---
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/expected.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;randomboolean
-1623871499055;false
-1623871500059;false
-1623871502070;false
-1623871504082;false
-1623871506086;false
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/input.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/input.csv
deleted file mode 100644
index 00f09c6cc0..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/booleanFilter2/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomboolean
-1623871499055;false
-1623871500059;false
-1623871501064;true
-1623871502070;false
-1623871503078;true
-1623871504082;false
-1623871505084;true
-1623871506086;false
-1623871507091;true
-1623871508093;true
\ No newline at end of file
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/description.json
b/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/description.json
deleted file mode 100644
index 5fddc6ee44..0000000000
---
a/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/description.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "name": "numerical_filter",
- "config": [
- {
- "type": "drop-down",
- "selector": "number-mapping",
- "value": "randomnumber"
- },
- { "type": "radio", "selector": "operation", "value": "\\>" },
- { "type": "input", "selector": "value", "value": "50" }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/expected.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/expected.csv
deleted file mode 100644
index 1639aebcb6..0000000000
---
a/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/expected.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;randomnumber
-1623871499055;62.0
-1623871504082;56.0
-1623871505084;95.0
-1623871506086;77.0
-1623871507091;85.0
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/input.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/input.csv
deleted file mode 100644
index c5fb22e414..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/numericalFilter1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomnumber
-1623871499055;62.0
-1623871500059;46.0
-1623871501064;41.0
-1623871502070;41.0
-1623871503078;22.0
-1623871504082;56.0
-1623871505084;95.0
-1623871506086;77.0
-1623871507091;85.0
-1623871508093;22.0
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/description.json
b/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/description.json
deleted file mode 100644
index f749e5d16f..0000000000
---
a/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/description.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "projection",
- "config": [
- {
- "type": "checkbox",
- "selector": "timestamp",
- "value": "check"
- },
- {
- "type": "checkbox",
- "selector": "a",
- "value": "check"
- }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/expected.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/expected.csv
deleted file mode 100644
index 249d92f747..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/expected.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;a
-1623871499055;a
-1623871504082;a
-1623871505084;a
-1623871506086;a
-1623871507091;a
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/input.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/input.csv
deleted file mode 100644
index 2804ec7b3f..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/projection1/input.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;remove;a
-1623871499055;62.0;a
-1623871504082;56.0;a
-1623871505084;95.0;a
-1623871506086;77.0;a
-1623871507091;85.0;a
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/description.json
b/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/description.json
deleted file mode 100644
index 302d2dac37..0000000000
---
a/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/description.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "rate_limit",
- "config": [
- {
- "type": "radio",
- "selector": "grouping-enabled",
- "value": "False"
- },
- {
- "type": "radio",
- "selector": "window-type",
- "value": "Length Window"
- },
- {
- "type": "input",
- "selector": "window-type-length-window-size-2",
- "value": "5"
- },
- {
- "type": "radio",
- "selector": "event-selection",
- "value": "Last"
- }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/expected.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/expected.csv
deleted file mode 100644
index aa1a3795a6..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;randomnumber
-1623871494000;22.0
-1623871499000;26.0
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/input.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/input.csv
deleted file mode 100644
index 0291979492..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/rateLimit1/input.csv
+++ /dev/null
@@ -1,12 +0,0 @@
-timestamp;randomnumber
-1623871490000;62.0
-1623871491000;46.0
-1623871492000;41.0
-1623871493000;41.0
-1623871494000;22.0
-1623871495000;56.0
-1623871496000;95.0
-1623871497000;77.0
-1623871498000;85.0
-1623871499000;26.0
-1623871500000;21.0
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/description.json
b/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/description.json
deleted file mode 100644
index 9bd34e76e4..0000000000
---
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/description.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": "text_filter",
- "config": [
- { "type": "drop-down", "selector": "text", "value": "randomchar" },
- { "type": "radio", "selector": "operation", "value": "MATCHES" },
- { "type": "input", "selector": "keyword", "value": "c" }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/expected.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/expected.csv
deleted file mode 100644
index 7e5c6e7773..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/expected.csv
+++ /dev/null
@@ -1,4 +0,0 @@
-timestamp;randomchar
-1623871501064;c
-1623871504082;c
-1623871507091;c
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/input.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/input.csv
deleted file mode 100644
index d931de33a7..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomchar
-1623871499055;a
-1623871500059;b
-1623871501064;c
-1623871502070;a
-1623871503078;b
-1623871504082;c
-1623871505084;a
-1623871506086;b
-1623871507091;c
-1623871508093;a
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/description.json
b/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/description.json
deleted file mode 100644
index 98a468c93e..0000000000
---
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/description.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": "text_filter",
- "config": [
- { "type": "drop-down", "selector": "text", "value": "randomchar" },
- { "type": "radio", "selector": "operation", "value": "CONTAINS" },
- { "type": "input", "selector": "keyword", "value": "app" }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/expected.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/expected.csv
deleted file mode 100644
index 8cc4527118..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/expected.csv
+++ /dev/null
@@ -1,5 +0,0 @@
-timestamp;randomchar
-1623871499055;apple
-1623871502070;apple
-1623871505084;apple
-1623871508093;apple
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/input.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/input.csv
deleted file mode 100644
index 189d1a3f56..0000000000
--- a/ui/cypress/fixtures/pipelineElement/filters-jvm/textFilter2/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomchar
-1623871499055;apple
-1623871500059;banana
-1623871501064;computer
-1623871502070;apple
-1623871503078;banana
-1623871504082;computer
-1623871505084;apple
-1623871506086;banana
-1623871507091;computer
-1623871508093;apple
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/description.json
b/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/description.json
deleted file mode 100644
index 110c35ed18..0000000000
---
a/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/description.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "threshold_detector",
- "config": [
- {
- "type": "drop-down",
- "selector": "number-mapping",
- "value": "randomnumber"
- },
- {
- "type": "radio",
- "selector": "operation",
- "value": "\\>"
- },
- {
- "type": "input",
- "selector": "value",
- "value": "50"
- }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/expected.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/expected.csv
deleted file mode 100644
index bcb728d490..0000000000
---
a/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/expected.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomnumber;thresholdDetected
-1623871499055;62.0;true
-1623871500059;46.0;false
-1623871501064;41.0;false
-1623871502070;41.0;false
-1623871503078;22.0;false
-1623871504082;56.0;true
-1623871505084;95.0;true
-1623871506086;77.0;true
-1623871507091;85.0;true
-1623871508093;22.0;false
diff --git
a/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/input.csv
b/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/input.csv
deleted file mode 100644
index c5fb22e414..0000000000
---
a/ui/cypress/fixtures/pipelineElement/filters-jvm/thresholdDetection1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomnumber
-1623871499055;62.0
-1623871500059;46.0
-1623871501064;41.0
-1623871502070;41.0
-1623871503078;22.0
-1623871504082;56.0
-1623871505084;95.0
-1623871506086;77.0
-1623871507091;85.0
-1623871508093;22.0
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/description.json
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/description.json
deleted file mode 100644
index 316ebc2016..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/description.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "name": "boolean_counter",
- "config": [
- { "type": "drop-down", "selector": "field", "value": "booleanToCount" },
- { "type": "radio", "selector": "flank", "value": "BOTH" }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/expected.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/expected.csv
deleted file mode 100644
index bb50d01551..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/expected.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;booleanToCount;counter
-1623871499055;true;1.0
-1623871502070;false;2.0
-1623871505084;true;3.0
-1623871507091;false;4.0
-1623871508093;true;5.0
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/input.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/input.csv
deleted file mode 100644
index 99442a70b3..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;booleanToCount
-1623871499055;true
-1623871500059;true
-1623871501064;true
-1623871502070;false
-1623871503078;false
-1623871504082;false
-1623871505084;true
-1623871506086;true
-1623871507091;false
-1623871508093;true
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/description.json
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/description.json
deleted file mode 100644
index 81ca935ddc..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/description.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "boolean_counter",
- "config": [
- {
- "type": "drop-down",
- "selector": "field",
- "value": "randomboolean"
- },
- {
- "type": "radio",
- "selector": "flank",
- "value": "BOTH"
- }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/expected.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/expected.csv
deleted file mode 100644
index 5d77d45b2a..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/expected.csv
+++ /dev/null
@@ -1,8 +0,0 @@
-timestamp;counter;randomboolean
-1623871501064;1.0;true
-1623871502070;2.0;false
-1623871503078;3.0;true
-1623871504082;4.0;false
-1623871505084;5.0;true
-1623871506086;6.0;false
-1623871507091;7.0;true
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/input.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/input.csv
deleted file mode 100644
index 691d57416a..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanCounter2/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;randomboolean
-1623871499055;false
-1623871500059;false
-1623871501064;true
-1623871502070;false
-1623871503078;true
-1623871504082;false
-1623871505084;true
-1623871506086;false
-1623871507091;true
-1623871508093;true
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/description.json
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/description.json
deleted file mode 100644
index ad23b24dda..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/description.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "boolean_inverter",
- "config": [
- {
- "type": "drop-down",
- "selector": "invert-field",
- "value": "booleanToInvert"
- }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/expected.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/expected.csv
deleted file mode 100644
index 653aa9aaec..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/expected.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;booleanToInvert
-1623871499055;false
-1623871500059;false
-1623871501064;false
-1623871502070;true
-1623871503078;true
-1623871504082;true
-1623871505084;false
-1623871506086;false
-1623871507091;true
-1623871508093;false
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/input.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/input.csv
deleted file mode 100644
index 71796a047e..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/booleanInverter1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;booleanToInvert
-1623871499055;true
-1623871500059;true
-1623871501064;true
-1623871502070;false
-1623871503078;false
-1623871504082;false
-1623871505084;true
-1623871506086;true
-1623871507091;false
-1623871508093;true
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/description.json
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/description.json
deleted file mode 100644
index 119f469cbc..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/description.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "name": "count_array",
- "config": [
- { "type": "drop-down", "selector": "array-field", "value": "arrayProperty"
}
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/expected.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/expected.csv
deleted file mode 100644
index c043270cf3..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/expected.csv
+++ /dev/null
@@ -1,5 +0,0 @@
-timestamp;arrayProperty;countValue
-1623871499055;[ "java.util.ArrayList", [ 1, 2, 4, 4 ] ];4.0
-1623871500059;[ "java.util.ArrayList", [ 1, 4 ] ];2.0
-1623871507091;[ "java.util.ArrayList", [ 1, 3, 3, 3, 4 ] ];5.0
-1623871508093;[ "java.util.ArrayList", [ 1 ] ];1.0
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/input.json
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/input.json
deleted file mode 100644
index 24ac9f09d2..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/countArray1/input.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- { "timestamp": 1623871499055, "arrayProperty": [1, 2, 4, 4] },
- { "timestamp": 1623871500059, "arrayProperty": [1, 4] },
- { "timestamp": 1623871507091, "arrayProperty": [1, 3, 3, 3, 4] },
- { "timestamp": 1623871508093, "arrayProperty": [1] }
-]
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/description.json
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/description.json
deleted file mode 100644
index 2b23587408..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/description.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": "field_hasher",
- "config": [
- {
- "type": "drop-down",
- "selector": "property-mapping",
- "value": "sensorId"
- },
- { "type": "radio", "selector": "hash-algorithm", "value": "SHA1" }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/expected.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/expected.csv
deleted file mode 100644
index 9ae74591f5..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;sensorId
-1623871499055;a9993e364706816aba3e25717850c26c9cd0d89d
-1623871500059;40bd001563085fc35165329ea1ff5c5ecbdbbeef
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/input.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/input.csv
deleted file mode 100644
index bcbd5414db..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher1/input.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;sensorId
-1623871499055;abc
-1623871500059;123
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/description.json
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/description.json
deleted file mode 100644
index 0de2f317cd..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/description.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": "field_hasher",
- "config": [
- {
- "type": "drop-down",
- "selector": "property-mapping",
- "value": "sensorId"
- },
- { "type": "radio", "selector": "hash-algorithm", "value": "MD5" }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/expected.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/expected.csv
deleted file mode 100644
index bad17b41ad..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;sensorId
-1623871499055;900150983cd24fb0d6963f7d28e17f72
-1623871500059;202cb962ac59075b964b07152d234b70
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/input.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/input.csv
deleted file mode 100644
index 3f2fd7638a..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldHasher2/input.csv
+++ /dev/null
@@ -1,5 +0,0 @@
-timestamp;sensorId
-1623871499055;abc
-1623871500059;123
-
-
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/description.json
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/description.json
deleted file mode 100644
index 39424cb7cf..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/description.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": "field_mapper",
- "config": [
- { "type": "checkbox", "selector": "value1", "value": "check" },
- { "type": "checkbox", "selector": "value2", "value": "check" },
- { "type": "input", "selector": "fieldName", "value": "hashedField" }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/expected.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/expected.csv
deleted file mode 100644
index cddd87630b..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;hashedField
-1623871499055;e80b5017098950fc58aad83c8c14978e
-1623871500059;e10adc3949ba59abbe56e057f20f883e
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/input.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/input.csv
deleted file mode 100644
index 38082515b0..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldMapper1/input.csv
+++ /dev/null
@@ -1,5 +0,0 @@
-timestamp;value1;value2
-1623871499055;abc;def
-1623871500059;123;456
-
-
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/description.json
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/description.json
deleted file mode 100644
index 680c0df867..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/description.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "name": "field_renamer",
- "config": [
- { "type": "drop-down", "selector": "convert-property", "value": "count" },
- { "type": "input", "selector": "field-name", "value": "newname" }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/expected.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/expected.csv
deleted file mode 100644
index a03ba37cc7..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/expected.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;newname
-1623871499055;122.0
-1623871500059;123.0
-1623871501064;124.0
-1623871502070;125.0
-1623871503078;126.0
-1623871504082;127.0
-1623871505084;128.0
-1623871506086;129.0
-1623871507091;130.0
-1623871508093;131.0
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/input.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/input.csv
deleted file mode 100644
index ac4fd1b928..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/fieldRenamer1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;count
-1623871499055;122.0
-1623871500059;123.0
-1623871501064;124.0
-1623871502070;125.0
-1623871503078;126.0
-1623871504082;127.0
-1623871505084;128.0
-1623871506086;129.0
-1623871507091;130.0
-1623871508093;131.0
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/description.json
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/description.json
deleted file mode 100644
index d19d9560b4..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/description.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "name": "signal_edge_filter",
- "config": [
- {
- "type": "drop-down",
- "selector": "boolean_signal_field",
- "value": "booleanEdge"
- },
- { "type": "radio", "selector": "flank", "value": "BOTH" },
- { "type": "input", "selector": "delay", "value": "0" },
- { "type": "radio", "selector": "event-selection-id", "value": "Last" }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/expected.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/expected.csv
deleted file mode 100644
index 7470d5ba12..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/expected.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-timestamp;booleanEdge
-1623871499055;true
-1623871502070;false
-1623871505084;true
-1623871507091;false
-1623871508093;true
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/input.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/input.csv
deleted file mode 100644
index cfd55885b0..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/signalEdgeFilter1/input.csv
+++ /dev/null
@@ -1,11 +0,0 @@
-timestamp;booleanEdge
-1623871499055;true
-1623871500059;true
-1623871501064;true
-1623871502070;false
-1623871503078;false
-1623871504082;false
-1623871505084;true
-1623871506086;true
-1623871507091;false
-1623871508093;true
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/description.json
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/description.json
deleted file mode 100644
index ca76285518..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/description.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "name": "split_array",
- "config": [
- {
- "type": "drop-down",
- "selector": "array-field",
- "value": "arrayProperty"
- },
- { "type": "checkbox", "selector": "timestamp", "value": "check" }
- ]
-}
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/expected.csv
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/expected.csv
deleted file mode 100644
index 9bb212a008..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/expected.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-timestamp;array_value
-1623871500059;4.0
-1623871508093;1.0
diff --git
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/input.json
b/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/input.json
deleted file mode 100644
index 9b7021bbcc..0000000000
---
a/ui/cypress/fixtures/pipelineElement/transformation-jvm/splitArray1/input.json
+++ /dev/null
@@ -1,4 +0,0 @@
-[
- { "timestamp": 1623871500059, "arrayProperty": [1, 4] },
- { "timestamp": 1623871508093, "arrayProperty": [1] }
-]
diff --git a/ui/cypress/plugins/index.ts b/ui/cypress/plugins/index.ts
index d850a05d78..4a5fbca364 100644
--- a/ui/cypress/plugins/index.ts
+++ b/ui/cypress/plugins/index.ts
@@ -43,17 +43,16 @@ function readProcessingElements(): ProcessorTest[] {
'cypress/fixtures/pipelineElement/' + dir,
);
subfolder.forEach(test => {
+ const fixturePath = dir + '/' + test;
const testDescription = fs.readFileSync(
'cypress/fixtures/pipelineElement/' +
- dir +
- '/' +
- test +
+ fixturePath +
'/description.json',
);
// @ts-ignore
const pt = new ProcessorTest();
pt.name = test;
- pt.dir = dir + '/' + test;
+ pt.dir = fixturePath;
const configDir = fs.readdirSync(
'cypress/fixtures/pipelineElement/' + pt.dir,