changed access modifiers

This commit is contained in:
IrynaMatveieva 2024-08-06 18:24:40 +03:00
parent f56e72d1e1
commit ed319dd5e3
4 changed files with 21 additions and 39 deletions

View File

@ -146,7 +146,7 @@ public class TbMqttNode extends TbAbstractExternalNode {
return client; return client;
} }
public MqttClient getMqttClient(TbContext ctx, MqttClientConfig config) { MqttClient getMqttClient(TbContext ctx, MqttClientConfig config) {
return MqttClient.create(config, null, ctx.getExternalCallExecutor()); return MqttClient.create(config, null, ctx.getExternalCallExecutor());
} }
@ -159,7 +159,7 @@ public class TbMqttNode extends TbAbstractExternalNode {
} }
} }
protected SslContext getSslContext() throws SSLException { private SslContext getSslContext() throws SSLException {
return this.mqttNodeConfiguration.isSsl() ? this.mqttNodeConfiguration.getCredentials().initSslContext() : null; return this.mqttNodeConfiguration.isSsl() ? this.mqttNodeConfiguration.getCredentials().initSslContext() : null;
} }

View File

@ -18,6 +18,7 @@ package org.thingsboard.rule.engine.mqtt.azure;
import io.netty.handler.codec.mqtt.MqttVersion; import io.netty.handler.codec.mqtt.MqttVersion;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.thingsboard.common.util.AzureIotHubUtil; import org.thingsboard.common.util.AzureIotHubUtil;
import org.thingsboard.mqtt.MqttClient;
import org.thingsboard.mqtt.MqttClientConfig; import org.thingsboard.mqtt.MqttClientConfig;
import org.thingsboard.rule.engine.api.RuleNode; import org.thingsboard.rule.engine.api.RuleNode;
import org.thingsboard.rule.engine.api.TbContext; import org.thingsboard.rule.engine.api.TbContext;
@ -58,7 +59,7 @@ public class TbAzureIotHubNode extends TbMqttNode {
pemCredentials.setCaCert(AzureIotHubUtil.getDefaultCaCert()); pemCredentials.setCaCert(AzureIotHubUtil.getDefaultCaCert());
} }
} }
this.mqttClient = initClient(ctx); this.mqttClient = initAzureClient(ctx);
} catch (Exception e) { } catch (Exception e) {
throw new TbNodeException(e); throw new TbNodeException(e);
} }
@ -73,7 +74,11 @@ public class TbAzureIotHubNode extends TbMqttNode {
} }
} }
protected TbMqttNodeConfiguration getMqttNodeConfiguration() { TbMqttNodeConfiguration getMqttNodeConfiguration() {
return this.mqttNodeConfiguration; return this.mqttNodeConfiguration;
} }
MqttClient initAzureClient(TbContext ctx) throws Exception {
return initClient(ctx);
}
} }

View File

