File: maparray.cf

package info (click to toggle)
cfengine3 3.24.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 37,552 kB
  • sloc: ansic: 163,161; sh: 10,296; python: 2,950; makefile: 1,744; lex: 784; yacc: 633; perl: 211; pascal: 157; xml: 21; sed: 13
file content (72 lines) | stat: -rw-r--r-- 2,436 bytes parent folder | download | duplicates (5)
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));
}