mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 00:09:51 +03:00
full coverage for api tests
This commit is contained in:
@@ -944,153 +944,149 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const
|
|||||||
ok = true;
|
ok = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (command == "api_values") {
|
if (command == "api3") {
|
||||||
shell.printfln("Testing API getting values");
|
shell.printfln("Testing API getting values from system");
|
||||||
Mqtt::ha_enabled(false);
|
|
||||||
Mqtt::nested_format(1);
|
|
||||||
// Mqtt::send_response(false);
|
|
||||||
// EMSESP::bool_format(BOOL_FORMAT_10); // BOOL_FORMAT_10_STR
|
|
||||||
EMSESP::system_.bool_format(BOOL_FORMAT_TRUEFALSE); // BOOL_FORMAT_TRUEFALSE_STR
|
EMSESP::system_.bool_format(BOOL_FORMAT_TRUEFALSE); // BOOL_FORMAT_TRUEFALSE_STR
|
||||||
|
|
||||||
test("boiler");
|
ok = true;
|
||||||
test("thermostat");
|
|
||||||
|
bool single;
|
||||||
|
|
||||||
|
// single = true;
|
||||||
|
single = false;
|
||||||
|
|
||||||
AsyncWebServerRequest request;
|
AsyncWebServerRequest request;
|
||||||
JsonDocument doc;
|
JsonDocument doc;
|
||||||
JsonVariant json;
|
JsonVariant json;
|
||||||
request.method(HTTP_GET);
|
request.method(HTTP_GET);
|
||||||
|
|
||||||
|
// load devices
|
||||||
|
test("boiler");
|
||||||
|
// test("thermostat");
|
||||||
|
|
||||||
|
if (single) {
|
||||||
|
// run dedicated tests only
|
||||||
|
EMSESP::webCustomEntityService.test(); // custom entities
|
||||||
|
EMSESP::webCustomizationService.test(); // set customizations - this will overwrite any settings in the FS
|
||||||
|
EMSESP::temperaturesensor_.test(); // add temperature sensors
|
||||||
|
EMSESP::webSchedulerService.test(); // run scheduler tests, and conditions
|
||||||
|
|
||||||
|
// request.url("/api/analogsensor/test_analog10/bad");
|
||||||
|
// EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
EMSESP::webCustomEntityService.test(); // custom entities
|
||||||
|
EMSESP::webCustomizationService.test(); // set customizations - this will overwrite any settings in the FS
|
||||||
|
EMSESP::temperaturesensor_.test(); // add temperature sensors
|
||||||
|
EMSESP::webSchedulerService.test(); // run scheduler tests, and conditions
|
||||||
|
|
||||||
|
// boiler
|
||||||
|
request.url("/api/boiler");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/boiler/commands");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
request.url("/api/boiler/values");
|
request.url("/api/boiler/values");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
request.url("/api/boiler/dhw/circ");
|
request.url("/api/boiler/info");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
request.url("/api/boiler/dhw/circ/fullname");
|
request.url("/api/boiler/entities");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
request.url("/api/boiler/selburnpow/value");
|
request.url("/api/boiler/comfort");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/boiler/comfort/value");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/boiler/comfort/fullname");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/boiler/outdoortemp");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
request.url("/api/boiler/dhw/chargetype/writeable");
|
request.url("/api/boiler/dhw/chargetype/writeable");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
request.url("/api/boiler/flamecurr/value");
|
request.url("/api/boiler/flamecurr/value");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
// This should fail
|
// custom
|
||||||
request.url("/api/boiler/flamecurr/bad");
|
request.url("/api/custom");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/custom/seltemp");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
ok = true;
|
// system
|
||||||
}
|
|
||||||
|
|
||||||
if (command == "api2") {
|
|
||||||
shell.printfln("Testing API getting values");
|
|
||||||
Mqtt::ha_enabled(false);
|
|
||||||
Mqtt::nested_format(1);
|
|
||||||
// Mqtt::send_response(false);
|
|
||||||
// EMSESP::bool_format(BOOL_FORMAT_10); // BOOL_FORMAT_10_STR
|
|
||||||
EMSESP::system_.bool_format(BOOL_FORMAT_TRUEFALSE); // BOOL_FORMAT_TRUEFALSE_STR
|
|
||||||
|
|
||||||
test("boiler");
|
|
||||||
test("thermostat");
|
|
||||||
|
|
||||||
AsyncWebServerRequest request;
|
|
||||||
JsonDocument doc;
|
|
||||||
JsonVariant json;
|
|
||||||
request.method(HTTP_GET);
|
|
||||||
|
|
||||||
request.url("/api/boiler");
|
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
|
||||||
|
|
||||||
request.url("/api/boiler/comfort");
|
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
|
||||||
|
|
||||||
shell.invoke_command("call boiler comfort");
|
|
||||||
shell.invoke_command("call boiler coldshot");
|
|
||||||
|
|
||||||
request.url("/api/boiler/values");
|
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
|
||||||
|
|
||||||
request.url("/api/boiler/flamecurr/bad");
|
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
|
||||||
|
|
||||||
shell.invoke_command("call system message test");
|
|
||||||
|
|
||||||
shell.invoke_command("call system message");
|
|
||||||
|
|
||||||
ok = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (command == "api3") {
|
|
||||||
ok = true;
|
|
||||||
shell.printfln("Testing API getting values from system");
|
|
||||||
EMSESP::system_.bool_format(BOOL_FORMAT_TRUEFALSE); // BOOL_FORMAT_TRUEFALSE_STR
|
|
||||||
|
|
||||||
test("boiler");
|
|
||||||
// test("thermostat");
|
|
||||||
|
|
||||||
EMSESP::temperaturesensor_.test(); // add temperature sensors
|
|
||||||
EMSESP::webSchedulerService.test(); // add scheduler items
|
|
||||||
|
|
||||||
AsyncWebServerRequest request;
|
|
||||||
JsonDocument doc;
|
|
||||||
JsonVariant json;
|
|
||||||
request.method(HTTP_GET);
|
|
||||||
|
|
||||||
request.url("/api/system");
|
request.url("/api/system");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
request.url("/api/boiler");
|
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
|
||||||
|
|
||||||
request.url("/api/boiler/values");
|
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
|
||||||
|
|
||||||
request.url("/api/system");
|
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
|
||||||
|
|
||||||
request.url("/api/system/settings/locale");
|
request.url("/api/system/settings/locale");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
request.url("/api/boiler/values");
|
// scheduler
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
|
||||||
|
|
||||||
request.url("/api/boiler/comfort");
|
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
|
||||||
|
|
||||||
request.url("/api/boiler/comfort/value");
|
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
|
||||||
|
|
||||||
request.url("/api/scheduler/info");
|
request.url("/api/scheduler/info");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
request.url("/api/scheduler/test_scheduler");
|
request.url("/api/scheduler/test_scheduler");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
|
// temperaturesensor
|
||||||
|
request.url("/api/temperaturesensor/test_sensor2");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/temperaturesensor/0B_0C0D_0E0F_1011");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/temperaturesensor/test_sensor2/value");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
|
// analogsensor
|
||||||
|
request.url("/api/analogsensor");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/analogsensor/test_analog1");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/analogsensor/test_analog1/offset");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
//
|
//
|
||||||
// This next batch should all fail
|
// This next batch should all fail
|
||||||
//
|
//
|
||||||
|
|
||||||
|
Serial.printf("%s**** Testing bad urls ****\n%s", COLOR_RED, COLOR_RESET);
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
|
// boiler
|
||||||
request.url("/api/boiler/bad");
|
request.url("/api/boiler/bad");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
request.url("/api/boiler/bad/value");
|
request.url("/api/boiler/bad/value");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/boiler2/bad");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/boiler/bad");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/boiler/bad/value");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/boiler/comfort/valu");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
|
// system
|
||||||
request.url("/api/system/settings/locale2");
|
request.url("/api/system/settings/locale2");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
request.url("/api/boiler2/bad");
|
// scheduler
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
|
||||||
|
|
||||||
request.url("/api/boiler/bad");
|
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
|
||||||
|
|
||||||
request.url("/api/boiler/bad/value");
|
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
|
||||||
|
|
||||||
request.url("/api/scheduler/test_scheduler2");
|
request.url("/api/scheduler/test_scheduler2");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
request.url("/api/boiler/comfort/valu");
|
// custom
|
||||||
|
request.url("/api/custom/seltemp2");
|
||||||
EMSESP::webAPIService.webAPIService(&request);
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
|
// temperaturesensor
|
||||||
|
request.url("/api/temperaturesensor/test_sensor20");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/temperaturesensor/0B_0C0D_0E0F_XXXX");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/temperaturesensor/test_sensor2/bad");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
|
||||||
|
// analogsensor
|
||||||
|
request.url("/api/analogsensor/test_analog1/bad");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/analogsensor/test_analog10");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
request.url("/api/analogsensor/test_analog10/bad");
|
||||||
|
EMSESP::webAPIService.webAPIService(&request);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (command == "mqtt_post") {
|
if (command == "mqtt_post") {
|
||||||
|
|||||||
@@ -41,15 +41,13 @@ namespace emsesp {
|
|||||||
// #define EMSESP_DEBUG_DEFAULT "310"
|
// #define EMSESP_DEBUG_DEFAULT "310"
|
||||||
// #define EMSESP_DEBUG_DEFAULT "render"
|
// #define EMSESP_DEBUG_DEFAULT "render"
|
||||||
// #define EMSESP_DEBUG_DEFAULT "api"
|
// #define EMSESP_DEBUG_DEFAULT "api"
|
||||||
// #define EMSESP_DEBUG_DEFAULT "api2"
|
#define EMSESP_DEBUG_DEFAULT "api3"
|
||||||
// #define EMSESP_DEBUG_DEFAULT "api3"
|
|
||||||
// #define EMSESP_DEBUG_DEFAULT "crash"
|
// #define EMSESP_DEBUG_DEFAULT "crash"
|
||||||
// #define EMSESP_DEBUG_DEFAULT "dv"
|
// #define EMSESP_DEBUG_DEFAULT "dv"
|
||||||
// #define EMSESP_DEBUG_DEFAULT "lastcode"
|
// #define EMSESP_DEBUG_DEFAULT "lastcode"
|
||||||
// #define EMSESP_DEBUG_DEFAULT "2thermostats"
|
// #define EMSESP_DEBUG_DEFAULT "2thermostats"
|
||||||
// #define EMSESP_DEBUG_DEFAULT "temperature"
|
// #define EMSESP_DEBUG_DEFAULT "temperature"
|
||||||
// #define EMSESP_DEBUG_DEFAULT "analog"
|
// #define EMSESP_DEBUG_DEFAULT "analog"
|
||||||
// #define EMSESP_DEBUG_DEFAULT "api_values"
|
|
||||||
// #define EMSESP_DEBUG_DEFAULT "mqtt_post"
|
// #define EMSESP_DEBUG_DEFAULT "mqtt_post"
|
||||||
// #define EMSESP_DEBUG_DEFAULT "api_wwmode"
|
// #define EMSESP_DEBUG_DEFAULT "api_wwmode"
|
||||||
// #define EMSESP_DEBUG_DEFAULT "customization"
|
// #define EMSESP_DEBUG_DEFAULT "customization"
|
||||||
|
|||||||
Reference in New Issue
Block a user