46 lines
1.6 KiB
C
46 lines
1.6 KiB
C
#include <assert.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
#include "maze32_config_store.h"
|
|
#include "nvs.h"
|
|
#include "nvs_flash.h"
|
|
|
|
static maze32_wifi_credentials_t credentials(const char *ssid, const char *password)
|
|
{
|
|
maze32_wifi_credentials_t value = {0};
|
|
memcpy(value.ssid, ssid, strlen(ssid) + 1U);
|
|
memcpy(value.password, password, strlen(password) + 1U);
|
|
return value;
|
|
}
|
|
|
|
int main(void)
|
|
{
|
|
assert(maze32_config_store_init() == ESP_OK);
|
|
maze32_wifi_credentials_t loaded = {0};
|
|
assert(maze32_config_store_load(&loaded) == ESP_ERR_NOT_FOUND);
|
|
|
|
maze32_wifi_credentials_t saved = credentials("PersistentNetwork", "safe-passphrase");
|
|
assert(maze32_config_store_save(&saved) == ESP_OK);
|
|
assert(nvs_flash_deinit() == ESP_OK);
|
|
assert(maze32_config_store_init() == ESP_OK);
|
|
assert(maze32_config_store_load(&loaded) == ESP_OK);
|
|
assert(strcmp(loaded.ssid, saved.ssid) == 0);
|
|
assert(strcmp(loaded.password, saved.password) == 0);
|
|
|
|
maze32_wifi_credentials_t invalid = credentials("PersistentNetwork", "short");
|
|
assert(maze32_config_store_save(&invalid) == ESP_ERR_INVALID_ARG);
|
|
memset(&loaded, 0, sizeof(loaded));
|
|
assert(maze32_config_store_load(&loaded) == ESP_OK);
|
|
assert(strcmp(loaded.password, saved.password) == 0);
|
|
|
|
fake_nvs_set_schema(MAZE32_WIFI_CONFIG_SCHEMA_VERSION + 1U);
|
|
assert(maze32_config_store_load(&loaded) == ESP_ERR_INVALID_VERSION);
|
|
fake_nvs_set_schema(MAZE32_WIFI_CONFIG_SCHEMA_VERSION);
|
|
|
|
assert(maze32_config_store_clear() == ESP_OK);
|
|
assert(maze32_config_store_load(&loaded) == ESP_ERR_NOT_FOUND);
|
|
puts("configuration NVS tests: PASS");
|
|
return 0;
|
|
}
|