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

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes1
-rw-r--r--tests/libs/zbxdbcache/zbx_vc_get_values.inc.yaml35
-rw-r--r--tests/libs/zbxdbcache/zbx_vc_get_values.yaml3440
-rwxr-xr-xtests/tests_run.pl17
-rw-r--r--tests/zbxmockdata.c451
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)