Skip to content

Commit ed782ae

Browse files
author
Szymon Lisiecki
committed
fix tests
1 parent 66f2dfd commit ed782ae

1 file changed

Lines changed: 46 additions & 17 deletions

File tree

src/test/java/com/orange/lo/sdk/externalconnector/DataManagementExtConnectorTest.java

Lines changed: 46 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,17 @@
1212
import com.orange.lo.sdk.externalconnector.model.Value;
1313
import org.eclipse.paho.client.mqttv3.IMqttClient;
1414
import org.eclipse.paho.client.mqttv3.IMqttMessageListener;
15+
import org.eclipse.paho.client.mqttv3.MqttCallback;
1516
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
1617
import org.eclipse.paho.client.mqttv3.MqttException;
1718
import org.eclipse.paho.client.mqttv3.MqttMessage;
1819
import org.junit.jupiter.api.BeforeEach;
1920
import org.junit.jupiter.api.Test;
2021
import org.junit.jupiter.api.extension.ExtendWith;
22+
import org.mockito.AdditionalMatchers;
23+
import org.mockito.InOrder;
2124
import org.mockito.Mock;
25+
import org.mockito.Mockito;
2226
import org.mockito.junit.jupiter.MockitoExtension;
2327

2428
import java.util.Arrays;
@@ -43,20 +47,26 @@ class DataManagementExtConnectorTest {
4347

4448
@BeforeEach
4549
void setUp() {
46-
parameters = LOApiClientParameters.builder()
47-
.apiKey(API_KEY)
48-
.build();
49-
this.dataManagementExtConnector = new DataManagementExtConnector(parameters, () -> mqttClient);
50-
dataManagementExtConnector.connect();
50+
5151
}
5252

5353
@Test
5454
void shouldCallConnectFromMqttClientWhenConnectIsCalled() throws MqttException {
55+
parameters = LOApiClientParameters.builder()
56+
.apiKey(API_KEY)
57+
.build();
58+
this.dataManagementExtConnector = new DataManagementExtConnector(parameters, () -> mqttClient);
59+
dataManagementExtConnector.connect();
5560
verify(mqttClient, times(1)).connect(any(MqttConnectOptions.class));
5661
}
5762

5863
@Test
5964
void shouldCallDisconnectFromMqttClientWhenDisconnectIsCalled() throws MqttException {
65+
parameters = LOApiClientParameters.builder()
66+
.apiKey(API_KEY)
67+
.build();
68+
this.dataManagementExtConnector = new DataManagementExtConnector(parameters, () -> mqttClient);
69+
dataManagementExtConnector.connect();
6070
dataManagementExtConnector.disconnect();
6171

6272
verify(mqttClient, times(1)).disconnect();
@@ -92,7 +102,12 @@ void shouldSubscribeCommandRequestTopicWhenMessageCallbackIsSet() throws MqttExc
92102
dataManagementExtConnector = new DataManagementExtConnector(parameters, () -> mqttClient);
93103
dataManagementExtConnector.connect();
94104

95-
verify(mqttClient, times(1)).subscribe(eq(DEFAULT_EXT_CONNECTOR_COMMAND_REQUEST_TOPIC), eq(DEFAULT_MESSAGE_QOS), any(IMqttMessageListener.class));
105+
verify(mqttClient, times(1)).setCallback(any(MqttCallback.class));
106+
verify(mqttClient, times(1)).subscribe(
107+
AdditionalMatchers.aryEq(new String[] {DEFAULT_EXT_CONNECTOR_COMMAND_REQUEST_TOPIC}),
108+
AdditionalMatchers.aryEq(new int[] {DEFAULT_MESSAGE_QOS}),
109+
any(IMqttMessageListener[].class)
110+
);
96111
}
97112

98113
@Test
@@ -107,15 +122,24 @@ void shouldSubscribeToChangedCommandRequestTopicWhenMessageCallbackIsSetAndComma
107122
dataManagementExtConnector = new DataManagementExtConnector(parameters, () -> mqttClient);
108123
dataManagementExtConnector.connect();
109124

110-
verify(mqttClient, times(1)).subscribe(eq(commandRequestTopic), eq(DEFAULT_MESSAGE_QOS), any(IMqttMessageListener.class));
125+
verify(mqttClient, times(1)).setCallback(any(MqttCallback.class));
126+
verify(mqttClient, times(1)).subscribe(
127+
AdditionalMatchers.aryEq(new String[] {commandRequestTopic}),
128+
AdditionalMatchers.aryEq(new int[] {DEFAULT_MESSAGE_QOS}),
129+
any(IMqttMessageListener[].class)
130+
);
111131
}
112132

