1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
#######################################################
#
# Test maparray()
#
#######################################################
body common control
{
inputs => { "../../default.cf.sub" };
bundlesequence => { default("$(this.promise_filename)") };
version => "1.0";
}
#######################################################
bundle agent init
{
}
#######################################################
bundle agent test
{
vars:
"load1" data => parsejson('[ 1, 2, 3]');
"load2" slist => { "eleme\"nt1", "element2", "element3" };
"load3" data => parsejson('{ "x\\"x": "y\\"y" }');
"load4" data => parsejson('[]');
"load5[mykey]" slist => { "myvalue" };
"load5[anotherkey]" string => "anothervalue";
"load5[lastkey!]" slist => { "o\"ne", "two", "three" };
"load6" data => parsejson('{ "a": { "b": "c" } }');
"static[x]" string => "xvalue";
"static[x\"x]" string => "xxvalue";
"static[0]" string => "0value";
"static[1]" string => "1value";
"static[2]" string => "2value";
"static[lastkey!]" string => "lastvalue";
"static[anotherkey]" string => "anothervalue";
"static[mykey]" string => "myvalue";
"static[a]" string => "avalue";
"spec1" string => "key = $(this.k)";
"spec2" string => "key = $(this.k), value = ${this.v}";
"spec3" string => "key = $(this.k), key2 = $(this.k[1]), value = ${this.v}";
"spec4" string => "xvalue should be $(static[$(this.k)])";
"jsonspec1" string => '{ "key": "$(this.k)", "value": "$(this.v)"';
"jsonspec2" string => '{ "key": "$(this.k)", "value": "$(this.v)" }';
"jsonspec3" string => '[ "$(this.k)", "$(this.v)" ]';
"jsonspec4" string => '{ "key": "$(this.k)", "key2": "$(this.k[1])", "value": "$(this.v)" }';
"X" slist => { "1", "2", "3", "4", "5", "6" };
"Y" slist => { "1", "2", "3", "4" };
"maparray_$(X)_$(Y)" slist => sort(maparray("$(spec$(Y))", "load$(X)"));
"bad2" slist => maparray("", missingvar);
"justastring" string => "me";
"bad4" slist => maparray("", justastring);
}
#######################################################
bundle agent check
{
methods:
"check" usebundle => dcs_check_state(test,
"$(this.promise_filename).expected.json",
$(this.promise_filename));
}
|