Skip to content

Commit b366f2c

Browse files
committed
fix tests
1 parent 041a233 commit b366f2c

File tree

8 files changed

+180
-157
lines changed

8 files changed

+180
-157
lines changed

application/src/test/groovy/javasabr/mqtt/application/model/TopicSubscriberTest.groovy

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,17 @@ class TopicSubscriberTest extends NetworkUnitSpecification {
2323
TopicName topicNames,
2424
QoS[] subscriberQos,
2525
QoS[] matchedQos,
26-
MqttClient[] mqttClients
27-
) {
26+
MqttClient[] mqttClients) {
2827
given:
29-
def subscribeTopicFilter = Mock(SubscribeTopicFilter) {
30-
getQos() >>> subscriberQos
31-
getTopicFilter() >>> topicFilters
28+
SubscribeTopicFilter[] subscribeFilters = new SubscribeTopicFilter[mqttClients.length]
29+
mqttClients.eachWithIndex { MqttClient entry, int i ->
30+
subscribeFilters[i] = new SubscribeTopicFilter(topicFilters[i], subscriberQos[i])
3231
}
3332
def topicSubscriber = new TopicSubscribers()
3433
when:
35-
topicSubscriber.addSubscriber(mqttClients[0], subscribeTopicFilter)
36-
topicSubscriber.addSubscriber(mqttClients[1], subscribeTopicFilter)
37-
topicSubscriber.addSubscriber(mqttClients[2], subscribeTopicFilter)
34+
topicSubscriber.addSubscriber(mqttClients[0], subscribeFilters[0])
35+
topicSubscriber.addSubscriber(mqttClients[1], subscribeFilters[1])
36+
topicSubscriber.addSubscriber(mqttClients[2], subscribeFilters[2])
3837
then:
3938
def subscribers = topicSubscriber.matches(topicNames)
4039
subscribers.size() == matchedQos.size()
@@ -67,10 +66,10 @@ class TopicSubscriberTest extends NetworkUnitSpecification {
6766
[AT_LEAST_ONCE, AT_MOST_ONCE, EXACTLY_ONCE]
6867
]
6968
mqttClients << [
70-
[mqtt311Client, mqtt311Client, mqtt311Client],
71-
[mqtt311Client, mqtt311Client, mqtt311Client],
72-
[mqtt311Client, mqtt311Client, mqtt311Client],
73-
[defaultMqttClient(), defaultMqttClient(), defaultMqttClient()]
69+
[defaultMqtt311Client, defaultMqtt311Client, defaultMqtt311Client],
70+
[defaultMqtt311Client, defaultMqtt311Client, defaultMqtt311Client],
71+
[defaultMqtt311Client, defaultMqtt311Client, defaultMqtt311Client],
72+
[newMqtt311Client(), newMqtt311Client(), newMqtt311Client()]
7473
]
7574
}
7675
}

application/src/test/groovy/javasabr/mqtt/application/network/NetworkUnitSpecification.groovy

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import javasabr.rlib.collections.array.IntArray
1717
import spock.lang.Shared
1818

1919
import java.nio.charset.StandardCharsets
20+
import java.util.concurrent.atomic.AtomicInteger
2021

