@@ -18,6 +18,7 @@ limitations under the License.
18
18
#include < gtest/gtest.h>
19
19
#include < falco/configuration.h>
20
20
#include < falco_test_var.h>
21
+ #include < nlohmann/json.hpp>
21
22
22
23
#define EXPECT_VALIDATION_STATUS (res, status ) \
23
24
do { \
@@ -102,8 +103,13 @@ TEST(Configuration, plugin_init_config) {
102
103
sslCertificate: /etc/falco/falco.pem
103
104
)" ;
104
105
106
+ auto plugin_config_json = nlohmann::json::parse (
107
+ R"( {"maxEventSize": 262144, "sslCertificate": "/etc/falco/falco.pem"})" );
108
+
105
109
EXPECT_NO_THROW (res = falco_config.init_from_content (config, {}));
106
110
EXPECT_VALIDATION_STATUS (res, yaml_helper::validation_ok);
111
+ auto parsed_init_config = nlohmann::json::parse (falco_config.m_plugins [0 ].m_init_config );
112
+ EXPECT_EQ (parsed_init_config, plugin_config_json);
107
113
108
114
config = R"(
109
115
plugins:
@@ -114,6 +120,30 @@ TEST(Configuration, plugin_init_config) {
114
120
115
121
EXPECT_NO_THROW (res = falco_config.init_from_content (config, {}));
116
122
EXPECT_VALIDATION_STATUS (res, yaml_helper::validation_ok);
123
+ parsed_init_config = nlohmann::json::parse (falco_config.m_plugins [0 ].m_init_config );
124
+ EXPECT_EQ (parsed_init_config, plugin_config_json);
125
+
126
+ config = R"(
127
+ plugins:
128
+ - name: k8saudit
129
+ library_path: libk8saudit.so
130
+ init_config: ""
131
+ )" ;
132
+
133
+ EXPECT_NO_THROW (res = falco_config.init_from_content (config, {}));
134
+ EXPECT_VALIDATION_STATUS (res, yaml_helper::validation_ok);
135
+ EXPECT_EQ (falco_config.m_plugins [0 ].m_init_config , " " );
136
+
137
+ config = R"(
138
+ plugins:
139
+ - name: k8saudit
140
+ library_path: libk8saudit.so
141
+ init_config: null
142
+ )" ;
143
+
144
+ EXPECT_NO_THROW (res = falco_config.init_from_content (config, {}));
145
+ EXPECT_VALIDATION_STATUS (res, yaml_helper::validation_ok);
146
+ EXPECT_EQ (falco_config.m_plugins [0 ].m_init_config , " " );
117
147
}
118
148
119
149
TEST (Configuration, schema_yaml_helper_validator) {
0 commit comments