#include #include #include #include "maze32_provisioning_protocol.h" static void accept(const char *json, const char *ssid, const char *password) { maze32_wifi_credentials_t credentials; assert(maze32_provisioning_parse_credentials(json, strlen(json), &credentials)); assert(strcmp(credentials.ssid, ssid) == 0); assert(strcmp(credentials.password, password) == 0); } static void reject(const char *json) { maze32_wifi_credentials_t credentials; assert(!maze32_provisioning_parse_credentials(json, strlen(json), &credentials)); } int main(void) { accept("{\"ssid\":\"Maze WiFi\",\"password\":\"password8\"}", "Maze WiFi", "password8"); accept(" { \"password\" : \"quote\\\"pass\" , \"ssid\" : \"Maze\" } ", "Maze", "quote\"pass"); accept("{\"ssid\":\"Open\",\"password\":\"\"}", "Open", ""); reject("{}"); reject("{\"ssid\":\"Maze\"}"); reject("{\"ssid\":\"Maze\",\"password\":\"short\"}"); reject("{\"ssid\":\"Maze\",\"password\":\"password8\",\"extra\":1}"); reject("{\"ssid\":12,\"password\":\"password8\"}"); reject("{\"ssid\":\"Maze\\nBad\",\"password\":\"password8\"}"); reject("{\"ssid\":\"Maze\",\"ssid\":\"Again\"}"); reject("not-json"); puts("provisioning protocol tests: PASS"); return 0; }