2122
import static javasabr.mqtt.model.utils.TopicUtils.buildTopicFilter
2223
import static javasabr.mqtt.model.utils.TopicUtils.buildTopicName
@@ -34,7 +35,8 @@ class NetworkUnitSpecification extends UnitSpecification {
3435
public static final sessionPresent = true
3536
public static final cleanStart = false
3637
public static final willRetain = false
37-
public static final clientId = "testClientId"
38+
public static final mqtt311ClientId = "testMqtt311ClientId"
39+
public static final mqtt5ClientId = "testMqtt5ClientId"
3840
public static final packetId = 1234 as short
3941
public static final userName = "testUser"
4042
public static final userPassword = "testPassword".getBytes(StandardCharsets.UTF_8)
@@ -102,15 +104,16 @@ class NetworkUnitSpecification extends UnitSpecification {
102104
public static final topicFiltersObj5 = Array.of(topicFilter1Obj5, topicFilter2Obj5)
103105
public static final publishPayload = "publishPayload".getBytes(StandardCharsets.UTF_8)
104106
public static final correlationData = "correlationData".getBytes(StandardCharsets.UTF_8)
107+
public static final clientIdGenerator = new AtomicInteger(1)
105108

106109
@Shared
107110
MqttServerConnectionConfig defaultServerConnectionConfig = defaultServerConnectionConfig()
108111

109112
@Shared
110-
MqttClient defaultMqtt311Client = mqttClient(defaultMqtt311ClientConnectionConfig(), clientId)
113+
MqttClient defaultMqtt311Client = mqttClient(defaultMqtt311ClientConnectionConfig(), mqtt311ClientId)
111114

112115
@Shared
113-
MqttClient defaultMqtt5Client = mqttClient(defaultMqtt5ClientConnectionConfig(), clientId)
116+
MqttClient defaultMqtt5Client = mqttClient(defaultMqtt5ClientConnectionConfig(), mqtt5ClientId)
114117

115118
@Shared
116119
MqttConnection defaultMqtt5Connection = mqtt5Connection();
@@ -176,14 +179,14 @@ class NetworkUnitSpecification extends UnitSpecification {
176179
return mqttConnection(
177180
defaultServerConnectionConfig(),
178181
defaultMqtt311ClientConnectionConfig(),
179-
clientId)
182+
mqtt311ClientId)
180183
}
181184

182185
MqttConnection mqtt5Connection() {
183186
return mqttConnection(
184187
defaultServerConnectionConfig(),
185188
defaultMqtt5ClientConnectionConfig(),
186-
clientId)
189+
mqtt5ClientId)
187190
}
188191

189192
static MqttServerConnectionConfig serverConnectionConfig(
@@ -268,6 +271,17 @@ class NetworkUnitSpecification extends UnitSpecification {
268271
return Stub(MqttClient.UnsafeMqttClient) {
269272
connectionConfig() >> clientConfig
270273
clientId() >> id
274+
toString() >> id
275+
}
276+
}
277+
278+
MqttClient newMqtt311Client() {
279+
def config = defaultMqtt311ClientConnectionConfig()
280+
def id = "generatedClient_${clientIdGenerator.incrementAndGet()}"
281+
return Stub(MqttClient.UnsafeMqttClient) {
282+
connectionConfig() >> config
283+
clientId() >> id
284+
toString() >> id
271285
}
272286
}
273287
}

