Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndris Zeila <andris.zeila@zabbix.com>2020-07-16 10:28:35 +0300
committerAndris Zeila <andris.zeila@zabbix.com>2020-07-16 10:31:39 +0300
commit3a352fb54d26feae762f2ebb1041aedbe5995d5e (patch)
tree9c53375d78c4990d2620eadf2ca89e2062c01b43 /tests/libs/zbxdbcache/dc_expand_user_macros_in_expression.c
parent8b905d174eee85f86b1a296d8ee840083061c68d (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_expression.c')
-rw-r--r--tests/libs/zbxdbcache/dc_expand_user_macros_in_expression.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/libs/zbxdbcache/dc_expand_user_macros_in_expression.c b/tests/libs/zbxdbcache/dc_expand_user_macros_in_expression.c
new file mode 100644
index 00000000000..77d9bee8658
--- /dev/null
+++ b/tests/libs/zbxdbcache/dc_expand_user_macros_in_expression.c
@@ -0,0 +1,58 @@
+/*
+** 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_expression;
+ const char *expression, *expected_expression;
+
+ ZBX_UNUSED(state);
+
+ mock_config_init();
+ mock_config_load_user_macros("in.macros");
+
+ expression = zbx_mock_get_parameter_string("in.expression");
+ expected_expression = zbx_mock_get_parameter_string("out.expression");
+ returned_expression = dc_expand_user_macros_in_expression(expression, NULL, 0);
+ zbx_mock_assert_str_eq("Expanded expression", expected_expression, returned_expression);
+
+ zbx_free(returned_expression);
+
+ mock_config_free();
+}