mirror of
https://github.com/emqx/neuron.git
synced 2026-10-18 21:50:42 +08:00
90 lines
2.3 KiB
C++
90 lines
2.3 KiB
C++
#include <stdlib.h>
|
|
|
|
#include <gtest/gtest.h>
|
|
|
|
#include "schema/schema.h"
|
|
#include "json/json.h"
|
|
|
|
#define SCHEMA_FILE "./plugin_param_schema_test.json"
|
|
|
|
TEST(JsonSchema, SchemaValidTagType)
|
|
{
|
|
char buf[40960] = { 0 };
|
|
FILE *fp = fopen(SCHEMA_FILE, "r");
|
|
fread(buf, 1, sizeof(buf), fp);
|
|
fclose(fp);
|
|
|
|
neu_schema_valid_t *sv = neu_schema_load(buf, (char *) "test-plugin");
|
|
|
|
EXPECT_EQ(-1, neu_schema_valid_tag_type(sv, 1));
|
|
EXPECT_EQ(0, neu_schema_valid_tag_type(sv, 4));
|
|
|
|
neu_schema_free(sv);
|
|
}
|
|
|
|
TEST(JsonSchema, SchemaValidInt)
|
|
{
|
|
char buf[40960] = { 0 };
|
|
FILE *fp = fopen(SCHEMA_FILE, "r");
|
|
fread(buf, 1, sizeof(buf), fp);
|
|
fclose(fp);
|
|
|
|
neu_schema_valid_t *sv = neu_schema_load(buf, (char *) "test-plugin");
|
|
|
|
EXPECT_EQ(0, neu_schema_valid_param_int(sv, 1234, (char *) "port"));
|
|
|
|
EXPECT_EQ(-1, neu_schema_valid_param_int(sv, 1, (char *) "port"));
|
|
|
|
neu_schema_free(sv);
|
|
}
|
|
|
|
TEST(JsonSchema, SchemaValidString)
|
|
{
|
|
char buf[40960] = { 0 };
|
|
FILE *fp = fopen(SCHEMA_FILE, "r");
|
|
fread(buf, 1, sizeof(buf), fp);
|
|
fclose(fp);
|
|
|
|
neu_schema_valid_t *sv = neu_schema_load(buf, (char *) "test-plugin");
|
|
|
|
char *str1 = (char *) "1234";
|
|
char *str2 = (char *) "1234567890123456789012345678901";
|
|
|
|
EXPECT_EQ(0, neu_schema_valid_param_string(sv, str1, (char *) "host"));
|
|
|
|
EXPECT_EQ(-1, neu_schema_valid_param_string(sv, str2, (char *) "host"));
|
|
|
|
neu_schema_free(sv);
|
|
}
|
|
|
|
TEST(JsonSchema, SchemaValidReal)
|
|
{
|
|
char buf[40960] = { 0 };
|
|
FILE *fp = fopen(SCHEMA_FILE, "r");
|
|
fread(buf, 1, sizeof(buf), fp);
|
|
fclose(fp);
|
|
|
|
neu_schema_valid_t *sv = neu_schema_load(buf, (char *) "test-plugin");
|
|
|
|
EXPECT_EQ(0, neu_schema_valid_param_real(sv, 10.1, (char *) "real_param"));
|
|
|
|
EXPECT_EQ(-1, neu_schema_valid_param_real(sv, 30.5, (char *) "real_param"));
|
|
|
|
neu_schema_free(sv);
|
|
}
|
|
|
|
TEST(JsonSchema, SchemaValidEnum)
|
|
{
|
|
char buf[40960] = { 0 };
|
|
FILE *fp = fopen(SCHEMA_FILE, "r");
|
|
fread(buf, 1, sizeof(buf), fp);
|
|
fclose(fp);
|
|
|
|
neu_schema_valid_t *sv = neu_schema_load(buf, (char *) "test-plugin");
|
|
|
|
EXPECT_EQ(0, neu_schema_valid_param_enum(sv, 9600, (char *) "baud_rate"));
|
|
|
|
EXPECT_EQ(-1, neu_schema_valid_param_enum(sv, 1234, (char *) "baud_rate"));
|
|
|
|
neu_schema_free(sv);
|
|
} |