1#######################################################
2#
3# Test getvalues() returns all values for a given array
4# merging strings
5#
6#######################################################
7
8body common control
9{
10      inputs => { "../../default.cf.sub" };
11      bundlesequence  => { default("$(this.promise_filename)") };
12      version => "1.0";
13}
14
15#######################################################
16
17bundle agent init
18{
19  vars:
20    "data[foo]" slist => { "alpha", "bravo" };
21    "data[bar]" string => "zulu";
22}
23
24#######################################################
25
26bundle agent test
27{
28  meta:
29      "test_soft_fail" string => "!any",
30        meta => { "redmine7116" };
31
32  vars:
33    "values_data" slist => getvalues("init.data");
34}
35
36#######################################################
37
38bundle agent check
39{
40  vars:
41    "expected_elements" slist => { "alpha", "bravo", "zulu" };
42
43    "diff1" slist => difference( "test.values_data", expected_elements );
44    "diff2" slist => difference( expected_elements, "test.values_data");
45
46    "len_diff1" int => length(diff1);
47    "len_diff2" int => length(diff2);
48
49  classes:
50    "ok" expression => strcmp( $(len_diff1), $(len_diff2) );
51
52  reports:
53    DEBUG::
54      "DEBUG: data value: '$(test.values_data)'";
55      "DEBUG: expected value: '$(expected_elements)'";
56      "DEBUG: found '$(diff1)' in test.values_data, but not in expected_elements";
57      "DEBUG: found '$(diff2)' in expected_elements, but not in test.values_data";
58
59    ok::
60      "$(this.promise_filename) Pass";
61
62    !ok::
63      "$(this.promise_filename) FAIL";
64}
65