#include #include #include #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; }