File: inline_json.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 (67 lines) | stat: -rw-r--r-- 1,911 bytes parent folder | download | duplicates (6)
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
###########################################################
#
# Test inline JSON expansion
#
###########################################################

body common control
{
    inputs => { "../../default.cf.sub" };
    bundlesequence => { default($(this.promise_filename)) };
    version => "1.0";
}

###########################################################

bundle agent test
{
  vars:
      "z" string => "100";
      "foo" string => "bar";

      # test mergedata() as well
      "var" data => mergedata('[]', '["x"]');

      # test mapdata() as well
      "var2" data => mapdata("none", '$(this.v)', '["x"]');

      # the basic building block
      "var3" data => data_expand('["linux"]');

      # variable references with a bundle
      "var4" data => data_expand('[test.var3]');
      "var5" data => data_expand('[test.var3,]');

      # make sure bareword keys are not expanded
      "var6" data => data_expand('[foo]');
      "var7" data => data_expand('{foo:var3}');

      # variable references without a bundle
      "var8" data => data_expand('[var3]');
      "var9" data => data_expand('{ "x": var3 }');

      # regular lookup with bundle name into a map value
      "varA" data => data_expand('{ "fullx": test.var3 }');

      # try to trigger off-by-one errors
      "varB" data => data_expand('[z]');

      # intentionally broken to try to trigger off-by-one errors
      "varC" data => data_expand('[z');

      # inline array lookup
      "varD" data => data_expand('[var3[0]]');
      "varE" data => data_expand('[varA[fullx]]');
      "varF" data => data_expand('[var9[x]]');

}

###########################################################

bundle agent check
{
  methods:
      "check"  usebundle => dcs_check_state(test,
                                           "$(this.promise_filename).expected.json",
                                           $(this.promise_filename));
}