Mock WifiClient/Server classes and tests
parent
53a6726d84
commit
2a6dd718f7
|
@ -1,14 +1,22 @@
|
|||
#pragma once
|
||||
#include "WiFiServer.h"
|
||||
#include "RequestRouter.h"
|
||||
#include "RouteDispatcher.h"
|
||||
|
||||
class WebKernel
|
||||
{
|
||||
public:
|
||||
WebKernel(uint16_t port):
|
||||
_server(port)
|
||||
WebKernel(uint16_t port, Route* routes, uint8_t num):
|
||||
_server(port),
|
||||
_router(routes, num)
|
||||
{};
|
||||
WiFiServer getServer() { return _server; }
|
||||
void begin() { _server.begin(); }
|
||||
|
||||
#ifdef _TEST_
|
||||
void mock_nextClient(const char * next) { _server._next = next; }
|
||||
#endif
|
||||
|
||||
protected:
|
||||
WiFiServer _server;
|
||||
RequestRouter _router;
|
||||
};
|
||||
|
|
|
@ -10,12 +10,14 @@ class WiFiClient : public Stream
|
|||
WiFiClient(const char * content): buffer(_buff, WIFICLIENT_BUFFER), _status(1) {
|
||||
buffer.write(content);
|
||||
}
|
||||
WiFiClient(): buffer(_buff, WIFICLIENT_BUFFER), _status(1) {}
|
||||
WiFiClient(): buffer(_buff, WIFICLIENT_BUFFER), _status(0) {}
|
||||
|
||||
uint8_t _status;
|
||||
|
||||
void stop() { _status=0; }
|
||||
uint8_t connected() { return _status; }
|
||||
const uint8_t connected() const { return _status; }
|
||||
|
||||
operator bool() const { return connected(); }
|
||||
|
||||
int available() { return buffer.available(); }
|
||||
int read() { return buffer.read(); }
|
||||
|
|
|
@ -6,11 +6,12 @@ class WiFiServer
|
|||
public:
|
||||
WiFiServer(uint16_t port) : port(port) {}
|
||||
WiFiClient available() {
|
||||
if (!_next) return nullptr;
|
||||
if (!_next) return WiFiClient();
|
||||
const char * client = _next;
|
||||
_next = nullptr;
|
||||
return WiFiClient(client);
|
||||
}
|
||||
};
|
||||
void begin() {};
|
||||
|
||||
uint16_t port;
|
||||
const char * _next;
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
#include "catch.hpp"
|
||||
#include "WebKernel.h"
|
||||
|
||||
TEST_CASE("Test getServer","[WebKernel]")
|
||||
{
|
||||
WebKernel kernel(80);
|
||||
kernel.getServer();
|
||||
}
|
|
@ -3,11 +3,27 @@
|
|||
|
||||
TEST_CASE("Test WiFiClient","[WiFiClient]")
|
||||
{
|
||||
WiFiClient client;
|
||||
CHECK(client.available() == 0);
|
||||
CHECK(client.availableForWrite() == WIFICLIENT_BUFFER);
|
||||
WiFiClient client("Foo");
|
||||
CHECK(client.available() == 3);
|
||||
CHECK(client.availableForWrite() == WIFICLIENT_BUFFER - 3);
|
||||
CHECK(client.connected());
|
||||
|
||||
client.stop();
|
||||
CHECK(!client.connected());
|
||||
}
|
||||
|
||||
TEST_CASE("Test empty WiFiClient","[WiFiClient]")
|
||||
{
|
||||
WiFiClient client;
|
||||
CHECK(!client.connected());
|
||||
CHECK(client.available() == 0);
|
||||
}
|
||||
|
||||
TEST_CASE("Test bool operator","[WiFiClient]")
|
||||
{
|
||||
WiFiClient client;
|
||||
CHECK(!client);
|
||||
|
||||
WiFiClient client2("Foo");
|
||||
CHECK(client2);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
#include "catch.hpp"
|
||||
#include "WiFiServer.h"
|
||||
|
||||
TEST_CASE("Test next","[WiFiServer]")
|
||||
{
|
||||
WiFiServer server(80);
|
||||
CHECK(server.port == 80);
|
||||
}
|
Loading…
Reference in New Issue