#include "zbxmockassert.h"
#include "../../../src/libs/zbxsysinfo/sysinfo.h"
static int zbx_mock_str_to_key_access_type(const char *str)
if (0 == strcmp(str, "ZBX_KEY_ACCESS_ALLOW"))
return ZBX_KEY_ACCESS_ALLOW;
if (0 == strcmp(str, "ZBX_KEY_ACCESS_DENY"))
return ZBX_KEY_ACCESS_DENY;
fail_msg("Unknown key access type \"%s\"", str);
return ZBX_KEY_ACCESS_ALLOW;
void zbx_mock_test_entry(void **state)
zbx_mock_handle_t hrules, hrule, hmetrics, hmetric;
const char *type, *pattern, *key;
int expected_ret, actual_ret, exit_code = SUCCEED;
hrules = zbx_mock_get_parameter_handle("in.rules");
zbx_init_key_access_rules();
while (ZBX_MOCK_SUCCESS == zbx_mock_vector_element(hrules, &hrule))
type = zbx_mock_get_object_member_string(hrule, "type");
pattern = zbx_mock_get_object_member_string(hrule, "pattern");
if (SUCCEED != zbx_add_key_access_rule("key", (char *)pattern, zbx_mock_str_to_key_access_type(type)))
zbx_free_key_access_rules();
fail_msg("Bad key access rule definition");