diff options
-rw-r--r-- | .gitattributes | 1 | ||||
-rw-r--r-- | tests/libs/zbxdbcache/zbx_vc_get_values.inc.yaml | 35 | ||||
-rw-r--r-- | tests/libs/zbxdbcache/zbx_vc_get_values.yaml | 3440 | ||||
-rwxr-xr-x | tests/tests_run.pl | 17 | ||||
-rw-r--r-- | tests/zbxmockdata.c | 451 |
5 files changed, 1400 insertions, 2544 deletions
diff --git a/.gitattributes b/.gitattributes index a74ef1799e6..de8316dbe63 100644 --- a/.gitattributes +++ b/.gitattributes @@ -349,6 +349,7 @@ tests/libs/zbxcommshigh/zbx_tcp_recv_ext_zlib.yaml -text tests/libs/zbxdbcache/dc_maintenance_match_tags.yaml -text tests/libs/zbxdbcache/zbx_vc_add_values.yaml -text tests/libs/zbxdbcache/zbx_vc_get_value.yaml -text +tests/libs/zbxdbcache/zbx_vc_get_values.inc.yaml -text tests/libs/zbxdbcache/zbx_vc_get_values.yaml -text tests/libs/zbxhistory/zbx_history_get_values.yaml -text tests/libs/zbxprometheus/prometheus_filter_init.yaml -text diff --git a/tests/libs/zbxdbcache/zbx_vc_get_values.inc.yaml b/tests/libs/zbxdbcache/zbx_vc_get_values.inc.yaml new file mode 100644 index 00000000000..e88c8a417f2 --- /dev/null +++ b/tests/libs/zbxdbcache/zbx_vc_get_values.inc.yaml @@ -0,0 +1,35 @@ +--- +itemid: 1 +value type: ITEM_VALUE_TYPE_STR +data: +- value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 +- value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 +- value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 +- value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 +- value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 +- value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 +- value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 +- value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 +- value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 +- value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 +- value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 +- value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 +- value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 +- value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 +- value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 +... diff --git a/tests/libs/zbxdbcache/zbx_vc_get_values.yaml b/tests/libs/zbxdbcache/zbx_vc_get_values.yaml index fc2a57459bb..9def6a4b7e1 100644 --- a/tests/libs/zbxdbcache/zbx_vc_get_values.yaml +++ b/tests/libs/zbxdbcache/zbx_vc_get_values.yaml @@ -289,56 +289,9 @@ out: # TC5 # Test that the data from current time to the requested interval is properly cached. test case: Get values in interval before data values leaving unread values in the middle +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -355,29 +308,47 @@ in: end: 2017-01-10 10:00:02.999999999 +00:00 out: values: - - *row27 - - *row25 - - *row22 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row12 - - *row15 - - *row17 - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 600 values_total: 15 @@ -389,56 +360,9 @@ out: # TC6 # Test that cached data is returned from cache without database access. test case: Get interval of already already data values +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -455,29 +379,47 @@ in: end: 2017-01-10 10:00:05.999999999 +00:00 out: values: - - *row57 - - *row55 - - *row52 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row12 - - *row15 - - *row17 - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 600 values_total: 15 @@ -489,56 +431,9 @@ out: # TC7 # Test that missing data in cache is properly added if requested interval is larger than cached data. test case: Get interval of already cached values ending with the last data value +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -555,32 +450,53 @@ in: end: 2017-01-10 10:00:03.999999999 +00:00 out: values: - - *row37 - - *row35 - - *row32 - - *row27 - - *row25 - - *row22 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row12 - - *row15 - - *row17 - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 600 values_total: 15 @@ -592,56 +508,9 @@ out: # TC8 # Test that db_cached_from is set according to the requested time interval. test case: Get interval of values larger than database history and caching last values +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -658,29 +527,47 @@ in: end: 2017-01-10 10:00:01.999999999 +00:00 out: values: - - *row17 - - *row15 - - *row12 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row12 - - *row15 - - *row17 - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 610 values_total: 15 @@ -692,56 +579,9 @@ out: # TC9 # Test that database is not accessed if the request data is within db_cached_from limits test case: Get interval of already cached data values larger than database history +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -758,29 +598,47 @@ in: end: 2017-01-10 10:00:01.999999999 +00:00 out: values: - - *row17 - - *row15 - - *row12 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row12 - - *row15 - - *row17 - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 610 values_total: 15 @@ -792,56 +650,9 @@ out: # TC10 # Test that data is cached and value returned test case: Get one value in the middle of uncached data +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] test: time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -851,18 +662,25 @@ in: end: 2017-01-10 10:00:04.999999999 +00:00 out: values: - - *row47 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 597 values_total: 6 @@ -874,56 +692,9 @@ out: # TC11 # Test that value returned by using already cached data test case: Get one value in the middle of cached data +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -940,18 +711,25 @@ in: end: 2017-01-10 10:00:04.999999999 +00:00 out: values: - - *row47 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 597 values_total: 6 @@ -963,56 +741,9 @@ out: # TC12 # Test that value returned by using already cached data test case: Get two values in the middle of cached data +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -1029,19 +760,27 @@ in: end: 2017-01-10 10:00:04.999999999 +00:00 out: values: - - *row47 - - *row45 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 597 values_total: 6 @@ -1053,56 +792,9 @@ out: # TC13 # Test that all values are cached and the 'cached all' flag set test case: Get 4 values when only 3 values exists in database history and are not cached +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -1119,29 +811,47 @@ in: end: 2017-01-10 10:00:01.999999999 +00:00 out: values: - - *row17 - - *row15 - - *row12 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row12 - - *row15 - - *row17 - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: ZBX_ITEM_STATUS_CACHED_ALL active_range: 0 values_total: 15 @@ -1153,56 +863,9 @@ out: # TC14 # Test that values are returned from cache test case: Get 4 values when only 3 values exists in database history and are cached +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -1219,29 +882,47 @@ in: end: 2017-01-10 10:00:01.999999999 +00:00 out: values: - - *row17 - - *row15 - - *row12 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row12 - - *row15 - - *row17 - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: ZBX_ITEM_STATUS_CACHED_ALL active_range: 0 values_total: 15 @@ -1254,56 +935,9 @@ out: # Test that no values are returned, 'cached all' flag is not set # and db_cached_from is set to cover the request range test case: Get one value from empty history interval +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] test: time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -1329,56 +963,9 @@ out: # TC16 # Test that the requested interval is cached and returned, 'cached all' flag is not set test case: Get 100 values from 1 second interval with 3 history values +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] test: time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -1388,20 +975,29 @@ in: end: 2017-01-10 10:00:05.999999999 +00:00 out: values: - - *row57 - - *row55 - - *row52 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 596 values_total: 6 @@ -1413,56 +1009,9 @@ out: # TC17 # Test that values are returned from cached data and item properties are not changed test case: Get 2 values from already cached 1 second interval with 3 history values +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -1479,19 +1028,27 @@ in: end: 2017-01-10 10:00:05.999999999 +00:00 out: values: - - *row57 - - *row55 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 597 values_total: 6 @@ -1503,56 +1060,9 @@ out: # TC18 # Test that values are returned from cached data and item properties are not changed test case: Get 3 values from already cached 1 second interval with 3 history values +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -1569,20 +1079,29 @@ in: end: 2017-01-10 10:00:05.999999999 +00:00 out: values: - - *row57 - - *row55 - - *row52 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 597 values_total: 6 @@ -1594,56 +1113,9 @@ out: # TC19 # Test that values are returned from cached data and item properties are not changed test case: Get 4 values from already data 1 second interval with 3 history values +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -1660,20 +1132,29 @@ in: end: 2017-01-10 10:00:05.999999999 +00:00 out: values: - - *row57 - - *row55 - - *row52 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 597 values_total: 6 @@ -1685,56 +1166,9 @@ out: # TC20 # Test that all required data is cached without leaving any gaps in history to current time. test case: Get 1 value from 1 second interval with 3 history values past cached data +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -1751,21 +1185,31 @@ in: end: 2017-01-10 10:00:03.999999999 +00:00 out: values: - - *row37 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 598 values_total: 9 @@ -1777,56 +1221,9 @@ out: # TC21 # Test that the missing data is cached test case: Get 4 values from partially cached 2 second interval with 6 history values +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -1843,27 +1240,43 @@ in: end: 2017-01-10 10:00:03.999999999 +00:00 out: values: - - *row37 - - *row35 - - *row32 - - *row27 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 599 values_total: 12 @@ -1875,56 +1288,9 @@ out: # TC22 # Test that 'cached all' flag is set. test case: Get all history values by count when they were already cached by time based request +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -1941,41 +1307,71 @@ in: end: 2017-01-10 10:00:05.999999999 +00:00 out: values: - - *row57 - - *row55 - - *row52 - - *row47 - - *row45 - - *row42 - - *row37 - - *row35 - - *row32 - - *row27 - - *row25 - - *row22 - - *row17 - - *row15 - - *row12 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row12 - - *row15 - - *row17 - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: ZBX_ITEM_STATUS_CACHED_ALL active_range: 0 values_total: 15 @@ -1987,56 +1383,9 @@ out: # TC23 # Test that data is returned and 'cached all' flag is not changed. test case: Get all data values from interval when they were already cached by count +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -2053,41 +1402,71 @@ in: end: 2017-01-10 10:00:05.999999999 +00:00 out: values: - - *row57 - - *row55 - - *row52 - - *row47 - - *row45 - - *row42 - - *row37 - - *row35 - - *row32 - - *row27 - - *row25 - - *row22 - - *row17 - - *row15 - - *row12 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row12 - - *row15 - - *row17 - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: ZBX_ITEM_STATUS_CACHED_ALL active_range: 0 values_total: 15 @@ -2190,56 +1569,9 @@ out: # when requesting other value type than data the item is marked for removal # and values are retrieved directly from database test case: Get interval of values when item value type has been changed +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -2256,9 +1588,12 @@ in: end: 2017-01-10 10:00:05.999999999 +00:00 out: values: - - *row57 - - *row55 - - *row52 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 cache: items: [] mode: ZBX_VC_MODE_NORMAL @@ -2269,56 +1604,9 @@ out: # when requesting other value type than data the item is marked for removal # and values are retrieved directly from database test case: Get number of values when item value type has been changed +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -2335,8 +1623,10 @@ in: end: 2017-01-10 10:00:05.999999999 +00:00 out: values: - - *row57 - - *row55 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 cache: items: [] mode: ZBX_VC_MODE_NORMAL @@ -2346,56 +1636,9 @@ out: # TC29 # Test that values are returned, but item is not cached. test case: Get number of uncached item values when cache working in low memory mode +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] test: cache mode: ZBX_VC_MODE_LOWMEM time: 2017-01-10 10:10:00.000000000 +00:00 @@ -2406,8 +1649,10 @@ in: end: 2017-01-10 10:00:05.999999999 +00:00 out: values: - - *row57 - - *row55 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 cache: items: - itemid: 1 @@ -2418,56 +1663,9 @@ out: # TC30 # Test that values are returned, but item is not cached. test case: Get interval of uncached item values when cache working in low memory mode +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] test: cache mode: ZBX_VC_MODE_LOWMEM time: 2017-01-10 10:10:00.000000000 +00:00 @@ -2478,9 +1676,12 @@ in: end: 2017-01-10 10:00:05.999999999 +00:00 out: values: - - *row57 - - *row55 - - *row52 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 cache: items: - itemid: 1 @@ -2491,56 +1692,9 @@ out: # TC31 # Test that values are returned, but item is not cached. test case: Get number of uncached item values from interval when cache working in low memory mode +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] test: cache mode: ZBX_VC_MODE_LOWMEM time: 2017-01-10 10:10:00.000000000 +00:00 @@ -2551,9 +1705,12 @@ in: end: 2017-01-10 10:00:05.999999999 +00:00 out: values: - - *row57 - - *row55 - - *row52 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 cache: items: - itemid: 1 @@ -2564,56 +1721,9 @@ out: # TC32 # Test that items in cache are continued to be cached in low memory mode. test case: Get number of data item values when cache working in low memory mode +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -2631,22 +1741,33 @@ in: end: 2017-01-10 10:00:03.999999999 +00:00 out: values: - - *row37 - - *row35 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 598 values_total: 9 @@ -2658,56 +1779,9 @@ out: # TC33 # Test that items in cache are continued to be cached in low memory mode. test case: Get interval of data item values when cache working in low memory mode +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -2725,26 +1799,41 @@ in: end: 2017-01-10 10:00:03.999999999 +00:00 out: values: - - *row37 - - *row35 - - *row32 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 599 values_total: 12 @@ -2756,56 +1845,9 @@ out: # TC34 # Test that items in cache are continued to be cached in low memory mode. test case: Get number of data item values from interval when cache working in low memory mode +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -2823,27 +1865,43 @@ in: end: 2017-01-10 10:00:03.999999999 +00:00 out: values: - - *row37 - - *row35 - - *row32 - - *row27 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 599 values_total: 12 @@ -2855,89 +1913,38 @@ out: # TC35 # Test that old item is dropped to free space and cache put in low memory mode. test case: Get values with not enough space in cache +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: + - *include - itemid: 2 value type: ITEM_VALUE_TYPE_LOG data: - - &row1 - value: value 1 + - value: value 1 source: log source 1 logeventid: 1000001 severity: 1 timestamp: 1001 ts: 2017-01-10 10:00:01.000000000 +00:00 - - &row2 - value: value 2 + - value: value 2 source: log source 2 logeventid: 1000002 severity: 2 timestamp: 1002 ts: 2017-01-10 10:00:02.000000000 +00:00 - - &row3 - value: value 3 + - value: value 3 source: log source 3 logeventid: 1000003 severity: 3 timestamp: 1003 ts: 2017-01-10 10:00:03.000000000 +00:00 - - &row4 - value: value 4 + - value: value 4 source: log source 4 logeventid: 1000004 severity: 4 timestamp: 1004 ts: 2017-01-10 10:00:04.000000000 +00:00 - - &row5 - value: value 5 + - value: value 5 source: log source 5 logeventid: 1000005 severity: 5 @@ -2960,29 +1967,47 @@ in: end: 2017-01-10 10:00:01.999999999 +00:00 out: values: - - *row17 - - *row15 - - *row12 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row12 - - *row15 - - *row17 - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 601 values_total: 15 @@ -3135,56 +2160,9 @@ out: # TC37 # Test that item's active range is not decreased during a day. test case: Active range tracking during day +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -3206,21 +2184,36 @@ out: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row12 - - *row15 - - *row17 - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 1200 values_total: 15 @@ -3232,56 +2225,9 @@ out: # TC38 # Test if the active range ir properly reduced to the daily range each day test case: Active range change in next few days +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -3309,21 +2255,36 @@ out: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row12 - - *row15 - - *row17 - - *row22 - - *row25 - - *row27 - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 1.2 + ts: 2017-01-10 10:00:01.200000000 +00:00 + - value: value 1.5 + ts: 2017-01-10 10:00:01.500000000 +00:00 + - value: value 1.7 + ts: 2017-01-10 10:00:01.700000000 +00:00 + - value: value 2.2 + ts: 2017-01-10 10:00:02.200000000 +00:00 + - value: value 2.5 + ts: 2017-01-10 10:00:02.500000000 +00:00 + - value: value 2.7 + ts: 2017-01-10 10:00:02.700000000 +00:00 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 101 values_total: 15 @@ -3335,56 +2296,9 @@ out: # TC39 # Test that value cache attempts to switch back to normal mode after running a day in low memory mode. test case: Switch back to normal mode after working a day in low memory mode +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -3417,56 +2331,9 @@ out: # TC40 # Test that all data from end timestamp second is cached and the required data is returned */ test case: Get interval of values when using nanoseconds in end time +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] test: time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -3476,23 +2343,35 @@ in: end: 2017-01-10 10:00:04.500000000 +00:00 out: values: - - *row45 - - *row42 - - *row37 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 cache: items: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 status: active_range: 598 values_total: 9 @@ -3504,56 +2383,9 @@ out: # TC41 # Test that all data from end timestamp second is cached and the required data is returned */ test case: Get number of values when using nanoseconds in end time +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] test: time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -3563,80 +2395,41 @@ in: end: 2017-01-10 10:00:04.500000000 +00:00 out: values: - - *row45 - - *row42 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 cache: items: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 - status: - active_range: 597 - values_total: 6 - db_cached_from: 2017-01-10 10:00:04.000000000 +00:00 + - itemid: 1 + value type: ITEM_VALUE_TYPE_STR + data: + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + status: + active_range: 597 + values_total: 6 + db_cached_from: 2017-01-10 10:00:04.000000000 +00:00 mode: ZBX_VC_MODE_NORMAL hits: 0 misses: 2 --- # TC42 # Test that all data from end timestamp second is cached and the required data is returned */ -test case: Get number of values during interval when using nanoseconds in end time +test case: Get number of values during interval when using nanoseconds in end time +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] test: time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -3646,23 +2439,31 @@ in: end: 2017-01-10 10:00:04.500000000 +00:00 out: values: - - *row45 - - *row42 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 cache: items: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 - status: - active_range: 597 - values_total: 6 - db_cached_from: 2017-01-10 10:00:04.000000000 +00:00 + - itemid: 1 + value type: ITEM_VALUE_TYPE_STR + data: + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + status: + active_range: 597 + values_total: 6 + db_cached_from: 2017-01-10 10:00:04.000000000 +00:00 mode: ZBX_VC_MODE_NORMAL hits: 0 misses: 2 @@ -3670,56 +2471,9 @@ out: # TC43 # Test that all data from end timestamp second is cached and the required data is returned */ test case: Get number of values during interval when using nanoseconds in end time and not enough data +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] test: time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -3729,27 +2483,39 @@ in: end: 2017-01-10 10:00:04.500000000 +00:00 out: values: - - *row45 - - *row42 - - *row37 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 cache: items: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 - status: - active_range: 597 - values_total: 9 - db_cached_from: 2017-01-10 10:00:03.000000000 +00:00 + - itemid: 1 + value type: ITEM_VALUE_TYPE_STR + data: + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + status: + active_range: 597 + values_total: 9 + db_cached_from: 2017-01-10 10:00:03.000000000 +00:00 mode: ZBX_VC_MODE_NORMAL hits: 0 misses: 3 @@ -3757,56 +2523,9 @@ out: # TC44 # Test that all data from end timestamp second is cached and the required data is returned */ test case: Get 1 value during interval when using nanoseconds in end time +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] test: time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -3816,22 +2535,29 @@ in: end: 2017-01-10 10:00:04.500000000 +00:00 out: values: - - *row45 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 cache: items: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 - status: - active_range: 597 - values_total: 6 - db_cached_from: 2017-01-10 10:00:04.000000000 +00:00 + - itemid: 1 + value type: ITEM_VALUE_TYPE_STR + data: + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + status: + active_range: 597 + values_total: 6 + db_cached_from: 2017-01-10 10:00:04.000000000 +00:00 mode: ZBX_VC_MODE_NORMAL hits: 0 misses: 1 @@ -3839,56 +2565,9 @@ out: # TC45 # Test that values withing the interval end second but not matching nanoseconds are not returned */ test case: Get 1 value during interval when using nanoseconds in end time (2) +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] test: time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -3898,25 +2577,35 @@ in: end: 2017-01-10 10:00:04.100000000 +00:00 out: values: - - *row37 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 cache: items: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 - status: - active_range: 598 - values_total: 9 - db_cached_from: 2017-01-10 10:00:03.000000000 +00:00 + - itemid: 1 + value type: ITEM_VALUE_TYPE_STR + data: + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + status: + active_range: 598 + values_total: 9 + db_cached_from: 2017-01-10 10:00:03.000000000 +00:00 mode: ZBX_VC_MODE_NORMAL hits: 0 misses: 1 @@ -3924,56 +2613,9 @@ out: # TC46 # Test that values withing the interval end second but not matching nanoseconds are not returned */ test case: Get 10 values during interval when using nanoseconds in end time +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] precache: - time: 2017-01-10 10:10:00.000000000 +00:00 itemid: 1 @@ -3990,27 +2632,39 @@ in: end: 2017-01-10 10:00:04.500000000 +00:00 out: values: - - *row45 - - *row42 - - *row37 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 cache: items: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - *row32 - - *row35 - - *row37 - - *row42 - - *row45 - - *row47 - - *row52 - - *row55 - - *row57 - status: - active_range: 598 - values_total: 9 - db_cached_from: 2017-01-10 10:00:03.000000000 +00:00 + - itemid: 1 + value type: ITEM_VALUE_TYPE_STR + data: + - value: value 3.2 + ts: 2017-01-10 10:00:03.200000000 +00:00 + - value: value 3.5 + ts: 2017-01-10 10:00:03.500000000 +00:00 + - value: value 3.7 + ts: 2017-01-10 10:00:03.700000000 +00:00 + - value: value 4.2 + ts: 2017-01-10 10:00:04.200000000 +00:00 + - value: value 4.5 + ts: 2017-01-10 10:00:04.500000000 +00:00 + - value: value 4.7 + ts: 2017-01-10 10:00:04.700000000 +00:00 + - value: value 5.2 + ts: 2017-01-10 10:00:05.200000000 +00:00 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 + - value: value 5.7 + ts: 2017-01-10 10:00:05.700000000 +00:00 + status: + active_range: 598 + values_total: 9 + db_cached_from: 2017-01-10 10:00:03.000000000 +00:00 mode: ZBX_VC_MODE_NORMAL hits: 3 misses: 0 @@ -4023,17 +2677,13 @@ in: - itemid: 1 value type: ITEM_VALUE_TYPE_STR data: - - &row52 - value: value 5.2 + - value: value 5.2 ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row55 - value: value 5.5 + - value: value 5.5 ts: 2017-01-10 10:00:06.500000000 +00:00 - - &row57 - value: value 5.7 + - value: value 5.7 ts: 2017-01-10 10:00:07.700000000 +00:00 - - &row58 - value: value 5.7 + - value: value 5.7 ts: 2017-01-10 10:00:08.800000000 +00:00 test: cache mode: ZBX_VC_MODE_LOWMEM @@ -4052,59 +2702,12 @@ out: hits: 0 misses: 0 --- -# TC29 +# TC48 # Test that value in a middle of second interval is returned. test case: Get 1 item value when cache working in low memory mode +include: &include zbx_vc_get_values.inc.yaml in: - history: - - itemid: 1 - value type: ITEM_VALUE_TYPE_STR - data: - - &row12 - value: value 1.2 - ts: 2017-01-10 10:00:01.200000000 +00:00 - - &row15 - value: value 1.5 - ts: 2017-01-10 10:00:01.500000000 +00:00 - - &row17 - value: value 1.7 - ts: 2017-01-10 10:00:01.700000000 +00:00 - - &row22 - value: value 2.2 - ts: 2017-01-10 10:00:02.200000000 +00:00 - - &row25 - value: value 2.5 - ts: 2017-01-10 10:00:02.500000000 +00:00 - - &row27 - value: value 2.7 - ts: 2017-01-10 10:00:02.700000000 +00:00 - - &row32 - value: value 3.2 - ts: 2017-01-10 10:00:03.200000000 +00:00 - - &row35 - value: value 3.5 - ts: 2017-01-10 10:00:03.500000000 +00:00 - - &row37 - value: value 3.7 - ts: 2017-01-10 10:00:03.700000000 +00:00 - - &row42 - value: value 4.2 - ts: 2017-01-10 10:00:04.200000000 +00:00 - - &row45 - value: value 4.5 - ts: 2017-01-10 10:00:04.500000000 +00:00 - - &row47 - value: value 4.7 - ts: 2017-01-10 10:00:04.700000000 +00:00 - - &row52 - value: value 5.2 - ts: 2017-01-10 10:00:05.200000000 +00:00 - - &row55 - value: value 5.5 - ts: 2017-01-10 10:00:05.500000000 +00:00 - - &row57 - value: value 5.7 - ts: 2017-01-10 10:00:05.700000000 +00:00 + history: [*include] test: cache mode: ZBX_VC_MODE_LOWMEM time: 2017-01-10 10:10:00.000000000 +00:00 @@ -4115,7 +2718,8 @@ in: end: 2017-01-10 10:00:05.600000000 +00:00 out: values: - - *row55 + - value: value 5.5 + ts: 2017-01-10 10:00:05.500000000 +00:00 cache: items: - itemid: 1 diff --git a/tests/tests_run.pl b/tests/tests_run.pl index ac8ee8138c4..7d773653f2b 100755 --- a/tests/tests_run.pl +++ b/tests/tests_run.pl @@ -9,6 +9,8 @@ use IPC::Run3 qw(run3); use Time::HiRes qw(time); use File::Basename qw(dirname); use Getopt::Long qw(GetOptions); +use Cwd qw(getcwd); + use constant TEST_SUITE_ATTRIBUTES => ('name', 'tests', 'skipped', 'errors', 'failures', 'time'); use constant TEST_CASE_ATTRIBUTES => ('name', 'assertions', 'time'); @@ -63,7 +65,19 @@ sub launch($$$) my $out; my $err; - eval {run3($test_exec, \$in, \$out, \$err)}; + my($path, $filename) = $test_exec =~ m{(.+)/([^/]+)$}; + + if ($path ne '.') + { + my $current_dir = getcwd(); + chdir $path; + eval {run3('./' . $filename, \$in, \$out, \$err)}; + chdir $current_dir; + } + else + { + eval {run3($test_exec, \$in, \$out, \$err)}; + } if ($@) # something went wrong with run3() { @@ -112,6 +126,7 @@ while (my $path = $iter->()) next unless ($path->is_file()); next unless ($path->basename =~ qr/^(.+)\.yaml$/); next unless (not defined $target_suite or $1 eq $target_suite); + next if ($path->basename =~ qr/^(.+)\.inc\.yaml$/); my $test_suite = { 'name' => $1, diff --git a/tests/zbxmockdata.c b/tests/zbxmockdata.c index 80d2761c649..f9fd7d73360 100644 --- a/tests/zbxmockdata.c +++ b/tests/zbxmockdata.c @@ -25,6 +25,9 @@ #include "common.h" #include "zbxalgo.h" +FILE *__real_fopen(const char *path, const char *mode); +int __real_fclose(FILE *stream); + static zbx_vector_ptr_t handle_pool; /* a place to store handles provided to mock data user */ static zbx_vector_str_t string_pool; /* a place to store strings provided to mock data user */ static yaml_document_t test_case; /* parsed YAML document with test case data */ @@ -100,153 +103,351 @@ static int zbx_yaml_scalar_ncmp(const char *str, size_t len, const yaml_node_t * return strncmp(str, (const char *)node->data.scalar.value, node->data.scalar.length); } -/* TODO: validate that keys in "in", "out", "db data" are scalars; validate "db data" */ -int zbx_mock_data_init(void **state) +static int zbx_yaml_add_node(yaml_document_t *dst_doc, yaml_document_t *src_doc, yaml_node_t *src) { - yaml_parser_t parser; + int new_node, key, value; + yaml_node_pair_t *pair; + yaml_node_item_t *item; - ZBX_UNUSED(state); + switch (src->type) + { + case YAML_SCALAR_NODE: + new_node = yaml_document_add_scalar(dst_doc, src->tag, src->data.scalar.value, + src->data.scalar.length, src->data.scalar.style); + break; + + case YAML_MAPPING_NODE: + new_node = yaml_document_add_mapping(dst_doc, src->tag, src->data.mapping.style); + for (pair = src->data.mapping.pairs.start; pair < src->data.mapping.pairs.top; pair++) + { + key = zbx_yaml_add_node(dst_doc, src_doc, yaml_document_get_node(src_doc, pair->key)); + value = zbx_yaml_add_node(dst_doc, src_doc, yaml_document_get_node(src_doc, pair->value)); + yaml_document_append_mapping_pair(dst_doc, new_node, key, value); + } + break; + case YAML_SEQUENCE_NODE: + new_node = yaml_document_add_sequence(dst_doc, src->tag, src->data.sequence.style); + for (item = src->data.sequence.items.start; item < src->data.sequence.items.top; item++) + { + value = zbx_yaml_add_node(dst_doc, src_doc, yaml_document_get_node(src_doc, *item)); + yaml_document_append_sequence_item(dst_doc, new_node, value); + } + break; + case YAML_NO_NODE: + return -1; + } + + return new_node; +} + +static int zbx_yaml_include(yaml_document_t *dst_doc, yaml_node_pair_t *dst, const char *filename) +{ + yaml_parser_t parser; + yaml_document_t doc; + yaml_node_t *src_root; + FILE *fp; + int index = -1; + + if (NULL == (fp = __real_fopen(filename, "r"))) + { + printf("Cannot open include file '%s': %s\n", filename, strerror(errno)); + goto out; + } yaml_parser_initialize(&parser); - yaml_parser_set_input_file(&parser, stdin); + yaml_parser_set_input_file(&parser, fp); + + if (0 != yaml_parser_load(&parser, &doc) && NULL != (src_root = yaml_document_get_root_node(&doc))) + { + if (-1 != (index = zbx_yaml_add_node(dst_doc, &doc, src_root))) + dst->value = index; + } + + __real_fclose(fp); + + yaml_document_delete(&doc); + yaml_parser_delete(&parser); +out: + return index; +} + +static void zbx_yaml_replace_node_rec(yaml_document_t *doc, yaml_node_t *parent, const char *old_value, + int new_index) +{ + yaml_node_t *value_node; + + if (YAML_MAPPING_NODE == parent->type) + { + yaml_node_pair_t *pair; + + for (pair = parent->data.mapping.pairs.start; pair < parent->data.mapping.pairs.top; pair++) + { + value_node = yaml_document_get_node(doc, pair->value); + if (YAML_SCALAR_NODE == value_node->type && 0 == zbx_yaml_scalar_cmp(old_value, value_node)) + pair->value = new_index; + else + zbx_yaml_replace_node_rec(doc, value_node, old_value, new_index); + } + } + else if (YAML_SEQUENCE_NODE == parent->type) + { + yaml_node_item_t *item; + + for (item = parent->data.sequence.items.start; item < parent->data.sequence.items.top; item++) + { + value_node = yaml_document_get_node(doc, *item); + if (YAML_SCALAR_NODE == value_node->type && 0 == zbx_yaml_scalar_cmp(old_value, value_node)) + *item = new_index; + else + zbx_yaml_replace_node_rec(doc, value_node, old_value, new_index); + } + } +} + +/****************************************************************************** + * * + * Function: zbx_yaml_replace_node * + * * + * Purpose: replaces node occurrences in mappings and sequences with the new * + * node index * + * * + * Comments: When the test input data is converted by perl it loses anchor * + * information. As workaround we try to find the occurrences not by * + * old node index, but by old node value. With including the * + * possibility of other nodes having 'filename.inc.yaml' value is * + * practically non-existent. * + * * + ******************************************************************************/ +static void zbx_yaml_replace_node(yaml_document_t *doc, int old_index, int new_index) +{ + char *value; + yaml_node_t *node, *parent; + + if (NULL == (node = yaml_document_get_node(doc, old_index))) + return; + + if (NULL == (parent = yaml_document_get_root_node(doc))) + return; + + value = zbx_malloc(NULL, node->data.scalar.length + 1); + memcpy(value, node->data.scalar.value, node->data.scalar.length); + value[node->data.scalar.length] = '\0'; + + zbx_yaml_replace_node_rec(doc, parent, value, new_index); + zbx_free(value); +} + +/****************************************************************************** + * * + * Function: zbx_yaml_check_include * + * * + * Purpose: includes another yaml document if include tag is set * + * * + * Comments: The document is included by recursively copying its contents * + * under include tag, replacing its original value (file name). * + * The file is included from the working directory. * + * After modifying document (so after include) the previously * + * acquired yaml nodes are not guaranteed to be valid and must be * + * reinitialized. * + * * + ******************************************************************************/ +static int zbx_yaml_check_include(yaml_document_t *doc) +{ + yaml_node_pair_t *pair; + int old_index, new_index; + char filename[MAX_STRING_LEN]; + + root = yaml_document_get_root_node(doc); + + if (YAML_MAPPING_NODE != root->type) + return -1; + + for (pair = root->data.mapping.pairs.start; pair < root->data.mapping.pairs.top; pair++) + { + if (0 == zbx_yaml_scalar_cmp("include", yaml_document_get_node(doc, pair->key))) + { + const yaml_node_t *node; + + old_index = pair->value; + node = yaml_document_get_node(doc, pair->value); + + if (YAML_SCALAR_NODE != node->type) + continue; + + memcpy(filename, node->data.scalar.value, node->data.scalar.length); + filename[node->data.scalar.length] = '\0'; + + if (-1 != (new_index = zbx_yaml_include(doc, pair, filename))) + { + zbx_yaml_replace_node(doc, old_index, new_index); + + /* re-acquire root node - after changes to the document */ + /* the previously acquired node pointers are not valid */ + root = yaml_document_get_root_node(&test_case); + } + + break; + } + } + + return 0; +} + +static int zbx_mock_data_load_test_case() +{ + const yaml_node_pair_t *pair; + + if (-1 == zbx_yaml_check_include(&test_case)) + return -1; - if (0 != yaml_parser_load(&parser, &test_case)) + for (pair = root->data.mapping.pairs.start; pair < root->data.mapping.pairs.top; pair++) { - if (NULL != (root = yaml_document_get_root_node(&test_case))) + const yaml_node_t *key; + + key = yaml_document_get_node(&test_case, pair->key); + + if (YAML_SCALAR_NODE == key->type) { - yaml_document_t tmp; + if (0 == zbx_yaml_scalar_cmp("in", key)) + { + in = yaml_document_get_node(&test_case, pair->value); - if (0 != yaml_parser_load(&parser, &tmp)) + if (YAML_MAPPING_NODE != in->type) + { + printf("\"in\" is not a mapping.\n"); + break; + } + } + else if (0 == zbx_yaml_scalar_cmp("out", key)) { - if (NULL == yaml_document_get_root_node(&tmp)) + out = yaml_document_get_node(&test_case, pair->value); + + if (YAML_MAPPING_NODE != out->type) { - yaml_document_delete(&tmp); - - if (YAML_MAPPING_NODE == root->type) - { - const yaml_node_pair_t *pair; - - for (pair = root->data.mapping.pairs.start; - pair < root->data.mapping.pairs.top; pair++) - { - const yaml_node_t *key; - - key = yaml_document_get_node(&test_case, pair->key); - - if (YAML_SCALAR_NODE == key->type) - { - if (0 == zbx_yaml_scalar_cmp("in", key)) - { - in = yaml_document_get_node(&test_case, - pair->value); - - if (YAML_MAPPING_NODE != in->type) - { - printf("\"in\" is not a mapping.\n"); - break; - } - } - else if (0 == zbx_yaml_scalar_cmp("out", key)) - { - out = yaml_document_get_node(&test_case, - pair->value); - - if (YAML_MAPPING_NODE != out->type) - { - printf("\"out\" is not a mapping.\n"); - break; - } - } - else if (0 == zbx_yaml_scalar_cmp("db data", key)) - { - db_data = yaml_document_get_node(&test_case, - pair->value); - - if (YAML_MAPPING_NODE != db_data->type) - { - printf("\"db data\" is not a mapping.\n"); - break; - } - } - else if (0 == zbx_yaml_scalar_cmp("files", key)) - { - files = yaml_document_get_node(&test_case, - pair->value); - - if (YAML_MAPPING_NODE != files->type) - { - printf("\"files\" is not a mapping.\n"); - break; - } - } - else if (0 == zbx_yaml_scalar_cmp("exit code", key)) - { - exit_code = yaml_document_get_node(&test_case, - pair->value); - - if (YAML_SCALAR_NODE != exit_code->type) - { - printf("\"exit code\" is not a scalar.\n"); - break; - } - - if (0 != zbx_yaml_scalar_cmp("success", exit_code) && - 0 != zbx_yaml_scalar_cmp("failure", exit_code)) - { - printf("Invalid value \"%.*s\" of" - " \"exit code\".\n", - (int)exit_code->data.scalar.length, - exit_code->data.scalar.value); - break; - } - } - else if (0 != zbx_yaml_scalar_cmp("test case", key)) - { - printf("Unexpected key \"%.*s\" in mapping.\n", - (int)key->data.scalar.length, - key->data.scalar.value); - break; - } - - continue; - } - else - printf("Non-scalar key in mapping.\n"); - - break; - } - - if (pair >= root->data.mapping.pairs.top) - { - yaml_parser_delete(&parser); - zbx_vector_ptr_create(&handle_pool); - zbx_vector_str_create(&string_pool); - return 0; - } - } - else - printf("Document is not a mapping.\n"); + printf("\"out\" is not a mapping.\n"); + break; } - else + } + else if (0 == zbx_yaml_scalar_cmp("db data", key)) + { + db_data = yaml_document_get_node(&test_case, pair->value); + + if (YAML_MAPPING_NODE != db_data->type) { - printf("Stream contains multiple documents.\n"); - yaml_document_delete(&tmp); + printf("\"db data\" is not a mapping.\n"); + break; } } - else - printf("Cannot parse input: %s\n", zbx_yaml_error_string(parser.error)); + else if (0 == zbx_yaml_scalar_cmp("files", key)) + { + files = yaml_document_get_node(&test_case, pair->value); + + if (YAML_MAPPING_NODE != files->type) + { + printf("\"files\" is not a mapping.\n"); + break; + } + } + else if (0 == zbx_yaml_scalar_cmp("exit code", key)) + { + exit_code = yaml_document_get_node(&test_case, pair->value); + + if (YAML_SCALAR_NODE != exit_code->type) + { + printf("\"exit code\" is not a scalar.\n"); + break; + } - yaml_document_delete(&test_case); + if (0 != zbx_yaml_scalar_cmp("success", exit_code) && + 0 != zbx_yaml_scalar_cmp("failure", exit_code)) + { + printf("Invalid value \"%.*s\" of" + " \"exit code\".\n", + (int)exit_code->data.scalar.length, + exit_code->data.scalar.value); + break; + } + } + else if (0 != zbx_yaml_scalar_cmp("test case", key) && + 0 != zbx_yaml_scalar_cmp("include", key)) + { + printf("Unexpected key \"%.*s\" in mapping.\n", + (int)key->data.scalar.length, + key->data.scalar.value); + break; + } + + continue; } else - printf("Stream contains no documents.\n"); + printf("Non-scalar key in mapping.\n"); + + break; + } + + if (pair < root->data.mapping.pairs.top) + return -1; + + zbx_vector_ptr_create(&handle_pool); + zbx_vector_str_create(&string_pool); + return 0; +} + +static int zbx_mock_data_load(yaml_parser_t *parser) +{ + yaml_document_t tmp; + int ret = -1; + + if (NULL == (root = yaml_document_get_root_node(&test_case))) + { + printf("Stream contains no documents.\n"); + return -1; } + + if (YAML_MAPPING_NODE != root->type) + { + printf("Document is not a mapping.\n"); + return -1; + } + + if (0 == yaml_parser_load(parser, &tmp)) + { + printf("Cannot parse input: %s\n", zbx_yaml_error_string(parser->error)); + return -1; + } + + if (NULL == yaml_document_get_root_node(&tmp)) + ret = zbx_mock_data_load_test_case(); else + printf("Stream contains multiple documents.\n"); + + yaml_document_delete(&tmp); + + return ret; +} + + +/* TODO: validate that keys in "in", "out", "db data" are scalars; validate "db data" */ +int zbx_mock_data_init(void **state) +{ + yaml_parser_t parser; + int ret; + + ZBX_UNUSED(state); + + yaml_parser_initialize(&parser); + yaml_parser_set_input_file(&parser, stdin); + + if (0 == yaml_parser_load(&parser, &test_case)) + { printf("Cannot parse input: %s\n", zbx_yaml_error_string(parser.error)); + return -1; + } + ret = zbx_mock_data_load(&parser); yaml_parser_delete(&parser); - *state = NULL; - return -1; + + return ret; } static zbx_mock_handle_t zbx_mock_handle_alloc(const yaml_node_t *node) |