113133
@Test
114134
void shouldSendNodeStatusToDefaultStatusTopicAsSelectedNodeIdWhenStatusTopicWasNotChangedInParameters() throws MqttException {
135+
parameters = LOApiClientParameters.builder()
136+
.apiKey(API_KEY)
137+
.build();
115138
String expectedTopic = String.format(DEFAULT_EXT_CONNECTOR_STATUS_TOPIC_TEMPLATE, EX_CONNECTOR_NODE_ID);
116139
NodeStatus nodeStatus = getNodeStatus();
117140
MqttMessage expectedMessage = toMqttMessage(nodeStatus);
118-
141+
this.dataManagementExtConnector = new DataManagementExtConnector(parameters, () -> mqttClient);
142+
dataManagementExtConnector.connect();
119143
dataManagementExtConnector.sendStatus(EX_CONNECTOR_NODE_ID, nodeStatus);
120144

121145
verify(mqttClient, times(1)).publish(eq(expectedTopic), hasSamePayload(expectedMessage));
@@ -125,14 +149,14 @@ void shouldSendNodeStatusToDefaultStatusTopicAsSelectedNodeIdWhenStatusTopicWasN
125149
@Test
126150
void shouldSendNodeStatusToChangedStatusTopicAsSelectedNodeIdWhenStatusTopicWasChangedInParameters() throws MqttException {
127151
String statusTopic = "/%s/new/status/topic";
152+
parameters = LOApiClientParameters.builder()
153+
.apiKey(API_KEY)
154+
.extConnectorStatusTopicTemplate(statusTopic)
155+
.build();
128156
String expectedTopic = String.format(statusTopic, EX_CONNECTOR_NODE_ID);
129157
NodeStatus nodeStatus = getNodeStatus();
130158
MqttMessage expectedMessage = toMqttMessage(nodeStatus);
131159

132-
parameters = LOApiClientParameters.builder()
133-
.apiKey(API_KEY)
134-
.extConnectorStatusTopicTemplate(statusTopic)
135-
.build();
136160

137161
dataManagementExtConnector = new DataManagementExtConnector(parameters, () -> mqttClient);
138162
dataManagementExtConnector.connect();
@@ -144,26 +168,31 @@ void shouldSendNodeStatusToChangedStatusTopicAsSelectedNodeIdWhenStatusTopicWasC
144168

145169
@Test
146170
void shouldSendMessageToDefaultDataTopicTemplateAsSelectedNodeIdWhenDataTopicTemplateWasNotChangedInParameters() throws MqttException {
171+
parameters = LOApiClientParameters.builder()
172+
.apiKey(API_KEY)
173+
.build();
147174
String expectedTopic = String.format(DEFAULT_EXT_CONNECTOR_DATA_TOPIC_TEMPLATE, EX_CONNECTOR_NODE_ID);
148175
DataMessage dataMessage = getDataMessage();
149176
MqttMessage expectedMessage = toMqttMessage(dataMessage);
150177

178+
this.dataManagementExtConnector = new DataManagementExtConnector(parameters, () -> mqttClient);
179+
dataManagementExtConnector.connect();
151180
dataManagementExtConnector.sendMessage(EX_CONNECTOR_NODE_ID, dataMessage);
152181

153182
verify(mqttClient, times(1)).publish(eq(expectedTopic), hasSamePayload(expectedMessage));
154183
}
155184

156185
@Test
157186
void shouldSendMessageToChangedDataTopicTemplateAsSelectedNodeIdWhenDataTopicTemplateWasChangedInParameters() throws MqttException {
158-
String dataTopicTemplate = "/%s/new/data/topic";
187+
String dataTopicTemplate = "/%s/new/data/topic";
188+
parameters = LOApiClientParameters.builder()
189+
.apiKey(API_KEY)
190+
.extConnectorDataTopicTemplate(dataTopicTemplate)
191+
.build();
159192
String expectedTopic = String.format(dataTopicTemplate, EX_CONNECTOR_NODE_ID);
160193
DataMessage dataMessage = getDataMessage();
161194
MqttMessage expectedMessage = toMqttMessage(dataMessage);
162195

163-
parameters = LOApiClientParameters.builder()
164-
.apiKey(API_KEY)
165-
.extConnectorDataTopicTemplate(dataTopicTemplate)
166-
.build();
167196

168197
dataManagementExtConnector = new DataManagementExtConnector(parameters, () -> mqttClient);
169198
dataManagementExtConnector.connect();

0 commit comments

Comments
 (0)