From 9834db9ab3ec663dd915f46c2fe87e96015334a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Henning?= <soeren.henning@email.uni-kiel.de>
Date: Thu, 12 May 2022 15:05:36 +0200
Subject: [PATCH] Unify, fix and integrate Hazelcast smoketests

---
 .gitlab-ci.yml                                | 35 +++++++++++++++++++
 .../uc1-hazelcastjet/docker-compose.yml       |  2 +-
 .../docker-test/uc1-hazelcastjet/test.sh      |  5 +--
 .../uc2-hazelcastjet/docker-compose.yml       |  2 +-
 .../uc3-hazelcastjet/docker-compose.yml       |  2 +-
 .../uc4-hazelcastjet/docker-compose.yml       |  2 +-
 6 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c0caca6d5..91a69683b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -477,6 +477,15 @@ smoketest-uc1-beam-samza:
     DOCKER_COMPOSE_DIR: "uc1-beam-samza"
     JAVA_PROJECT_DEPS: "uc1-beam-samza,uc1-beam,beam-commons,uc1-load-generator,load-generator-commons"
 
+smoketest-uc1-hazelcast:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc1-hazelcast
+    - deploy-uc1-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc1-hazelcast"
+    JAVA_PROJECT_DEPS: "uc1-hazelcast,hazelcast-commons,uc1-load-generator,load-generator-commons"
+
 smoketest-uc2-kstreams:
   extends: .smoketest-benchmarks
   needs:
@@ -513,6 +522,15 @@ smoketest-uc2-beam-samza:
     DOCKER_COMPOSE_DIR: "uc2-beam-samza"
     JAVA_PROJECT_DEPS: "uc2-beam-samza,uc2-beam,beam-commons,uc2-load-generator,load-generator-commons"
 
+smoketest-uc2-hazelcast:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc2-hazelcast
+    - deploy-uc2-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc2-hazelcast"
+    JAVA_PROJECT_DEPS: "uc2-hazelcast,hazelcast-commons,uc2-load-generator,load-generator-commons"
+
 smoketest-uc3-kstreams:
   extends: .smoketest-benchmarks
   needs:
@@ -540,6 +558,15 @@ smoketest-uc3-beam-samza:
     DOCKER_COMPOSE_DIR: "uc3-beam-samza"
     JAVA_PROJECT_DEPS: "uc3-beam-samza,uc3-beam,beam-commons,uc3-load-generator,load-generator-commons"
 
+smoketest-uc3-hazelcast:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc3-hazelcast
+    - deploy-uc3-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc3-hazelcast"
+    JAVA_PROJECT_DEPS: "uc3-hazelcast,hazelcast-commons,uc3-load-generator,load-generator-commons"
+
 smoketest-uc4-kstreams:
   extends: .smoketest-benchmarks
   needs:
@@ -576,6 +603,14 @@ smoketest-uc4-beam-samza:
     DOCKER_COMPOSE_DIR: "uc4-beam-samza"
     JAVA_PROJECT_DEPS: "uc4-beam-samza,uc4-beam,beam-commons,uc4-load-generator,load-generator-commons"
 
+smoketest-uc4-hazelcast:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc4-hazelcast
+    - deploy-uc4-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc4-hazelcast"
+    JAVA_PROJECT_DEPS: "uc4-hazelcast,hazelcast-commons,uc4-load-generator,load-generator-commons"
 
 # Theodolite Framework
 
diff --git a/theodolite-benchmarks/docker-test/uc1-hazelcastjet/docker-compose.yml b/theodolite-benchmarks/docker-test/uc1-hazelcastjet/docker-compose.yml
index ad4373222..fd91f14e2 100644
--- a/theodolite-benchmarks/docker-test/uc1-hazelcastjet/docker-compose.yml
+++ b/theodolite-benchmarks/docker-test/uc1-hazelcastjet/docker-compose.yml
@@ -38,7 +38,7 @@ services:
       SCHEMA_REGISTRY_HOST_NAME: schema-registry
       SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
   benchmark:
-    image: ghcr.io/cau-se/theodolite-uc1-hazelcastjet:{THEODOLITE_TAG:-latest}
+    image: ghcr.io/cau-se/theodolite-uc1-hazelcastjet:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
diff --git a/theodolite-benchmarks/docker-test/uc1-hazelcastjet/test.sh b/theodolite-benchmarks/docker-test/uc1-hazelcastjet/test.sh
index b8ab525c3..3dbf43a74 100755
--- a/theodolite-benchmarks/docker-test/uc1-hazelcastjet/test.sh
+++ b/theodolite-benchmarks/docker-test/uc1-hazelcastjet/test.sh
@@ -3,8 +3,9 @@
 sleep 55s # to let the benchmark and produce some output
 
 docker-compose logs --tail 100 benchmark |
-    sed -n 's/^.*identifier":"//p' | # cut the first part before the key
-    sed 's/","timestamp.*//' | # cut the rest after the key
+    sed -n "s/^.*Record:\s\(\S*\)$/\1/p" |
+    tee /dev/stderr |
+    jq .identifier |
     sort |
     uniq |
     wc -l |
diff --git a/theodolite-benchmarks/docker-test/uc2-hazelcastjet/docker-compose.yml b/theodolite-benchmarks/docker-test/uc2-hazelcastjet/docker-compose.yml
index a02f92405..92b90823e 100644
--- a/theodolite-benchmarks/docker-test/uc2-hazelcastjet/docker-compose.yml
+++ b/theodolite-benchmarks/docker-test/uc2-hazelcastjet/docker-compose.yml
@@ -38,7 +38,7 @@ services:
       SCHEMA_REGISTRY_HOST_NAME: schema-registry
       SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
   benchmark:
-    image: ghcr.io/cau-se/theodolite-uc2-hazelcastjet:{THEODOLITE_TAG:-latest}
+    image: ghcr.io/cau-se/theodolite-uc2-hazelcastjet:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
diff --git a/theodolite-benchmarks/docker-test/uc3-hazelcastjet/docker-compose.yml b/theodolite-benchmarks/docker-test/uc3-hazelcastjet/docker-compose.yml
index 9093458a1..d7c3fe7a0 100644
--- a/theodolite-benchmarks/docker-test/uc3-hazelcastjet/docker-compose.yml
+++ b/theodolite-benchmarks/docker-test/uc3-hazelcastjet/docker-compose.yml
@@ -38,7 +38,7 @@ services:
       SCHEMA_REGISTRY_HOST_NAME: schema-registry
       SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
   benchmark:
-    image: ghcr.io/cau-se/theodolite-uc3-hazelcastjet:{THEODOLITE_TAG:-latest}
+    image: ghcr.io/cau-se/theodolite-uc3-hazelcastjet:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
diff --git a/theodolite-benchmarks/docker-test/uc4-hazelcastjet/docker-compose.yml b/theodolite-benchmarks/docker-test/uc4-hazelcastjet/docker-compose.yml
index b4d1e51cd..9a254f522 100644
--- a/theodolite-benchmarks/docker-test/uc4-hazelcastjet/docker-compose.yml
+++ b/theodolite-benchmarks/docker-test/uc4-hazelcastjet/docker-compose.yml
@@ -38,7 +38,7 @@ services:
       SCHEMA_REGISTRY_HOST_NAME: schema-registry
       SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
   benchmark:
-    image: ghcr.io/cau-se/theodolite-uc1-hazelcastjet:{THEODOLITE_TAG:-latest}
+    image: ghcr.io/cau-se/theodolite-uc1-hazelcastjet:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
-- 
GitLab