diff options
author | Andris Zeila <andris.zeila@zabbix.com> | 2020-07-16 10:28:35 +0300 |
---|---|---|
committer | Andris Zeila <andris.zeila@zabbix.com> | 2020-07-16 10:31:39 +0300 |
commit | 3a352fb54d26feae762f2ebb1041aedbe5995d5e (patch) | |
tree | 9c53375d78c4990d2620eadf2ca89e2062c01b43 /tests/libs/zbxdbcache/dc_expand_user_macros_in_calcitem.c | |
parent | 8b905d174eee85f86b1a296d8ee840083061c68d (diff) |
........S. [ZBXNEXT-6042] optimized trigger, calculated item processing by resolving user macros during configuration cache synchronization
* commit 'ae4645be5080ef59cfd0267bc960d99197f77ed3':
.D........ [ZBXNEXT-6042] updated changelog entry
........S. [ZBXNEXT-6042] fixed use of uninitialised variable
........S. [ZBXNEXT-6042] removed unused function
.......PS. [ZBXNEXT-6042] removed redundant initialization
.......... [ZBXNEXT-6042] added dc_expand_user_macros_in_calcitem() function test suite
.......... [ZBXNEXT-6042] renamed test suite to match the renamed function
.......... [ZBXNEXT-6042] moved user macro mocks to separae configcache mocking library
.......... [ZBXNEXT-6042] merged global and host macro mock code and moved to separate file
.......... [ZBXNEXT-6042] add first test cases for dc_expand_user_macros_in_func_params() function
........S. [ZBXNEXT-6042] added user macro resolving in calculated item formulas during configuration cache sync
........S. [ZBXNEXT-6042] fixed internal/external (dc_/zbx_dc_) configuration cache function naming and expression macro expanding without chache locking when polling calculated items
........S. [ZBXNEXT-6042] fixed user macro resolving in simple macro function parameters
.D........ [ZBXNEXT-6042] added changelog entry
........S. [ZBXNEXT-6042] removed macro resolving in user parameters during trigger processing because function parameter user macros are already resolved during conifguration cache sync
........S. [ZBXNEXT-6042] added function parameter user macro resolving during configuration cache sync
(cherry picked from commit 7bd5435bd09ac8ef954fc1c913b61d70dffc81b2)
Diffstat (limited to 'tests/libs/zbxdbcache/dc_expand_user_macros_in_calcitem.c')
-rw-r--r-- | tests/libs/zbxdbcache/dc_expand_user_macros_in_calcitem.c | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/libs/zbxdbcache/dc_expand_user_macros_in_calcitem.c b/tests/libs/zbxdbcache/dc_expand_user_macros_in_calcitem.c new file mode 100644 index 00000000000..f10092a8b06 --- /dev/null +++ b/tests/libs/zbxdbcache/dc_expand_user_macros_in_calcitem.c @@ -0,0 +1,62 @@ +/* +** Zabbix +** Copyright (C) 2001-2020 Zabbix SIA +** +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU General Public License as published by +** the Free Software Foundation; either version 2 of the License, or +** (at your option) any later version. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this program; if not, write to the Free Software +** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +**/ + +#include "zbxmocktest.h" +#include "zbxmockdata.h" +#include "zbxmockassert.h" +#include "zbxmockutil.h" + +#include "zbxserver.h" +#include "common.h" +#include "zbxalgo.h" +#include "dbcache.h" +#include "mutexs.h" + +#define ZBX_DBCONFIG_IMPL +#include "dbconfig.h" + +#include "configcache_mock.h" + +/****************************************************************************** + * * + * Function: zbx_mock_test_entry * + * * + ******************************************************************************/ +void zbx_mock_test_entry(void **state) +{ + char *returned_formula; + const char *formula, *expected_formula; + zbx_uint64_t hostid; + + ZBX_UNUSED(state); + + mock_config_init(); + mock_config_load_user_macros("in.macros"); + mock_config_load_hosts("in.hosts"); + + formula = zbx_mock_get_parameter_string("in.formula"); + hostid = zbx_mock_get_parameter_uint64("in.hostid"); + expected_formula = zbx_mock_get_parameter_string("out.formula"); + returned_formula = dc_expand_user_macros_in_calcitem(formula, hostid); + zbx_mock_assert_str_eq("Expanded parameters", expected_formula, returned_formula); + + zbx_free(returned_formula); + + mock_config_free(); +} |