chore: scope kafka topics in portainer stack
This commit is contained in:
@@ -333,6 +333,53 @@ class PortainerComposeResourceLimitsTest {
|
||||
.contains("KAFKA_CONSUMER_MAX_POLL_INTERVAL_MILLIS: ${KAFKA_CONSUMER_MAX_POLL_INTERVAL_MILLIS_ANALYTICS:-900000}");
|
||||
}
|
||||
|
||||
@Test
|
||||
void kafkaTopicEnvironmentIsScopedToServicesThatUseIt() throws IOException {
|
||||
String compose = Files.readString(repositoryRoot().resolve("deploy/portainer/docker-compose.yml"));
|
||||
String commonEnv = commonEnvBlock(compose);
|
||||
String gb32960Service = serviceBlock(compose, "gb32960-ingest-app");
|
||||
String jt808Service = serviceBlock(compose, "jt808-ingest-app");
|
||||
String mqttService = serviceBlock(compose, "yutong-mqtt-app");
|
||||
String historyService = serviceBlock(compose, "vehicle-history-app");
|
||||
String analyticsService = serviceBlock(compose, "vehicle-analytics-app");
|
||||
|
||||
assertThat(commonEnv).doesNotContain("KAFKA_TOPIC_");
|
||||
assertThat(gb32960Service)
|
||||
.contains("KAFKA_TOPIC_GB32960_EVENT: ${KAFKA_TOPIC_GB32960_EVENT:-vehicle.event.gb32960.v1}")
|
||||
.contains("KAFKA_TOPIC_GB32960_RAW: ${KAFKA_TOPIC_GB32960_RAW:-vehicle.raw.gb32960.v1}")
|
||||
.contains("KAFKA_TOPIC_GB32960_DLQ: ${KAFKA_TOPIC_GB32960_DLQ:-vehicle.dlq.gb32960.v1}")
|
||||
.doesNotContain("KAFKA_TOPIC_JT808")
|
||||
.doesNotContain("KAFKA_TOPIC_YUTONG_MQTT");
|
||||
assertThat(jt808Service)
|
||||
.contains("KAFKA_TOPIC_JT808_EVENT: ${KAFKA_TOPIC_JT808_EVENT:-vehicle.event.jt808.v1}")
|
||||
.contains("KAFKA_TOPIC_JT808_RAW: ${KAFKA_TOPIC_JT808_RAW:-vehicle.raw.jt808.v1}")
|
||||
.contains("KAFKA_TOPIC_JT808_DLQ: ${KAFKA_TOPIC_JT808_DLQ:-vehicle.dlq.jt808.v1}")
|
||||
.doesNotContain("KAFKA_TOPIC_GB32960")
|
||||
.doesNotContain("KAFKA_TOPIC_YUTONG_MQTT");
|
||||
assertThat(mqttService)
|
||||
.contains("KAFKA_TOPIC_YUTONG_MQTT_EVENT: ${KAFKA_TOPIC_YUTONG_MQTT_EVENT:-vehicle.event.mqtt-yutong.v1}")
|
||||
.contains("KAFKA_TOPIC_YUTONG_MQTT_RAW: ${KAFKA_TOPIC_YUTONG_MQTT_RAW:-vehicle.raw.mqtt-yutong.v1}")
|
||||
.contains("KAFKA_TOPIC_YUTONG_MQTT_DLQ: ${KAFKA_TOPIC_YUTONG_MQTT_DLQ:-vehicle.dlq.mqtt-yutong.v1}")
|
||||
.doesNotContain("KAFKA_TOPIC_GB32960")
|
||||
.doesNotContain("KAFKA_TOPIC_JT808");
|
||||
assertThat(historyService)
|
||||
.contains("KAFKA_TOPIC_GB32960_EVENT: ${KAFKA_TOPIC_GB32960_EVENT:-vehicle.event.gb32960.v1}")
|
||||
.contains("KAFKA_TOPIC_GB32960_RAW: ${KAFKA_TOPIC_GB32960_RAW:-vehicle.raw.gb32960.v1}")
|
||||
.contains("KAFKA_TOPIC_JT808_EVENT: ${KAFKA_TOPIC_JT808_EVENT:-vehicle.event.jt808.v1}")
|
||||
.contains("KAFKA_TOPIC_JT808_RAW: ${KAFKA_TOPIC_JT808_RAW:-vehicle.raw.jt808.v1}")
|
||||
.contains("KAFKA_TOPIC_YUTONG_MQTT_EVENT: ${KAFKA_TOPIC_YUTONG_MQTT_EVENT:-vehicle.event.mqtt-yutong.v1}")
|
||||
.contains("KAFKA_TOPIC_YUTONG_MQTT_RAW: ${KAFKA_TOPIC_YUTONG_MQTT_RAW:-vehicle.raw.mqtt-yutong.v1}")
|
||||
.doesNotContain("KAFKA_TOPIC_GB32960_DLQ")
|
||||
.doesNotContain("KAFKA_TOPIC_JT808_DLQ")
|
||||
.doesNotContain("KAFKA_TOPIC_YUTONG_MQTT_DLQ");
|
||||
assertThat(analyticsService)
|
||||
.contains("KAFKA_TOPIC_JT808_EVENT: ${KAFKA_TOPIC_JT808_EVENT:-vehicle.event.jt808.v1}")
|
||||
.contains("KAFKA_TOPIC_JT808_DLQ: ${KAFKA_TOPIC_JT808_DLQ:-vehicle.dlq.jt808.v1}")
|
||||
.doesNotContain("KAFKA_TOPIC_GB32960")
|
||||
.doesNotContain("KAFKA_TOPIC_YUTONG_MQTT")
|
||||
.doesNotContain("KAFKA_TOPIC_JT808_RAW");
|
||||
}
|
||||
|
||||
@Test
|
||||
void vehicleHistoryUsesTdengineHistoryEnvironmentNames() throws IOException {
|
||||
String compose = Files.readString(repositoryRoot().resolve("deploy/portainer/docker-compose.yml"));
|
||||
|
||||
Reference in New Issue
Block a user