Fixed a useless test and modified MqttClient constructors

This commit is contained in:
hsaturn
2021-03-31 00:22:31 +02:00
parent b6a0dde2b1
commit e71ffefc5a
4 changed files with 17 additions and 14 deletions

1
.gitignore vendored
View File

@@ -1,4 +1,5 @@
*~ *~
src/my_credentials.h src/my_credentials.h
*.o *.o
*.swp
*.out *.out

View File

@@ -29,8 +29,8 @@ MqttClient::MqttClient(MqttBroker* parent, WiFiClient& new_client)
alive = millis()+5000; // client expires after 5s if no CONNECT msg alive = millis()+5000; // client expires after 5s if no CONNECT msg
} }
MqttClient::MqttClient(MqttBroker* parent) MqttClient::MqttClient(MqttBroker* parent, const std::string& id)
: parent(parent) : parent(parent), clientId(id)
{ {
client = nullptr; client = nullptr;

View File

@@ -120,9 +120,8 @@ class MqttClient
FlagReserved = 1 FlagReserved = 1
}; };
public: public:
MqttClient(MqttBroker*); MqttClient(MqttBroker* brk = nullptr, const std::string& id="");
MqttClient(MqttBroker* brk, const std::string& id) : MqttClient(brk) { clientId=id; } MqttClient(const std::string& id) : MqttClient(nullptr, id){}
MqttClient() : MqttClient(nullptr) {};
~MqttClient(); ~MqttClient();

View File

@@ -3,9 +3,10 @@
#include <map> #include <map>
/** /**
* TinyMqtt local unit tests. * TinyMqtt nowifi unit tests.
* *
* No wifi connection unit tests. * No wifi connection unit tests.
* Checks with a local broker. Clients must connect to the local client
**/ **/
using namespace std; using namespace std;
@@ -20,7 +21,7 @@ void onPublish(const MqttClient* srce, const Topic& topic, const char* payload,
published[srce->id()][topic]++; published[srce->id()][topic]++;
} }
test(local_client_should_unregister_when_destroyed) test(nowifi_client_should_unregister_when_destroyed)
{ {
assertEqual(broker.clientsCount(), (size_t)0); assertEqual(broker.clientsCount(), (size_t)0);
{ {
@@ -30,7 +31,7 @@ test(local_client_should_unregister_when_destroyed)
assertEqual(broker.clientsCount(), (size_t)0); assertEqual(broker.clientsCount(), (size_t)0);
} }
test(local_connect) test(nowifi_connect)
{ {
assertEqual(broker.clientsCount(), (size_t)0); assertEqual(broker.clientsCount(), (size_t)0);
@@ -39,7 +40,7 @@ test(local_connect)
assertEqual(broker.clientsCount(), (size_t)1); assertEqual(broker.clientsCount(), (size_t)1);
} }
test(local_publish_should_be_dispatched) test(nowifi_publish_should_be_dispatched)
{ {
published.clear(); published.clear();
assertEqual(broker.clientsCount(), (size_t)0); assertEqual(broker.clientsCount(), (size_t)0);
@@ -59,7 +60,7 @@ test(local_publish_should_be_dispatched)
assertTrue(published[""]["a/c"] == 2); assertTrue(published[""]["a/c"] == 2);
} }
test(local_publish_should_be_dispatched_to_local_clients) test(nowifi_publish_should_be_dispatched_to_nowifi_clients)
{ {
published.clear(); published.clear();
assertEqual(broker.clientsCount(), (size_t)0); assertEqual(broker.clientsCount(), (size_t)0);
@@ -84,7 +85,7 @@ test(local_publish_should_be_dispatched_to_local_clients)
assertTrue(published["B"]["a/c"] == 0); assertTrue(published["B"]["a/c"] == 0);
} }
test(local_unsubscribe) test(nowifi_unsubscribe)
{ {
published.clear(); published.clear();
assertEqual(broker.clientsCount(), (size_t)0); assertEqual(broker.clientsCount(), (size_t)0);
@@ -104,21 +105,23 @@ test(local_unsubscribe)
assertTrue(published[""]["a/b"] == 1); // Only one publish has been received assertTrue(published[""]["a/b"] == 1); // Only one publish has been received
} }
test(local_nocallback_when_destroyed) test(nowifi_nocallback_when_destroyed)
{ {
published.clear(); published.clear();
assertEqual(broker.clientsCount(), (size_t)0); assertEqual(broker.clientsCount(), (size_t)0);
MqttClient publisher(&broker);
{ {
MqttClient subscriber(&broker); MqttClient subscriber(&broker);
subscriber.setCallback(onPublish); subscriber.setCallback(onPublish);
subscriber.subscribe("a/b"); subscriber.subscribe("a/b");
publisher.publish("a/b");
} }
MqttClient publisher(&broker);
publisher.publish("a/b"); publisher.publish("a/b");
assertEqual(published.size(), (size_t)0); // Only one publish has been received assertEqual(published.size(), (size_t)1); // Only one publish has been received
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------