From cffd0a3a1e3ffe48f6dbe2283fa79876a5a07a8f Mon Sep 17 00:00:00 2001 From: Sergey Matvienko Date: Tue, 21 Jun 2022 18:08:14 +0300 Subject: [PATCH] QueueKey toString for better logging experience --- .../server/queue/discovery/QueueKey.java | 7 +++ .../server/queue/discovery/QueueKeyTest.java | 44 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 common/queue/src/test/java/org/thingsboard/server/queue/discovery/QueueKeyTest.java diff --git a/common/queue/src/main/java/org/thingsboard/server/queue/discovery/QueueKey.java b/common/queue/src/main/java/org/thingsboard/server/queue/discovery/QueueKey.java index a2d5982421..e43da75869 100644 --- a/common/queue/src/main/java/org/thingsboard/server/queue/discovery/QueueKey.java +++ b/common/queue/src/main/java/org/thingsboard/server/queue/discovery/QueueKey.java @@ -53,4 +53,11 @@ public class QueueKey { this.queueName = MAIN; this.tenantId = TenantId.SYS_TENANT_ID; } + + @Override + public String toString() { + return "QK(" + queueName + "," + type + "," + + (TenantId.SYS_TENANT_ID.equals(tenantId) ? "system" : tenantId) + + ')'; + } } diff --git a/common/queue/src/test/java/org/thingsboard/server/queue/discovery/QueueKeyTest.java b/common/queue/src/test/java/org/thingsboard/server/queue/discovery/QueueKeyTest.java new file mode 100644 index 0000000000..6fcb365f09 --- /dev/null +++ b/common/queue/src/test/java/org/thingsboard/server/queue/discovery/QueueKeyTest.java @@ -0,0 +1,44 @@ +/** + * Copyright © 2016-2022 The Thingsboard Authors + * + * Licensed 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.thingsboard.server.queue.discovery; + +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.Test; +import org.thingsboard.server.common.data.id.TenantId; +import org.thingsboard.server.common.msg.queue.ServiceType; + +import java.util.UUID; + +import static org.assertj.core.api.Assertions.assertThat; + +@Slf4j +class QueueKeyTest { + + @Test + void testToStringSystemTenant() { + QueueKey queueKey = new QueueKey(ServiceType.TB_RULE_ENGINE, "Main", TenantId.SYS_TENANT_ID); + log.info("The queue key is {}",queueKey); + assertThat(queueKey.toString()).isEqualTo("QK(Main,TB_RULE_ENGINE,system)"); + } + + @Test + void testToStringCustomTenant() { + TenantId tenantId = TenantId.fromUUID(UUID.fromString("3ebd39eb-43d4-4911-a818-cdbf8d508f88")); + QueueKey queueKey = new QueueKey(ServiceType.TB_RULE_ENGINE, "Main", tenantId); + log.info("The queue key is {}",queueKey); + assertThat(queueKey.toString()).isEqualTo("QK(Main,TB_RULE_ENGINE,3ebd39eb-43d4-4911-a818-cdbf8d508f88)"); + } +}