add Unity unit tests

This commit is contained in:
proddy
2024-08-03 13:22:24 +02:00
parent 8f91394c75
commit 5050d11555
6 changed files with 688 additions and 200 deletions

View File

@@ -1541,9 +1541,16 @@ bool System::command_info(const char * value, const int8_t id, JsonObject output
}
// API Status
node = output["api"].to<JsonObject>();
node = output["api"].to<JsonObject>();
// if we're generating test data for Unit Tests we dont want to count these API calls as it will pollute the data response
#if defined(UNITY_INCLUDE_CONFIG_H)
node["APICalls"] = 0;
node["APIFails"] = 0;
#else
node["APICalls"] = WebAPIService::api_count();
node["APIFails"] = WebAPIService::api_fails();
#endif
// EMS Bus Status
node = output["bus"].to<JsonObject>();
@@ -1611,8 +1618,12 @@ bool System::command_info(const char * value, const int8_t id, JsonObject output
node["analogEnabled"] = settings.analog_enabled;
node["telnetEnabled"] = settings.telnet_enabled;
node["maxWebLogBuffer"] = settings.weblog_buffer;
node["webLogBuffer"] = EMSESP::webLogService.num_log_messages();
node["modbusEnabled"] = settings.modbus_enabled;
#if defined(UNITY_INCLUDE_CONFIG_H)
node["webLogBuffer"] = 0;
#else
node["webLogBuffer"] = EMSESP::webLogService.num_log_messages();
#endif
node["modbusEnabled"] = settings.modbus_enabled;
});
// Devices - show EMS devices if we have any

View File

@@ -1209,117 +1209,6 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const
test("boiler");
test("thermostat");
AsyncWebServerRequest requestX;
JsonDocument docX;
JsonVariant jsonX;
requestX.method(HTTP_GET);
/*
requestX.url("/api"); // should fail
EMSESP::webAPIService.webAPIService(&requestX);
return;
*/
/*
requestX.url("/api/thermostat/seltemp");
EMSESP::webAPIService.webAPIService(&requestX);
return;
*/
/*
requestX.url("/api/thermostat/mode/auto");
EMSESP::webAPIService.webAPIService(&requestX);
return;
*/
/*
requestX.url("/api/thermostat"); // check if defaults to info
EMSESP::webAPIService.webAPIService(&requestX);
requestX.url("/api/thermostat/info");
EMSESP::webAPIService.webAPIService(&requestX);
requestX.url("/api/thermostat/values");
EMSESP::webAPIService.webAPIService(&requestX);
return;
requestX.url("/api/thermostat/mode");
EMSESP::webAPIService.webAPIService(&requestX);
return;
*/
/*
requestX.url("/api/system"); // check if defaults to info
EMSESP::webAPIService.webAPIService(&requestX);
emsesp::EMSESP::logger().notice("*");
requestX.url("/api/system/info");
EMSESP::webAPIService.webAPIService(&requestX);
emsesp::EMSESP::logger().notice("*");
requestX.url("/api/thermostat"); // check if defaults to values
EMSESP::webAPIService.webAPIService(&requestX);
emsesp::EMSESP::logger().notice("*");
requestX.url("/api/thermostat/info");
EMSESP::webAPIService.webAPIService(&requestX);
emsesp::EMSESP::logger().notice("*");
requestX.url("/api/thermostat/seltemp");
EMSESP::webAPIService.webAPIService(&requestX);
return;
*/
/*
requestX.url("/api/system/restart");
EMSESP::webAPIService.webAPIService(&requestX);
return;
*/
/*
requestX.url("/api/temperaturesensor/xxxx");
EMSESP::webAPIService.webAPIService(&requestX);
emsesp::EMSESP::logger().notice("****");
requestX.url("/api/temperaturesensor/info");
EMSESP::webAPIService.webAPIService(&requestX);
return;
*/
/*
requestX.url("/api"); // should fail
EMSESP::webAPIService.webAPIService(&requestX);
*/
requestX.method(HTTP_POST);
/*
char dataX[] = "{\"device\":\"system\", \"entity\":\"settings\"}";
deserializeJson(docX, dataX);
jsonX = docX.as<JsonVariant>();
requestX.url("/api");
EMSESP::webAPIService.webAPIService(&requestX, jsonX);
return;
*/
/*
// char dataX[] = "{\"value\":\"0B 88 19 19 02\"}";
char dataX[] = "{\"name\":\"temp\",\"value\":11}";
deserializeJson(docX, dataX);
jsonX = docX.as<JsonVariant>();
// requestX.url("/api/system/send");
requestX.url("/api/thermostat");
EMSESP::webAPIService.webAPIService(&requestX, jsonX);
return;
*/
/*
char dataX[] = "{}";
deserializeJson(docX, dataX);
jsonX = docX.as<JsonVariant>();
requestX.url("/api/thermostat/mode/auto"); // should fail
EMSESP::webAPIService.webAPIService(&requestX, jsonX);
return;
*/
// test command parse
int8_t id_n;
const char * ncmd;
@@ -1379,7 +1268,6 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const
// Web API TESTS
AsyncWebServerRequest request;
request.method(HTTP_GET);
request.url("/api/thermostat"); // check if defaults to info

View File

@@ -41,7 +41,7 @@ namespace emsesp {
// #define EMSESP_DEBUG_DEFAULT "310"
// #define EMSESP_DEBUG_DEFAULT "render"
// #define EMSESP_DEBUG_DEFAULT "api"
#define EMSESP_DEBUG_DEFAULT "api3"
// #define EMSESP_DEBUG_DEFAULT "api3"
// #define EMSESP_DEBUG_DEFAULT "crash"
// #define EMSESP_DEBUG_DEFAULT "dv"
// #define EMSESP_DEBUG_DEFAULT "lastcode"