Skip to content

Commit

Permalink
json replies and self test for cfg commansd
Browse files Browse the repository at this point in the history
  • Loading branch information
openshwprojects committed Feb 23, 2023
1 parent a18f823 commit a27df7b
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 1 deletion.
26 changes: 26 additions & 0 deletions src/httpserver/json_interface.c
Original file line number Diff line number Diff line change
Expand Up @@ -728,6 +728,32 @@ int JSON_ProcessCommandReply(const char *cmd, const char *arg, void *request, js
printer(request, "\"led_basecolor_rgb\":\"%s\"",tmp);
printer(request, "}");
}
else if (!wal_strnicmp(cmd, "MQTTClient", 8)) {
printer(request, "{");
printer(request, "\"MQTTClient\":\"%s\"",CFG_GetMQTTClientId());
printer(request, "}");
}
else if (!wal_strnicmp(cmd, "MQTTHost", 8)) {
printer(request, "{");
printer(request, "\"MQTTHost\":\"%s\"", CFG_GetMQTTHost());
printer(request, "}");
}
else if (!wal_strnicmp(cmd, "MQTTUser", 8)) {
printer(request, "{");
printer(request, "\"MQTTUser\":\"%s\"", CFG_GetMQTTUserName());
printer(request, "}");
}
else if (!wal_strnicmp(cmd, "MqttPassword", 12)) {
printer(request, "{");
printer(request, "\"MqttPassword\":\"%s\"", "****");
printer(request, "}");
}
else if (!wal_strnicmp(cmd, "SSID1", 5)) {
printer(request, "{");
printer(request, "\"SSID1\":\"%s\"", CFG_GetWiFiSSID());
printer(request, "}");
}

return 0;
}

Expand Down
52 changes: 52 additions & 0 deletions src/selftest/selftest_cfg_via_http.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#ifdef WINDOWS

#include "selftest_local.h"
#include "../httpserver/new_http.h"

void Test_CFG_Via_HTTP() {
const char *mqtt_userName = "MyMQTTUser";
SIM_ClearOBK();
PIN_SetPinRoleForPinIndex(9, IOR_Relay);
PIN_SetPinChannelForPinIndex(9, 1);
CFG_SetMQTTUserName(mqtt_userName);
CFG_SetMQTTHost("192.168.123.246");
CFG_SetWiFiSSID("FakeNet3D");

Test_FakeHTTPClientPacket_JSON("cm?cmnd=POWER");
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "POWER", "OFF");

Test_FakeHTTPClientPacket_JSON("cm?cmnd=POWER");
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "POWER", "OFF");

CMD_ExecuteCommand("setChannel 1 1", 0);

Test_FakeHTTPClientPacket_JSON("cm?cmnd=POWER");
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "POWER", "ON");


Test_FakeHTTPClientPacket_JSON("cm?cmnd=MQTTUser");
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "MQTTUser", mqtt_userName);
CFG_SetMQTTUserName("UserName2");
Test_FakeHTTPClientPacket_JSON("cm?cmnd=MQTTUser");
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "MQTTUser", "UserName2");
Test_FakeHTTPClientPacket_JSON("cm?cmnd=MQTTUser");
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "MQTTUser", "UserName2");
Test_FakeHTTPClientPacket_JSON("cm?cmnd=MQTTUser%20NewName");
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "MQTTUser", "NewName");
Test_FakeHTTPClientPacket_JSON("cm?cmnd=MQTTUser%20another");
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "MQTTUser", "another");
Test_FakeHTTPClientPacket_JSON("cm?cmnd=MQTTHost");
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "MQTTHost", "192.168.123.246");
Test_FakeHTTPClientPacket_JSON("cm?cmnd=MQTTHost%208.8.8.8");
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "MQTTHost", "8.8.8.8");

Test_FakeHTTPClientPacket_JSON("cm?cmnd=SSID1");
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "SSID1", "FakeNet3D");

Test_FakeHTTPClientPacket_JSON("cm?cmnd=SSID1%20newApName");
SELFTEST_ASSERT_JSON_VALUE_STRING(0, "SSID1", "newApName");
// causes assert
//SELFTEST_ASSERT_JSON_VALUE_STRING(0, "SSID1", "newAcName");
}

#endif
1 change: 1 addition & 0 deletions src/selftest/selftest_local.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ void Test_Demo_SimpleShuttersScript();
void Test_Commands_Generic();
void Test_ChangeHandlers_MQTT();
void Test_Commands_Calendar();
void Test_CFG_Via_HTTP();

void Test_GetJSONValue_Setup(const char *text);
void Test_FakeHTTPClientPacket_GET(const char *tg);
Expand Down
3 changes: 2 additions & 1 deletion src/win_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ void SIM_DoFreshOBKBoot() {
Main_Init();
}
void Win_DoUnitTests() {
Test_CFG_Via_HTTP();
Test_Commands_Calendar();
Test_Commands_Generic();
Test_Demo_SimpleShuttersScript();
Expand Down Expand Up @@ -294,7 +295,7 @@ int __cdecl main(int argc, char **argv)


SIM_CreateWindow(argc, argv);
#if 0
#if 1
CMD_ExecuteCommand("MQTTHost 192.168.0.113", 0);
CMD_ExecuteCommand("MqttPassword ma1oovoo0pooTie7koa8Eiwae9vohth1vool8ekaej8Voohi7beif5uMuph9Diex", 0);
CMD_ExecuteCommand("MqttClient WindowsOBK", 0);
Expand Down

0 comments on commit a27df7b

Please sign in to comment.