application/src/test/groovy/javasabr/mqtt/application/network/in/ConnectAckInPacketTest.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class ConnectAckInPacketTest extends BaseInPacketTest {
4646
def propertiesBuffer = BufferUtils.prepareBuffer(512) {
4747
it.putProperty(PacketProperty.REASON_STRING, reasonString)
4848
it.putProperty(PacketProperty.SERVER_REFERENCE, serverReference)
49-
it.putProperty(PacketProperty.ASSIGNED_CLIENT_IDENTIFIER, clientId)
49+
it.putProperty(PacketProperty.ASSIGNED_CLIENT_IDENTIFIER, mqtt311ClientId)
5050
it.putProperty(PacketProperty.AUTHENTICATION_DATA, authData)
5151
it.putProperty(PacketProperty.AUTHENTICATION_METHOD, authMethod)
5252
it.putProperty(PacketProperty.MAXIMUM_PACKET_SIZE, maxPacketSize)
@@ -76,7 +76,7 @@ class ConnectAckInPacketTest extends BaseInPacketTest {
7676
packet.sessionPresent == sessionPresent
7777
packet.serverReference == serverReference
7878
packet.reason == reasonString
79-
packet.assignedClientId == clientId
79+
packet.assignedClientId == mqtt311ClientId
8080
packet.authenticationData == authData
8181
packet.authenticationMethod == authMethod
8282
packet.maxPacketSize == maxPacketSize

application/src/test/groovy/javasabr/mqtt/application/network/in/ConnectInPacketTest.groovy

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class ConnectInPacketTest extends BaseInPacketTest {
1616
it.put(4 as byte)
1717
it.put(0b11000010 as byte)
1818
it.putShort(keepAlive as short)
19-
it.putString(clientId)
19+
it.putString(mqtt311ClientId)
2020
it.putString(userName)
2121
it.putBytes(userPassword)
2222
}
@@ -25,7 +25,7 @@ class ConnectInPacketTest extends BaseInPacketTest {
2525
def result = packet.read(defaultMqtt311Connection, dataBuffer, dataBuffer.limit())
2626
then:
2727
result
28-
packet.clientId() == clientId
28+
packet.clientId() == mqtt311ClientId
2929
packet.mqttVersion() == MqttVersion.MQTT_3_1_1
3030
packet.password() == userPassword
3131
packet.username() == userName
@@ -54,7 +54,7 @@ class ConnectInPacketTest extends BaseInPacketTest {
5454
it.putShort(keepAlive as short)
5555
it.putMbi(propertiesBuffer.limit())
5656
it.put(propertiesBuffer)
57-
it.putString(clientId)
57+
it.putString(mqtt311ClientId)
5858
it.putString(userName)
5959
it.putBytes(userPassword)
6060
}
@@ -66,7 +66,7 @@ class ConnectInPacketTest extends BaseInPacketTest {
6666
packet.keepAlive() == keepAlive
6767
packet.authenticationMethod() == authMethod
6868
packet.authenticationData() == authData
69-
packet.clientId() == clientId
69+
packet.clientId() == mqtt311ClientId
7070
packet.mqttVersion() == MqttVersion.MQTT_5
7171
packet.maxPacketSize() == maxPacketSize
7272
packet.password() == userPassword

application/src/test/groovy/javasabr/mqtt/application/network/out/Connect311OutPacketTest.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class Connect311OutPacketTest extends BaseOutPacketTest {
1414
def packet = new Connect311OutPacket(
1515
userName,
1616
"",
17-
clientId,
17+
mqtt311ClientId,
1818
userPassword,
1919
ArrayUtils.EMPTY_BYTE_ARRAY,
2020
QoS.AT_MOST_ONCE,
@@ -30,7 +30,7 @@ class Connect311OutPacketTest extends BaseOutPacketTest {
3030
then:
3131
result
3232
reader.username() == userName
33-
reader.clientId() == clientId
33+
reader.clientId() == mqtt311ClientId
3434
reader.password() == userPassword
3535
reader.keepAlive() == keepAlive
3636
reader.userProperties() == Array.empty()

application/src/test/groovy/javasabr/mqtt/application/network/out/Connect5OutPacketTest.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class Connect5OutPacketTest extends BaseOutPacketTest {
1313
def packet = new Connect5OutPacket(
1414
userName,
1515
"",
16-
clientId,
16+
mqtt311ClientId,
1717
userPassword,
1818
ArrayUtils.EMPTY_BYTE_ARRAY,
1919
QoS.AT_MOST_ONCE,
@@ -38,7 +38,7 @@ class Connect5OutPacketTest extends BaseOutPacketTest {
3838
then:
3939
result
4040
reader.username() == userName
41-
reader.clientId() == clientId
41+
reader.clientId() == mqtt311ClientId
4242
reader.password() == userPassword
4343
reader.keepAlive() == keepAlive
4444
reader.userProperties() == userProperties

application/src/test/groovy/javasabr/mqtt/application/network/out/ConnectAck5OutPacketTest.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class ConnectAck5OutPacketTest extends BaseOutPacketTest {
3333
clientConfig,
3434
ConnectAckReasonCode.BAD_USER_NAME_OR_PASSWORD,
3535
sessionPresent,
36-
clientId,
36+
mqtt311ClientId,
3737
requestedClientId,
3838
requestedSessionExpireInterval,
3939
requestedKeepAlive,
@@ -58,7 +58,7 @@ class ConnectAck5OutPacketTest extends BaseOutPacketTest {
5858
reader.sessionExpiryInterval == 240
5959
reader.receiveMaxPublishes == 250
6060
reader.maxPacketSize == maxPacketSize
61-
reader.assignedClientId == clientId
61+
reader.assignedClientId == mqtt311ClientId
6262
reader.topicAliasMaxValue == 300
6363
reader.reason == reasonString
6464
reader.userProperties() == userProperties

0 commit comments

Comments
 (0)