Skip to content

Commit a754601

Browse files
LucaGuerrapoiana
authored andcommitted
update(tests): add tests for plugin init_config
Signed-off-by: Luca Guerra <[email protected]>
1 parent 6721a6b commit a754601

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

unit_tests/falco/test_configuration_schema.cpp

+30
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ limitations under the License.
1818
#include <gtest/gtest.h>
1919
#include <falco/configuration.h>
2020
#include <falco_test_var.h>
21+
#include <nlohmann/json.hpp>
2122

2223
#define EXPECT_VALIDATION_STATUS(res, status) \
2324
do { \
@@ -102,8 +103,13 @@ TEST(Configuration, plugin_init_config) {
102103
sslCertificate: /etc/falco/falco.pem
103104
)";
104105

106+
auto plugin_config_json = nlohmann::json::parse(
107+
R"({"maxEventSize": 262144, "sslCertificate": "/etc/falco/falco.pem"})");
108+
105109
EXPECT_NO_THROW(res = falco_config.init_from_content(config, {}));
106110
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);
107113

108114
config = R"(
109115
plugins:
@@ -114,6 +120,30 @@ TEST(Configuration, plugin_init_config) {
114120

115121
EXPECT_NO_THROW(res = falco_config.init_from_content(config, {}));
116122
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, "");
117147
}
118148

119149
TEST(Configuration, schema_yaml_helper_validator) {

0 commit comments

Comments
 (0)