mirror of
https://github.com/openshwprojects/OpenBK7231T_App.git
synced 2026-02-05 10:45:28 +00:00
split selfttest http led, add more tests
This commit is contained in:
@ -968,6 +968,7 @@
|
||||
<ClCompile Include="src\selftest\selftest_flashSearch.c" />
|
||||
<ClCompile Include="src\selftest\selftest_hass_discovery_base.c" />
|
||||
<ClCompile Include="src\selftest\selftest_hass_discovery_ext.c" />
|
||||
<ClCompile Include="src\selftest\selftest_http_led.c" />
|
||||
<ClCompile Include="src\selftest\selftest_if_inside_backlog.c" />
|
||||
<ClCompile Include="src\selftest\selftest_json_lib.c" />
|
||||
<ClCompile Include="src\selftest\selftest_mqtt_get.c" />
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -803,308 +803,10 @@ bool SIM_HasHTTPDimmer() {
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Test_Http_LED_SingleChannel() {
|
||||
|
||||
SIM_ClearOBK(0);
|
||||
// Setup single PWM Device
|
||||
PIN_SetPinRoleForPinIndex(24, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(24, 1);
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 1", 0);
|
||||
CMD_ExecuteCommand("led_dimmer 100", 0);
|
||||
|
||||
// HTML page must contains dimmer, but no RGB and no temeprature controls
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_DIMMER(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_TEMPERATURE(false);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_RGB(false);
|
||||
// the green button is on the page
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_ON(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_OFF(false);
|
||||
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 0", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
|
||||
|
||||
// HTML page must contains dimmer, but no RGB and no temeprature controls
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_DIMMER(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_TEMPERATURE(false);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_RGB(false);
|
||||
// the red button is on the page
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_ON(false);
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_OFF(true);
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_dimmer 61", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 1", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
|
||||
|
||||
|
||||
}
|
||||
void Test_Http_LED_CW() {
|
||||
|
||||
SIM_ClearOBK(0);
|
||||
PIN_SetPinRoleForPinIndex(24, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(24, 1);
|
||||
|
||||
PIN_SetPinRoleForPinIndex(26, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(26, 2);
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 1", 0);
|
||||
CMD_ExecuteCommand("led_dimmer 100", 0);
|
||||
CMD_ExecuteCommand("led_temperature 153", 0);
|
||||
|
||||
SELFTEST_ASSERT_CHANNEL(1, 100);
|
||||
SELFTEST_ASSERT_CHANNEL(2, 0);
|
||||
|
||||
|
||||
// HTML page must contains dimmer and temperature control
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_DIMMER(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_TEMPERATURE(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_RGB(false);
|
||||
// the green button is on the page
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_ON(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_OFF(false);
|
||||
|
||||
|
||||
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 153);
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 0", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 153);
|
||||
|
||||
CMD_ExecuteCommand("led_dimmer 61", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 153);
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 1", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 153);
|
||||
|
||||
CMD_ExecuteCommand("led_temperature 500", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 500);
|
||||
|
||||
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("led_dimmer", "100");
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 500);
|
||||
}
|
||||
void Test_Http_LED_RGB() {
|
||||
|
||||
SIM_ClearOBK(0);
|
||||
PIN_SetPinRoleForPinIndex(24, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(24, 1);
|
||||
|
||||
PIN_SetPinRoleForPinIndex(26, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(26, 2);
|
||||
|
||||
PIN_SetPinRoleForPinIndex(9, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(9, 3);
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 1", 0);
|
||||
CMD_ExecuteCommand("led_dimmer 100", 0);
|
||||
CMD_ExecuteCommand("led_basecolor_rgb FF0000", 0);
|
||||
|
||||
SELFTEST_ASSERT_CHANNEL(1, 100);
|
||||
SELFTEST_ASSERT_CHANNEL(2, 0);
|
||||
SELFTEST_ASSERT_CHANNEL(3, 0);
|
||||
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "255,0,0");
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_basecolor_rgb FFFF00", 0);
|
||||
|
||||
SELFTEST_ASSERT_CHANNEL(1, 100);
|
||||
SELFTEST_ASSERT_CHANNEL(2, 100);
|
||||
SELFTEST_ASSERT_CHANNEL(3, 0);
|
||||
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "255,255,0");
|
||||
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
CMD_ExecuteCommand("led_dimmer 50", 0);
|
||||
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 50);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "55,55,0");
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_basecolor_rgb 0000FF", 0);
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 50);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,0,55");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
CMD_ExecuteCommand("led_dimmer 100", 0);
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,0,255");
|
||||
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("POWER", "OFF");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,0,0");
|
||||
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("POWER", "1");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,0,255");
|
||||
|
||||
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("led_dimmer", "50");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 50);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,0,55");
|
||||
|
||||
// dimmer back to 100
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("led_dimmer", "100");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,0,255");
|
||||
|
||||
// check Tasmota HSBColor
|
||||
/*
|
||||
NOTE:
|
||||
HTTP Request: http://192.168.0.153/cm?cmnd=HSBColor%200,100,100
|
||||
Return value: {"POWER":"ON","Dimmer":100,"Color":"FF00000000","HSBColor":"0,100,100","White":0,"CT":479,"Channel":[100,0,0,0,0]}
|
||||
|
||||
*/
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("HSBColor", "0,100,100");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "255,0,0");
|
||||
// check Tasmota HSBColor
|
||||
/*
|
||||
NOTE:
|
||||
HTTP Request: http://192.168.0.153/cm?cmnd=HSBColor%2090,100,100
|
||||
Return value: {"POWER":"ON","Dimmer":100,"Color":"7FFF000000","HSBColor":"90,100,100","White":0,"CT":479,"Channel":[50,100,0,0,0]}
|
||||
|
||||
*/
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("HSBColor", "90,100,100");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "127,255,0");
|
||||
// check Tasmota HSBColor
|
||||
/*
|
||||
NOTE:
|
||||
HTTP Request: http://192.168.0.153/cm?cmnd=HSBColor%20180,100,100
|
||||
Return value: {"POWER":"ON","Dimmer":100,"Color":"00FFFF0000","HSBColor":"180,100,100","White":0,"CT":479,"Channel":[0,100,100,0,0]}
|
||||
*/
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("HSBColor", "180,100,100");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,255,255");
|
||||
|
||||
/*
|
||||
CMD_ExecuteCommand("led_enableAll 0", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Color", "255,0,0");
|
||||
|
||||
CMD_ExecuteCommand("led_dimmer 61", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 153);
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 1", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 153);
|
||||
|
||||
CMD_ExecuteCommand("led_temperature 500", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 500);
|
||||
*/
|
||||
|
||||
}
|
||||
void Test_Http() {
|
||||
Test_Http_SingleRelayOnChannel1();
|
||||
Test_Http_TwoRelays();
|
||||
Test_Http_FourRelays();
|
||||
|
||||
|
||||
Test_Http_LED_SingleChannel();
|
||||
Test_Http_LED_CW();
|
||||
Test_Http_LED_RGB();
|
||||
}
|
||||
|
||||
|
||||
|
||||
418
src/selftest/selftest_http_led.c
Normal file
418
src/selftest/selftest_http_led.c
Normal file
@ -0,0 +1,418 @@
|
||||
#ifdef WINDOWS
|
||||
|
||||
#include "selftest_local.h"
|
||||
#include "../httpserver/new_http.h"
|
||||
|
||||
|
||||
void Test_Http_LED_CW() {
|
||||
|
||||
SIM_ClearOBK(0);
|
||||
PIN_SetPinRoleForPinIndex(24, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(24, 1);
|
||||
|
||||
PIN_SetPinRoleForPinIndex(26, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(26, 2);
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 1", 0);
|
||||
CMD_ExecuteCommand("led_dimmer 100", 0);
|
||||
CMD_ExecuteCommand("led_temperature 153", 0);
|
||||
|
||||
SELFTEST_ASSERT_CHANNEL(1, 100);
|
||||
SELFTEST_ASSERT_CHANNEL(2, 0);
|
||||
|
||||
|
||||
// HTML page must contains dimmer and temperature control
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_DIMMER(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_TEMPERATURE(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_RGB(false);
|
||||
// the green button is on the page
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_ON(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_OFF(false);
|
||||
|
||||
|
||||
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 153);
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 0", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 153);
|
||||
|
||||
CMD_ExecuteCommand("led_dimmer 61", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 153);
|
||||
|
||||
// HTML page must contains dimmer, but no RGB and no temeprature controls
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_DIMMER(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_TEMPERATURE(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_RGB(false);
|
||||
// the green button is on the page
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_ON(false);
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_OFF(true);
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 1", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 153);
|
||||
|
||||
CMD_ExecuteCommand("led_temperature 500", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 500);
|
||||
|
||||
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("led_dimmer", "100");
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 500);
|
||||
}
|
||||
void Test_Http_LED_RGB() {
|
||||
|
||||
SIM_ClearOBK(0);
|
||||
PIN_SetPinRoleForPinIndex(24, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(24, 1);
|
||||
|
||||
PIN_SetPinRoleForPinIndex(26, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(26, 2);
|
||||
|
||||
PIN_SetPinRoleForPinIndex(9, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(9, 3);
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 1", 0);
|
||||
CMD_ExecuteCommand("led_dimmer 100", 0);
|
||||
CMD_ExecuteCommand("led_basecolor_rgb FF0000", 0);
|
||||
|
||||
|
||||
// HTML page must contains dimmer, but no RGB and no temeprature controls
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_DIMMER(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_TEMPERATURE(false);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_RGB(true);
|
||||
// the green button is on the page
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_ON(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_OFF(false);
|
||||
|
||||
|
||||
|
||||
SELFTEST_ASSERT_CHANNEL(1, 100);
|
||||
SELFTEST_ASSERT_CHANNEL(2, 0);
|
||||
SELFTEST_ASSERT_CHANNEL(3, 0);
|
||||
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "255,0,0");
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_basecolor_rgb FFFF00", 0);
|
||||
|
||||
SELFTEST_ASSERT_CHANNEL(1, 100);
|
||||
SELFTEST_ASSERT_CHANNEL(2, 100);
|
||||
SELFTEST_ASSERT_CHANNEL(3, 0);
|
||||
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "255,255,0");
|
||||
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
CMD_ExecuteCommand("led_dimmer 50", 0);
|
||||
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 50);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "55,55,0");
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_basecolor_rgb 0000FF", 0);
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 50);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,0,55");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
CMD_ExecuteCommand("led_dimmer 100", 0);
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,0,255");
|
||||
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("POWER", "OFF");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,0,0");
|
||||
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("POWER", "1");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,0,255");
|
||||
|
||||
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("led_dimmer", "50");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 50);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,0,55");
|
||||
|
||||
// dimmer back to 100
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("led_dimmer", "100");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,0,255");
|
||||
|
||||
// check Tasmota HSBColor
|
||||
/*
|
||||
NOTE:
|
||||
HTTP Request: http://192.168.0.153/cm?cmnd=HSBColor%200,100,100
|
||||
Return value: {"POWER":"ON","Dimmer":100,"Color":"FF00000000","HSBColor":"0,100,100","White":0,"CT":479,"Channel":[100,0,0,0,0]}
|
||||
|
||||
*/
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("HSBColor", "0,100,100");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "255,0,0");
|
||||
// check Tasmota HSBColor
|
||||
/*
|
||||
NOTE:
|
||||
HTTP Request: http://192.168.0.153/cm?cmnd=HSBColor%2090,100,100
|
||||
Return value: {"POWER":"ON","Dimmer":100,"Color":"7FFF000000","HSBColor":"90,100,100","White":0,"CT":479,"Channel":[50,100,0,0,0]}
|
||||
|
||||
*/
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("HSBColor", "90,100,100");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "127,255,0");
|
||||
// check Tasmota HSBColor
|
||||
/*
|
||||
NOTE:
|
||||
HTTP Request: http://192.168.0.153/cm?cmnd=HSBColor%20180,100,100
|
||||
Return value: {"POWER":"ON","Dimmer":100,"Color":"00FFFF0000","HSBColor":"180,100,100","White":0,"CT":479,"Channel":[0,100,100,0,0]}
|
||||
*/
|
||||
SIM_SendFakeMQTTAndRunSimFrame_CMND("HSBColor", "180,100,100");
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
// Tasmota colors are scalled by Dimmer in this case. Confirmed.
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,255,255");
|
||||
|
||||
|
||||
// HTML page must contains dimmer, but no RGB and no temeprature controls
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
// the green button is on the page
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_ON(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_OFF(false);
|
||||
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 0", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
// color is now 0,0,0 because it's OFF?
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "0,0,0");
|
||||
|
||||
// HTML page must contains dimmer, but no RGB and no temeprature controls
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
// the red button is on the page
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_ON(false);
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_OFF(true);
|
||||
/*
|
||||
CMD_ExecuteCommand("led_dimmer 61", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 153);
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 1", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 153);
|
||||
|
||||
CMD_ExecuteCommand("led_temperature 500", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "CT", 500);
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
void Test_Http_LED_RGBCW() {
|
||||
|
||||
SIM_ClearOBK(0);
|
||||
PIN_SetPinRoleForPinIndex(24, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(24, 1);
|
||||
|
||||
PIN_SetPinRoleForPinIndex(26, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(26, 2);
|
||||
|
||||
PIN_SetPinRoleForPinIndex(9, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(9, 3);
|
||||
|
||||
PIN_SetPinRoleForPinIndex(8, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(8, 4);
|
||||
|
||||
PIN_SetPinRoleForPinIndex(7, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(7, 5);
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 1", 0);
|
||||
CMD_ExecuteCommand("led_dimmer 100", 0);
|
||||
CMD_ExecuteCommand("led_basecolor_rgb FF0000", 0);
|
||||
|
||||
|
||||
// HTML page must contains dimmer, but no RGB and no temeprature controls
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_DIMMER(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_TEMPERATURE(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_RGB(true);
|
||||
// the green button is on the page
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_ON(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_OFF(false);
|
||||
|
||||
|
||||
|
||||
SELFTEST_ASSERT_CHANNEL(1, 100);
|
||||
SELFTEST_ASSERT_CHANNEL(2, 0);
|
||||
SELFTEST_ASSERT_CHANNEL(3, 0);
|
||||
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "Color", "255,0,0,0,0");
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_basecolor_rgb FFFF00", 0);
|
||||
|
||||
SELFTEST_ASSERT_CHANNEL(1, 100);
|
||||
SELFTEST_ASSERT_CHANNEL(2, 100);
|
||||
SELFTEST_ASSERT_CHANNEL(3, 0);
|
||||
|
||||
|
||||
|
||||
// HTML page must contains dimmer, but no RGB and no temeprature controls
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
// the green button is on the page
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_ON(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_OFF(false);
|
||||
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 0", 0);
|
||||
|
||||
|
||||
// HTML page must contains dimmer, but no RGB and no temeprature controls
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
// the red button is on the page
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_ON(false);
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_OFF(true);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void Test_Http_LED_SingleChannel() {
|
||||
|
||||
SIM_ClearOBK(0);
|
||||
// Setup single PWM Device
|
||||
PIN_SetPinRoleForPinIndex(24, IOR_PWM);
|
||||
PIN_SetPinChannelForPinIndex(24, 1);
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 1", 0);
|
||||
CMD_ExecuteCommand("led_dimmer 100", 0);
|
||||
|
||||
// HTML page must contains dimmer, but no RGB and no temeprature controls
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_DIMMER(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_TEMPERATURE(false);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_RGB(false);
|
||||
// the green button is on the page
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_ON(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_OFF(false);
|
||||
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 0", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
|
||||
// HTML page must contains dimmer, but no RGB and no temeprature controls
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_DIMMER(true);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_TEMPERATURE(false);
|
||||
SELFTEST_ASSERT_HTTP_HAS_LED_RGB(false);
|
||||
// the red button is on the page
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_ON(false);
|
||||
SELFTEST_ASSERT_HTTP_HAS_BUTTON_LEDS_OFF(true);
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_dimmer 61", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "OFF");
|
||||
|
||||
|
||||
CMD_ExecuteCommand("led_enableAll 1", 0);
|
||||
// StatusSTS contains POWER and Dimmer
|
||||
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
|
||||
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
|
||||
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void Test_Http_LED() {
|
||||
Test_Http_LED_SingleChannel();
|
||||
Test_Http_LED_CW();
|
||||
Test_Http_LED_RGB();
|
||||
Test_Http_LED_RGBCW();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@ -76,9 +76,19 @@ void Test_Command_If() {
|
||||
SELFTEST_ASSERT_CHANNEL(23, 0);
|
||||
CMD_ExecuteCommand("if $CH7!=0 then setChannel 23 1234", 0);
|
||||
SELFTEST_ASSERT_CHANNEL(23, 1234);
|
||||
|
||||
CMD_ExecuteCommand("setChannel 23 0", 0);
|
||||
CMD_ExecuteCommand("setChannel 24 0", 0);
|
||||
CMD_ExecuteCommand("setChannel 25 0", 0);
|
||||
SELFTEST_ASSERT_CHANNEL(23, 0);
|
||||
SELFTEST_ASSERT_CHANNEL(24, 0);
|
||||
SELFTEST_ASSERT_CHANNEL(25, 0);
|
||||
CMD_ExecuteCommand("if $CH7!=0 then backlog setChannel 23 1234; setChannel 24 4567; setChannel 25 6789", 0);
|
||||
SELFTEST_ASSERT_CHANNEL(23, 1234);
|
||||
SELFTEST_ASSERT_CHANNEL(24, 4567);
|
||||
SELFTEST_ASSERT_CHANNEL(25, 6789);
|
||||
// cause error
|
||||
//SELFTEST_ASSERT_CHANNEL(1, 666);
|
||||
|
||||
}
|
||||
|
||||
void Test_Command_If_Else() {
|
||||
|
||||
@ -184,6 +184,7 @@ void Win_DoUnitTests() {
|
||||
Test_Command_If();
|
||||
Test_Tokenizer();
|
||||
Test_Http();
|
||||
Test_Http_LED();
|
||||
Test_DeviceGroups();
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user