@ -143,7 +143,7 @@ public class TbMqttNodeTest extends AbstractRuleNodeUpgradeTest {
mockSuccessfulInit(); mockSuccessfulInit();
mqttNode.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(mqttNodeConfig))); mqttNode.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(mqttNodeConfig)));
MqttClientConfig mqttClientConfig = new MqttClientConfig(mqttNode.getSslContext()); MqttClientConfig mqttClientConfig = new MqttClientConfig();
mqttNode.prepareMqttClientConfig(mqttClientConfig); mqttNode.prepareMqttClientConfig(mqttClientConfig);
assertThat(mqttClientConfig.getUsername()).isEqualTo("test_username"); assertThat(mqttClientConfig.getUsername()).isEqualTo("test_username");
@ -158,7 +158,9 @@ public class TbMqttNodeTest extends AbstractRuleNodeUpgradeTest {
mockSuccessfulInit(); mockSuccessfulInit();
mqttNode.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(mqttNodeConfig))); mqttNode.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(mqttNodeConfig)));
SslContext actualSslContext = mqttNode.getSslContext(); ArgumentCaptor<MqttClientConfig> mqttClientConfig = ArgumentCaptor.forClass(MqttClientConfig.class);
then(mqttNode).should().prepareMqttClientConfig(mqttClientConfig.capture());
SslContext actualSslContext = mqttClientConfig.getValue().getSslContext();
assertThat(actualSslContext) assertThat(actualSslContext)
.usingRecursiveComparison() .usingRecursiveComparison()
.ignoringFields("ctx", "ctxLock", "sessionContext.context.ctx", "sessionContext.context.ctxLock") .ignoringFields("ctx", "ctxLock", "sessionContext.context.ctx", "sessionContext.context.ctxLock")
@ -172,7 +174,9 @@ public class TbMqttNodeTest extends AbstractRuleNodeUpgradeTest {
mockSuccessfulInit(); mockSuccessfulInit();
mqttNode.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(mqttNodeConfig))); mqttNode.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(mqttNodeConfig)));
SslContext actualSslContext = mqttNode.getSslContext(); ArgumentCaptor<MqttClientConfig> mqttClientConfig = ArgumentCaptor.forClass(MqttClientConfig.class);
then(mqttNode).should().prepareMqttClientConfig(mqttClientConfig.capture());
SslContext actualSslContext = mqttClientConfig.getValue().getSslContext();
assertThat(actualSslContext).isNull(); assertThat(actualSslContext).isNull();
} }
@ -237,7 +241,7 @@ public class TbMqttNodeTest extends AbstractRuleNodeUpgradeTest {
Future<Void> future = mock(Future.class); Future<Void> future = mock(Future.class);
given(future.isSuccess()).willReturn(true); given(future.isSuccess()).willReturn(true);
given(mqttClientMock.publish(any(String.class), any(ByteBuf.class), any(MqttQoS.class), anyBoolean())).willReturn(future); given(mqttClientMock.publish(any(String.class), any(ByteBuf.class), any(MqttQoS.class), anyBoolean())).willReturn(future);
willAnswer(invocation-> { willAnswer(invocation -> {
GenericFutureListener<Future<Void>> listener = invocation.getArgument(0); GenericFutureListener<Future<Void>> listener = invocation.getArgument(0);
listener.operationComplete(future); listener.operationComplete(future);
return null; return null;
@ -276,7 +280,7 @@ public class TbMqttNodeTest extends AbstractRuleNodeUpgradeTest {
String errorMsg = "Message publishing was failed!"; String errorMsg = "Message publishing was failed!";
Throwable exception = new RuntimeException(errorMsg); Throwable exception = new RuntimeException(errorMsg);
given(future.cause()).willReturn(exception); given(future.cause()).willReturn(exception);
willAnswer(invocation-> { willAnswer(invocation -> {
GenericFutureListener<Future<Void>> listener = invocation.getArgument(0); GenericFutureListener<Future<Void>> listener = invocation.getArgument(0);
listener.operationComplete(future); listener.operationComplete(future);
return null; return null;

View File

@ -15,9 +15,7 @@
*/ */
package org.thingsboard.rule.engine.mqtt.azure; package org.thingsboard.rule.engine.mqtt.azure;
import io.netty.channel.EventLoopGroup;
import io.netty.handler.codec.mqtt.MqttVersion; import io.netty.handler.codec.mqtt.MqttVersion;
import io.netty.util.concurrent.Promise;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
@ -27,24 +25,14 @@ import org.thingsboard.common.util.AzureIotHubUtil;
import org.thingsboard.common.util.JacksonUtil; import org.thingsboard.common.util.JacksonUtil;
import org.thingsboard.mqtt.MqttClient; import org.thingsboard.mqtt.MqttClient;
import org.thingsboard.mqtt.MqttClientConfig; import org.thingsboard.mqtt.MqttClientConfig;
import org.thingsboard.mqtt.MqttConnectResult;
import org.thingsboard.rule.engine.api.TbContext; import org.thingsboard.rule.engine.api.TbContext;
import org.thingsboard.rule.engine.api.TbNodeConfiguration; import org.thingsboard.rule.engine.api.TbNodeConfiguration;
import org.thingsboard.rule.engine.credentials.CertPemCredentials; import org.thingsboard.rule.engine.credentials.CertPemCredentials;
import org.thingsboard.rule.engine.mqtt.TbMqttNodeConfiguration; import org.thingsboard.rule.engine.mqtt.TbMqttNodeConfiguration;
import org.thingsboard.server.common.data.id.RuleNodeId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.rule.RuleNode;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatNoException; import static org.assertj.core.api.Assertions.assertThatNoException;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.BDDMockito.given;
import static org.mockito.BDDMockito.spy; import static org.mockito.BDDMockito.spy;
import static org.mockito.BDDMockito.willReturn; import static org.mockito.BDDMockito.willReturn;
@ -58,12 +46,6 @@ public class TbAzureIotHubNodeTest {
protected TbContext ctxMock; protected TbContext ctxMock;
@Mock @Mock
protected MqttClient mqttClientMock; protected MqttClient mqttClientMock;
@Mock
protected EventLoopGroup eventLoopGroupMock;
@Mock
protected Promise<MqttConnectResult> promiseMock;
@Mock
protected MqttConnectResult resultMock;
@BeforeEach @BeforeEach
public void setUp() { public void setUp() {
@ -93,7 +75,7 @@ public class TbAzureIotHubNodeTest {
credentials.setCaCert("test-ca-cert.pem"); credentials.setCaCert("test-ca-cert.pem");
azureIotHubNodeConfig.setCredentials(credentials); azureIotHubNodeConfig.setCredentials(credentials);
mockSuccessfulInit(); willReturn(mqttClientMock).given(azureIotHubNode).initAzureClient(any());
azureIotHubNode.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(azureIotHubNodeConfig))); azureIotHubNode.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(azureIotHubNodeConfig)));
MqttClientConfig mqttClientConfig = new MqttClientConfig(); MqttClientConfig mqttClientConfig = new MqttClientConfig();
@ -111,7 +93,7 @@ public class TbAzureIotHubNodeTest {
credentials.setPassword("test-password"); credentials.setPassword("test-password");
azureIotHubNodeConfig.setCredentials(credentials); azureIotHubNodeConfig.setCredentials(credentials);
mockSuccessfulInit(); willReturn(mqttClientMock).given(azureIotHubNode).initAzureClient(any());
assertThatNoException().isThrownBy( assertThatNoException().isThrownBy(
() -> azureIotHubNode.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(azureIotHubNodeConfig)))); () -> azureIotHubNode.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(azureIotHubNodeConfig))));
@ -121,13 +103,4 @@ public class TbAzureIotHubNodeTest {
assertThat(mqttNodeConfiguration.isCleanSession()).isTrue(); assertThat(mqttNodeConfiguration.isCleanSession()).isTrue();
} }
private void mockSuccessfulInit() throws Exception {
given(ctxMock.getTenantId()).willReturn(TenantId.fromUUID(UUID.fromString("74aad2a5-3c07-43fb-9c9b-07fafb4e86ce")));
given(ctxMock.getSelf()).willReturn(new RuleNode(new RuleNodeId(UUID.fromString("da5eb2ef-4ea7-4ac9-9359-0e727a0c30ce"))));
given(ctxMock.getSharedEventLoop()).willReturn(eventLoopGroupMock);
willReturn(mqttClientMock).given(azureIotHubNode).getMqttClient(any(), any());
given(mqttClientMock.connect(any(), anyInt())).willReturn(promiseMock);
given(promiseMock.get(anyLong(), any(TimeUnit.class))).willReturn(resultMock);
given(resultMock.isSuccess()).willReturn(true);
}
} }