41 lines
1.3 KiB
C
41 lines
1.3 KiB
C
#include <assert.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
#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;
|
|
}
|