Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
paho.mqtt.c
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
eclipse
paho.mqtt.c
Commits
00ae8572
Commit
00ae8572
authored
Jun 18, 2018
by
Ian Craggs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Finish off topic alias tests
parent
75dc28dc
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
114 additions
and
19 deletions
+114
-19
CMakeLists.txt
test/CMakeLists.txt
+12
-0
test11.c
test/test11.c
+102
-19
No files found.
test/CMakeLists.txt
View file @
00ae8572
...
...
@@ -579,8 +579,14 @@ ADD_TEST(
COMMAND
"test10"
"--test_no"
"1"
"--connection"
${
MQTT_TEST_BROKER
}
"--proxy_connection"
${
MQTT_TEST_PROXY
}
)
ADD_TEST
(
NAME test10-2-server_topic_aliases
COMMAND
"test10"
"--test_no"
"2"
"--connection"
${
MQTT_TEST_BROKER
}
"--proxy_connection"
${
MQTT_TEST_PROXY
}
)
SET_TESTS_PROPERTIES
(
test10-1-client_topic_aliases
test10-2-server_topic_aliases
PROPERTIES TIMEOUT 540
)
...
...
@@ -599,8 +605,14 @@ ADD_TEST(
COMMAND
"test11"
"--test_no"
"1"
"--connection"
${
MQTT_TEST_BROKER
}
"--proxy_connection"
${
MQTT_TEST_PROXY
}
)
ADD_TEST
(
NAME test11-2-server_topic_aliases
COMMAND
"test11"
"--test_no"
"2"
"--connection"
${
MQTT_TEST_BROKER
}
"--proxy_connection"
${
MQTT_TEST_PROXY
}
)
SET_TESTS_PROPERTIES
(
test11-1-client_topic_aliases
test11-2-server_topic_aliases
PROPERTIES TIMEOUT 540
)
...
...
test/test11.c
View file @
00ae8572
...
...
@@ -308,13 +308,30 @@ void test1_onDisconnect(void* context, MQTTAsync_successData* response)
}
int
test
1
_messageArrived
(
void
*
context
,
char
*
topicName
,
int
topicLen
,
MQTTAsync_message
*
message
)
int
test
_client_topic_aliases
_messageArrived
(
void
*
context
,
char
*
topicName
,
int
topicLen
,
MQTTAsync_message
*
message
)
{
MQTTAsync
c
=
(
MQTTAsync
)
context
;
static
int
message_count
=
0
;
static
int
received
=
0
;
int
rc
;
MyLog
(
LOGA_DEBUG
,
"In messageArrived callback %p"
,
c
);
received
++
;
assert
(
"Message structure version should be 1"
,
message
->
struct_version
==
1
,
"message->struct_version was %d"
,
message
->
struct_version
);
if
(
message
->
struct_version
==
1
)
{
const
int
props_count
=
0
;
assert
(
"No topic alias"
,
MQTTProperties_hasProperty
(
&
message
->
properties
,
TOPIC_ALIAS
)
==
0
,
"topic alias is %d
\n
"
,
MQTTProperties_hasProperty
(
&
message
->
properties
,
TOPIC_ALIAS
));
assert
(
"Topic should be name"
,
strcmp
(
topicName
,
test_client_topic_aliases_globals
.
test_topic
)
==
0
,
"Topic name was %s
\n
"
,
topicName
);
logProperties
(
&
message
->
properties
);
}
if
(
received
==
2
)
test_client_topic_aliases_globals
.
test_finished
=
1
;
MQTTAsync_freeMessage
(
&
message
);
MQTTAsync_free
(
topicName
);
...
...
@@ -323,6 +340,43 @@ int test1_messageArrived(void* context, char* topicName, int topicLen, MQTTAsync
}
void
test_client_topic_aliases_onSubscribe
(
void
*
context
,
MQTTAsync_successData5
*
response
)
{
MQTTAsync
c
=
(
MQTTAsync
)
context
;
MQTTAsync_responseOptions
opts
=
MQTTAsync_responseOptions_initializer
;
MQTTProperty
property
;
MQTTAsync_message
pubmsg
=
MQTTAsync_message_initializer
;
int
qos
,
rc
;
MyLog
(
LOGA_INFO
,
"Suback properties:"
);
logProperties
(
&
response
->
props
);
pubmsg
.
payload
=
"a much longer message that we can shorten to the extent that we need to payload up to 11"
;
pubmsg
.
payloadlen
=
11
;
pubmsg
.
retained
=
0
;
pubmsg
.
qos
=
1
;
/* first set the topic alias */
property
.
identifier
=
TOPIC_ALIAS
;
property
.
value
.
integer2
=
1
;
MQTTProperties_add
(
&
pubmsg
.
properties
,
&
property
);
rc
=
MQTTAsync_sendMessage
(
c
,
test_client_topic_aliases_globals
.
test_topic
,
&
pubmsg
,
&
opts
);
assert
(
"Good rc from send"
,
rc
==
MQTTASYNC_SUCCESS
,
"rc was %d"
,
rc
);
if
(
rc
!=
MQTTASYNC_SUCCESS
)
test_client_topic_aliases_globals
.
test_finished
=
1
;
else
{
/* now send the publish with topic alias only */
rc
=
MQTTAsync_sendMessage
(
c
,
""
,
&
pubmsg
,
&
opts
);
assert
(
"Good rc from send"
,
rc
==
MQTTASYNC_SUCCESS
,
"rc was %d"
,
rc
);
if
(
rc
!=
MQTTASYNC_SUCCESS
)
test_client_topic_aliases_globals
.
test_finished
=
1
;
}
MQTTProperties_free
(
&
pubmsg
.
properties
);
}
void
test_client_topic_aliases_disconnected
(
void
*
context
,
MQTTProperties
*
props
,
enum
MQTTReasonCodes
rc
)
{
MQTTAsync
c
=
(
MQTTAsync
)
context
;
...
...
@@ -339,6 +393,7 @@ void test_client_topic_aliases_onConnect(void* context, MQTTAsync_successData5*
MQTTProperty
property
;
MQTTAsync_message
pubmsg
=
MQTTAsync_message_initializer
;
int
rc
;
static
int
first
=
1
;
MyLog
(
LOGA_DEBUG
,
"In connect onSuccess callback, context %p"
,
context
);
...
...
@@ -348,21 +403,35 @@ void test_client_topic_aliases_onConnect(void* context, MQTTAsync_successData5*
MyLog
(
LOGA_INFO
,
"Connack properties:"
);
logProperties
(
&
response
->
props
);
pubmsg
.
payload
=
"a much longer message that we can shorten to the extent that we need to payload up to 11"
;
pubmsg
.
payloadlen
=
11
;
pubmsg
.
qos
=
1
;
pubmsg
.
retained
=
0
;
/* a Topic Alias of 0 is not allowed, so we should be disconnected */
property
.
identifier
=
TOPIC_ALIAS
;
property
.
value
.
integer2
=
0
;
MQTTProperties_add
(
&
pubmsg
.
properties
,
&
property
);
if
(
first
)
{
first
=
0
;
pubmsg
.
payload
=
"a much longer message that we can shorten to the extent that we need to payload up to 11"
;
pubmsg
.
payloadlen
=
11
;
pubmsg
.
qos
=
1
;
pubmsg
.
retained
=
0
;
/* a Topic Alias of 0 is not allowed, so we should be disconnected */
property
.
identifier
=
TOPIC_ALIAS
;
property
.
value
.
integer2
=
0
;
MQTTProperties_add
(
&
pubmsg
.
properties
,
&
property
);
rc
=
MQTTAsync_sendMessage
(
c
,
test_client_topic_aliases_globals
.
test_topic
,
&
pubmsg
,
&
opts
);
assert
(
"Good rc from connect"
,
rc
==
MQTTASYNC_SUCCESS
,
"rc was %d"
,
rc
);
if
(
rc
!=
MQTTASYNC_SUCCESS
)
test_client_topic_aliases_globals
.
test_finished
=
1
;
MQTTProperties_free
(
&
pubmsg
.
properties
);
}
else
{
opts
.
onSuccess5
=
test_client_topic_aliases_onSubscribe
;
opts
.
context
=
c
;
rc
=
MQTTAsync_subscribe
(
c
,
test_client_topic_aliases_globals
.
test_topic
,
2
,
&
opts
);
assert
(
"Good rc from subscribe"
,
rc
==
MQTTASYNC_SUCCESS
,
"rc was %d"
,
rc
);
if
(
rc
!=
MQTTASYNC_SUCCESS
)
test_client_topic_aliases_globals
.
test_finished
=
1
;
rc
=
MQTTAsync_sendMessage
(
c
,
test_client_topic_aliases_globals
.
test_topic
,
&
pubmsg
,
&
opts
);
assert
(
"Good rc from connect"
,
rc
==
MQTTASYNC_SUCCESS
,
"rc was %d"
,
rc
);
if
(
rc
!=
MQTTASYNC_SUCCESS
)
test_client_topic_aliases_globals
.
test_finished
=
1
;
MQTTProperties_free
(
&
pubmsg
.
properties
);
}
}
...
...
@@ -396,7 +465,7 @@ int test_client_topic_aliases(struct Options options)
goto
exit
;
}
rc
=
MQTTAsync_setCallbacks
(
c
,
c
,
NULL
,
test
1
_messageArrived
,
NULL
);
rc
=
MQTTAsync_setCallbacks
(
c
,
c
,
NULL
,
test
_client_topic_aliases
_messageArrived
,
NULL
);
assert
(
"Good rc from setCallbacks"
,
rc
==
MQTTASYNC_SUCCESS
,
"rc was %d"
,
rc
);
rc
=
MQTTAsync_setDisconnected
(
c
,
c
,
test_client_topic_aliases_disconnected
);
...
...
@@ -405,6 +474,7 @@ int test_client_topic_aliases(struct Options options)
opts
.
username
=
"testuser"
;
opts
.
password
=
"testpassword"
;
opts
.
MQTTVersion
=
options
.
MQTTVersion
;
opts
.
cleanstart
=
1
;
opts
.
will
=
&
wopts
;
opts
.
will
->
message
=
"will message"
;
...
...
@@ -443,6 +513,19 @@ int test_client_topic_aliases(struct Options options)
usleep
(
10000L
);
#endif
/* Now try a valid topic alias */
rc
=
MQTTAsync_connect
(
c
,
&
opts
);
assert
(
"Good rc from connect"
,
rc
==
MQTTASYNC_SUCCESS
,
"rc was %d"
,
rc
);
if
(
rc
!=
MQTTASYNC_SUCCESS
)
goto
exit
;
while
(
test_client_topic_aliases_globals
.
test_finished
==
0
)
#if defined(WIN32)
Sleep
(
100
);
#else
usleep
(
10000L
);
#endif
MQTTProperties_free
(
&
props
);
MQTTProperties_free
(
&
willProps
);
MQTTAsync_destroy
(
&
c
);
...
...
@@ -563,7 +646,7 @@ void test_server_topic_aliases_onConnect(void* context, MQTTAsync_successData5*
rc
=
MQTTAsync_subscribe
(
c
,
test_server_topic_aliases_globals
.
test_topic
,
2
,
&
opts
);
assert
(
"Good rc from subscribe"
,
rc
==
MQTTASYNC_SUCCESS
,
"rc was %d"
,
rc
);
if
(
rc
!=
MQTTASYNC_SUCCESS
)
test_
client
_topic_aliases_globals
.
test_finished
=
1
;
test_
server
_topic_aliases_globals
.
test_finished
=
1
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment