1
1
namespace HiveMQtt . Test . HiveMQClient ;
2
2
3
- using System . Text ;
4
3
using System . Threading . Tasks ;
5
4
using HiveMQtt . Client ;
6
5
using HiveMQtt . MQTT5 . ReasonCodes ;
@@ -9,6 +8,9 @@ namespace HiveMQtt.Test.HiveMQClient;
9
8
10
9
public class PublishBuilderTest
11
10
{
11
+
12
+ private readonly byte [ ] payload = { 0x01 , 0x02 , 0x03 } ;
13
+
12
14
[ Fact ]
13
15
public async Task MostBasicPublishWithQoS0Async ( )
14
16
{
@@ -18,15 +20,15 @@ public async Task MostBasicPublishWithQoS0Async()
18
20
19
21
var message = new PublishMessageBuilder ( )
20
22
. WithTopic ( "tests/MostBasicPublishWithQoS0Async" )
21
- . WithPayload ( new byte [ ] { 0x01 , 0x02 , 0x03 } )
22
- . WithQualityOfService ( MQTT5 . Types . QualityOfService . AtMostOnceDelivery )
23
+ . WithPayload ( this . payload )
24
+ . WithQualityOfService ( QualityOfService . AtMostOnceDelivery )
23
25
. Build ( ) ;
24
26
25
27
var result = await client . PublishAsync ( message ) . ConfigureAwait ( false ) ;
26
28
Assert . IsType < Client . Results . PublishResult > ( result ) ;
27
29
Assert . Null ( result . QoS1ReasonCode ) ;
28
30
Assert . Null ( result . QoS2ReasonCode ) ;
29
- Assert . Equal ( MQTT5 . Types . QualityOfService . AtMostOnceDelivery , result . Message . QoS ) ;
31
+ Assert . Equal ( QualityOfService . AtMostOnceDelivery , result . Message . QoS ) ;
30
32
31
33
var disconnectResult = await client . DisconnectAsync ( ) . ConfigureAwait ( false ) ;
32
34
Assert . True ( disconnectResult ) ;
@@ -41,14 +43,14 @@ public async Task MostBasicPublishWithQoS1Async()
41
43
42
44
var message = new PublishMessageBuilder ( )
43
45
. WithTopic ( "tests/MostBasicPublishWithQoS1Async" )
44
- . WithPayload ( new byte [ ] { 0x01 , 0x02 , 0x03 } )
45
- . WithQualityOfService ( MQTT5 . Types . QualityOfService . AtLeastOnceDelivery )
46
+ . WithPayload ( this . payload )
47
+ . WithQualityOfService ( QualityOfService . AtLeastOnceDelivery )
46
48
. Build ( ) ;
47
49
var result = await client . PublishAsync ( message ) . ConfigureAwait ( false ) ;
48
50
Assert . IsType < Client . Results . PublishResult > ( result ) ;
49
51
Assert . NotNull ( result . QoS1ReasonCode ) ;
50
52
Assert . Null ( result . QoS2ReasonCode ) ;
51
- Assert . Equal ( MQTT5 . Types . QualityOfService . AtLeastOnceDelivery , result . Message . QoS ) ;
53
+ Assert . Equal ( QualityOfService . AtLeastOnceDelivery , result . Message . QoS ) ;
52
54
53
55
var disconnectResult = await client . DisconnectAsync ( ) . ConfigureAwait ( false ) ;
54
56
Assert . True ( disconnectResult ) ;
@@ -63,14 +65,14 @@ public async Task MostBasicPublishWithQoS2Async()
63
65
64
66
var message = new PublishMessageBuilder ( )
65
67
. WithTopic ( "tests/MostBasicPublishWithQoS1Async" )
66
- . WithPayload ( new byte [ ] { 0x01 , 0x02 , 0x03 } )
67
- . WithQualityOfService ( MQTT5 . Types . QualityOfService . ExactlyOnceDelivery )
68
+ . WithPayload ( this . payload )
69
+ . WithQualityOfService ( QualityOfService . ExactlyOnceDelivery )
68
70
. Build ( ) ;
69
71
var result = await client . PublishAsync ( message ) . ConfigureAwait ( false ) ;
70
72
Assert . IsType < Client . Results . PublishResult > ( result ) ;
71
73
Assert . NotNull ( result . QoS2ReasonCode ) ;
72
74
Assert . Null ( result . QoS1ReasonCode ) ;
73
- Assert . Equal ( MQTT5 . Types . QualityOfService . ExactlyOnceDelivery , result . Message . QoS ) ;
75
+ Assert . Equal ( QualityOfService . ExactlyOnceDelivery , result . Message . QoS ) ;
74
76
75
77
var disconnectResult = await client . DisconnectAsync ( ) . ConfigureAwait ( false ) ;
76
78
Assert . True ( disconnectResult ) ;
@@ -85,8 +87,8 @@ public async Task MultiPublishWithQoS0Async()
85
87
86
88
var message = new PublishMessageBuilder ( )
87
89
. WithTopic ( "tests/MultiPublishWithQoS0Async" )
88
- . WithPayload ( new byte [ ] { 0x01 , 0x02 , 0x03 } )
89
- . WithQualityOfService ( MQTT5 . Types . QualityOfService . AtMostOnceDelivery )
90
+ . WithPayload ( this . payload )
91
+ . WithQualityOfService ( QualityOfService . AtMostOnceDelivery )
90
92
. Build ( ) ;
91
93
92
94
Client . Results . PublishResult result ;
@@ -97,7 +99,7 @@ public async Task MultiPublishWithQoS0Async()
97
99
Assert . IsType < Client . Results . PublishResult > ( result ) ;
98
100
Assert . Null ( result . QoS1ReasonCode ) ;
99
101
Assert . Null ( result . QoS2ReasonCode ) ;
100
- Assert . Equal ( MQTT5 . Types . QualityOfService . AtMostOnceDelivery , result . Message . QoS ) ;
102
+ Assert . Equal ( QualityOfService . AtMostOnceDelivery , result . Message . QoS ) ;
101
103
}
102
104
103
105
var disconnectResult = await client . DisconnectAsync ( ) . ConfigureAwait ( false ) ;
@@ -113,8 +115,8 @@ public async Task MultiPublishWithQoS1Async()
113
115
114
116
var message = new PublishMessageBuilder ( )
115
117
. WithTopic ( "tests/MultiPublishWithQoS1Async" )
116
- . WithPayload ( new byte [ ] { 0x01 , 0x02 , 0x03 } )
117
- . WithQualityOfService ( MQTT5 . Types . QualityOfService . AtLeastOnceDelivery )
118
+ . WithPayload ( this . payload )
119
+ . WithQualityOfService ( QualityOfService . AtLeastOnceDelivery )
118
120
. Build ( ) ;
119
121
Client . Results . PublishResult result ;
120
122
@@ -139,8 +141,8 @@ public async Task MultiPublishWithQoS2Async()
139
141
140
142
var message = new PublishMessageBuilder ( )
141
143
. WithTopic ( "tests/MultiPublishWithQoS2Async" )
142
- . WithPayload ( new byte [ ] { 0x01 , 0x02 , 0x03 } )
143
- . WithQualityOfService ( MQTT5 . Types . QualityOfService . ExactlyOnceDelivery )
144
+ . WithPayload ( this . payload )
145
+ . WithQualityOfService ( QualityOfService . ExactlyOnceDelivery )
144
146
. Build ( ) ;
145
147
Client . Results . PublishResult result ;
146
148
@@ -164,8 +166,8 @@ public async Task PublishWithOptionsAsync()
164
166
165
167
var message = new PublishMessageBuilder ( )
166
168
. WithTopic ( "tests/PublishWithOptionsAsync" )
167
- . WithPayload ( new byte [ ] { 0x01 , 0x02 , 0x03 } )
168
- . WithQualityOfService ( MQTT5 . Types . QualityOfService . AtMostOnceDelivery )
169
+ . WithPayload ( this . payload )
170
+ . WithQualityOfService ( QualityOfService . AtMostOnceDelivery )
169
171
. WithUserProperty ( "test" , "test" )
170
172
. Build ( ) ;
171
173
@@ -189,8 +191,8 @@ public async Task PublishPayloadFormatIndicatorAsync()
189
191
190
192
var message = new PublishMessageBuilder ( )
191
193
. WithTopic ( "tests/PublishPayloadFormatIndicatorAsync" )
192
- . WithPayload ( new byte [ ] { 0x01 , 0x02 , 0x03 } )
193
- . WithQualityOfService ( MQTT5 . Types . QualityOfService . AtMostOnceDelivery )
194
+ . WithPayload ( this . payload )
195
+ . WithQualityOfService ( QualityOfService . AtMostOnceDelivery )
194
196
. WithPayloadFormatIndicator ( MQTT5PayloadFormatIndicator . UTF8Encoded )
195
197
. Build ( ) ;
196
198
0 commit comments