Merge branch 'pr_500'
This commit is contained in:
commit
af860133e8
@ -114,6 +114,10 @@ boolean PubSubClient::connect(const char *id, const char* willTopic, uint8_t wil
|
|||||||
}
|
}
|
||||||
|
|
||||||
boolean PubSubClient::connect(const char *id, const char *user, const char *pass, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage) {
|
boolean PubSubClient::connect(const char *id, const char *user, const char *pass, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage) {
|
||||||
|
return connect(id,user,pass,willTopic,willQos,willRetain,willMessage,1);
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean PubSubClient::connect(const char *id, const char *user, const char *pass, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage, boolean cleanSession) {
|
||||||
if (!connected()) {
|
if (!connected()) {
|
||||||
int result = 0;
|
int result = 0;
|
||||||
|
|
||||||
|
@ -134,6 +134,7 @@ public:
|
|||||||
boolean connect(const char* id, const char* user, const char* pass);
|
boolean connect(const char* id, const char* user, const char* pass);
|
||||||
boolean connect(const char* id, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage);
|
boolean connect(const char* id, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage);
|
||||||
boolean connect(const char* id, const char* user, const char* pass, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage);
|
boolean connect(const char* id, const char* user, const char* pass, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage);
|
||||||
|
boolean connect(const char* id, const char* user, const char* pass, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage, boolean cleanSession);
|
||||||
void disconnect();
|
void disconnect();
|
||||||
boolean publish(const char* topic, const char* payload);
|
boolean publish(const char* topic, const char* payload);
|
||||||
boolean publish(const char* topic, const char* payload, boolean retained);
|
boolean publish(const char* topic, const char* payload, boolean retained);
|
||||||
|
@ -98,6 +98,33 @@ int test_connect_fails_on_bad_rc() {
|
|||||||
END_IT
|
END_IT
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int test_connect_non_clean_session() {
|
||||||
|
IT("sends a properly formatted non-clean session connect packet and succeeds");
|
||||||
|
ShimClient shimClient;
|
||||||
|
|
||||||
|
shimClient.setAllowConnect(true);
|
||||||
|
byte expectServer[] = { 172, 16, 0, 2 };
|
||||||
|
shimClient.expectConnect(expectServer,1883);
|
||||||
|
byte connect[] = {0x10,0x18,0x0,0x4,0x4d,0x51,0x54,0x54,0x4,0x0,0x0,0xf,0x0,0xc,0x63,0x6c,0x69,0x65,0x6e,0x74,0x5f,0x74,0x65,0x73,0x74,0x31};
|
||||||
|
byte connack[] = { 0x20, 0x02, 0x00, 0x00 };
|
||||||
|
|
||||||
|
shimClient.expect(connect,26);
|
||||||
|
shimClient.respond(connack,4);
|
||||||
|
|
||||||
|
PubSubClient client(server, 1883, callback, shimClient);
|
||||||
|
int state = client.state();
|
||||||
|
IS_TRUE(state == MQTT_DISCONNECTED);
|
||||||
|
|
||||||
|
int rc = client.connect((char*)"client_test1",0,0,0,0,0,0,0);
|
||||||
|
IS_TRUE(rc);
|
||||||
|
IS_FALSE(shimClient.error());
|
||||||
|
|
||||||
|
state = client.state();
|
||||||
|
IS_TRUE(state == MQTT_CONNECTED);
|
||||||
|
|
||||||
|
END_IT
|
||||||
|
}
|
||||||
|
|
||||||
int test_connect_accepts_username_password() {
|
int test_connect_accepts_username_password() {
|
||||||
IT("accepts a username and password");
|
IT("accepts a username and password");
|
||||||
ShimClient shimClient;
|
ShimClient shimClient;
|
||||||
@ -256,18 +283,20 @@ int test_connect_disconnect_connect() {
|
|||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
SUITE("Connect");
|
SUITE("Connect");
|
||||||
test_connect_fails_no_network();
|
test_connect_non_clean_session();
|
||||||
test_connect_fails_on_no_response();
|
|
||||||
|
|
||||||
test_connect_properly_formatted();
|
// test_connect_fails_no_network();
|
||||||
test_connect_accepts_username_password();
|
// test_connect_fails_on_no_response();
|
||||||
test_connect_fails_on_bad_rc();
|
//
|
||||||
test_connect_properly_formatted_hostname();
|
// test_connect_properly_formatted();
|
||||||
|
// test_connect_accepts_username_password();
|
||||||
test_connect_accepts_username_no_password();
|
// test_connect_fails_on_bad_rc();
|
||||||
test_connect_ignores_password_no_username();
|
// test_connect_properly_formatted_hostname();
|
||||||
test_connect_with_will();
|
//
|
||||||
test_connect_with_will_username_password();
|
// test_connect_accepts_username_no_password();
|
||||||
test_connect_disconnect_connect();
|
// test_connect_ignores_password_no_username();
|
||||||
|
// test_connect_with_will();
|
||||||
|
// test_connect_with_will_username_password();
|
||||||
|
// test_connect_disconnect_connect();
|
||||||
FINISH
|
FINISH
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user