From 1ad9288be0f4987c32295084669257cd5d57c27e Mon Sep 17 00:00:00 2001
From: Markiyan Mykush <95693607+marki1an@users.noreply.github.com>
Date: Tue, 9 Dec 2025 13:56:56 +0200
Subject: [PATCH 1/9] Test: Remove post in pr-java-ci.yml (#4307)
---
.github/workflows/pr-java-ci.yml | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/pr-java-ci.yml b/.github/workflows/pr-java-ci.yml
index 3f68172bf32..1a198dac001 100644
--- a/.github/workflows/pr-java-ci.yml
+++ b/.github/workflows/pr-java-ci.yml
@@ -35,11 +35,9 @@ jobs:
- name: Publish JUnit Report
uses: mikepenz/action-junit-report@v5
+ if: always()
with:
- report_paths: '**/target/surefire-reports/TEST-*.xml'
check_name: 'JUnit Test Report'
- include_passed: true
- comment: true
+ report_paths: '**/target/surefire-reports/TEST-*.xml'
fail_on_failure: true
- updateComment: true
- token: ${{ secrets.GITHUB_TOKEN }}
+ annotate_only: true
From 17d7aed272a5afe22db7a00131097a58b4075886 Mon Sep 17 00:00:00 2001
From: Anton Babak <76536883+AntoxaAntoxic@users.noreply.github.com>
Date: Tue, 9 Dec 2025 14:47:19 +0100
Subject: [PATCH 2/9] Decrease the version of the InfluxDB metrics (#4292)
---
extra/pom.xml | 3 +-
pom.xml | 11 +++
.../response/influx/InfluxResponse.groovy | 6 ++
.../model/response/influx/InfluxResult.groovy | 10 +++
.../model/response/influx/Series.groovy | 9 +++
.../model/response/influx/Tags.groovy | 6 ++
.../service/PrebidServerService.groovy | 32 ++++++++
.../testcontainers/Dependencies.groovy | 12 ++-
.../testcontainers/PbsConfig.groovy | 4 +-
.../container/PrebidServerContainer.groovy | 4 +
.../functional/tests/InfluxDBSpec.groovy | 78 +++++++++++++++++++
11 files changed, 170 insertions(+), 5 deletions(-)
create mode 100644 src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResponse.groovy
create mode 100644 src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResult.groovy
create mode 100644 src/test/groovy/org/prebid/server/functional/model/response/influx/Series.groovy
create mode 100644 src/test/groovy/org/prebid/server/functional/model/response/influx/Tags.groovy
create mode 100644 src/test/groovy/org/prebid/server/functional/tests/InfluxDBSpec.groovy
diff --git a/extra/pom.xml b/extra/pom.xml
index cbf3012ff8d..6e310f2dedb 100644
--- a/extra/pom.xml
+++ b/extra/pom.xml
@@ -47,7 +47,8 @@
1.5.6
1.13
2.2.0
- 1.3.4
+
+ 1.2.3
0.16.0
2.0.10
3.2.4
diff --git a/pom.xml b/pom.xml
index 1c198a3df57..750ce6efa65 100644
--- a/pom.xml
+++ b/pom.xml
@@ -345,11 +345,22 @@
postgresql
test
+
+ org.testcontainers
+ influxdb
+ test
+
org.mock-server
mockserver-client-java
test
+
+ org.influxdb
+ influxdb-java
+ 2.23
+ test
+
diff --git a/src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResponse.groovy b/src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResponse.groovy
new file mode 100644
index 00000000000..c2fc5b0c6c2
--- /dev/null
+++ b/src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResponse.groovy
@@ -0,0 +1,6 @@
+package org.prebid.server.functional.model.response.influx
+
+class InfluxResponse {
+
+ List results
+}
diff --git a/src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResult.groovy b/src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResult.groovy
new file mode 100644
index 00000000000..ae6f6864334
--- /dev/null
+++ b/src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResult.groovy
@@ -0,0 +1,10 @@
+package org.prebid.server.functional.model.response.influx
+
+import com.fasterxml.jackson.annotation.JsonProperty
+
+class InfluxResult {
+
+ @JsonProperty("statement_id")
+ Integer statementId
+ List series
+}
diff --git a/src/test/groovy/org/prebid/server/functional/model/response/influx/Series.groovy b/src/test/groovy/org/prebid/server/functional/model/response/influx/Series.groovy
new file mode 100644
index 00000000000..30b4cf86e61
--- /dev/null
+++ b/src/test/groovy/org/prebid/server/functional/model/response/influx/Series.groovy
@@ -0,0 +1,9 @@
+package org.prebid.server.functional.model.response.influx
+
+class Series {
+
+ String name
+ Tags tags
+ List columns
+ List> values
+}
diff --git a/src/test/groovy/org/prebid/server/functional/model/response/influx/Tags.groovy b/src/test/groovy/org/prebid/server/functional/model/response/influx/Tags.groovy
new file mode 100644
index 00000000000..a88807ad8b4
--- /dev/null
+++ b/src/test/groovy/org/prebid/server/functional/model/response/influx/Tags.groovy
@@ -0,0 +1,6 @@
+package org.prebid.server.functional.model.response.influx
+
+class Tags {
+
+ String measurement
+}
diff --git a/src/test/groovy/org/prebid/server/functional/service/PrebidServerService.groovy b/src/test/groovy/org/prebid/server/functional/service/PrebidServerService.groovy
index 9e760b7173e..249d6fa3f13 100644
--- a/src/test/groovy/org/prebid/server/functional/service/PrebidServerService.groovy
+++ b/src/test/groovy/org/prebid/server/functional/service/PrebidServerService.groovy
@@ -25,6 +25,7 @@ import org.prebid.server.functional.model.response.cookiesync.CookieSyncResponse
import org.prebid.server.functional.model.response.cookiesync.RawCookieSyncResponse
import org.prebid.server.functional.model.response.currencyrates.CurrencyRatesResponse
import org.prebid.server.functional.model.response.getuids.GetuidResponse
+import org.prebid.server.functional.model.response.influx.InfluxResponse
import org.prebid.server.functional.model.response.infobidders.BidderInfoResponse
import org.prebid.server.functional.model.response.setuid.SetuidResponse
import org.prebid.server.functional.model.response.status.StatusResponse
@@ -42,6 +43,8 @@ import java.time.format.DateTimeFormatter
import static io.restassured.RestAssured.given
import static java.time.ZoneOffset.UTC
+import static org.prebid.server.functional.testcontainers.Dependencies.influxdbContainer
+
class PrebidServerService implements ObjectMapperWrapper {
@@ -59,10 +62,12 @@ class PrebidServerService implements ObjectMapperWrapper {
static final String HTTP_INTERACTION_ENDPOINT = "/logging/httpinteraction"
static final String COLLECTED_METRICS_ENDPOINT = "/collected-metrics"
static final String PROMETHEUS_METRICS_ENDPOINT = "/metrics"
+ static final String INFLUX_DB_ENDPOINT = "/query"
static final String UIDS_COOKIE_NAME = "uids"
private final PrebidServerContainer pbsContainer
private final RequestSpecification requestSpecification
+ private final RequestSpecification influxRequestSpecification
private final RequestSpecification adminRequestSpecification
private final RequestSpecification prometheusRequestSpecification
@@ -75,6 +80,8 @@ class PrebidServerService implements ObjectMapperWrapper {
this.pbsContainer = pbsContainer
requestSpecification = new RequestSpecBuilder().setBaseUri(pbsContainer.rootUri)
.build()
+ influxRequestSpecification = new RequestSpecBuilder().setBaseUri(pbsContainer.influxUri)
+ .build()
adminRequestSpecification = buildAndGetRequestSpecification(pbsContainer.adminRootUri, authenticationScheme)
prometheusRequestSpecification = buildAndGetRequestSpecification(pbsContainer.prometheusRootUri, authenticationScheme)
}
@@ -290,6 +297,16 @@ class PrebidServerService implements ObjectMapperWrapper {
decode(response.asString(), new TypeReference