1####################################################### 2# 3# Test every(), some(), and none() 4# 5####################################################### 6 7body common control 8{ 9 inputs => { "../../default.cf.sub" }; 10 bundlesequence => { default("$(this.promise_filename)") }; 11 version => "1.0"; 12} 13 14####################################################### 15 16bundle agent test 17{ 18 methods: 19 "pretest"; 20 "collect"; 21} 22 23bundle common pretest 24{ 25 vars: 26 "test" slist => { 27 1,2,3, 28 "one", "two", "three", 29 "long string", 30 "four", "fix", "six", 31 "one", "two", "three", 32 }; 33 34 "empty" slist => { }; 35 36 "d1" data => parsejson(' 37[1,2,3, 38 "one", "two", "three", 39 "long string", 40 "four", "fix", "six", 41 "one", "two", "three"]'); 42 43 "d2" data => parsejson(' 44{ "one": 1, "two": 2, "three": 3, 45 "x": "y", "a": "b", "p": "q" }'); 46 47 "dempty" data => parsejson('[]'); 48 49 "collected" slist => classesmatching(".*", "collect"); 50 "collected_sorted" slist => sort(collected, "lex"); 51 52 classes: 53 "every1" meta => { "collect" }, expression => every(".*", "test"); 54 "every2" meta => { "collect" }, expression => every(".", "test"); 55 56 "some1" meta => { "collect" }, expression => some("long string", "test"); 57 "some2" meta => { "collect" }, expression => some("none", "test"); 58 59 "none1" meta => { "collect" }, expression => none("jebadiah", "test"); 60 "none2" meta => { "collect" }, expression => none("2", "test"); 61 62 "every_empty" meta => { "collect" }, expression => every(".*", "empty"); 63 "some_empty" meta => { "collect" }, expression => some(".*", "empty"); 64 "none_empty" meta => { "collect" }, expression => none(".*", "empty"); 65 66 "everyd11" meta => { "collect" }, expression => every(".*", d1); 67 "everyd12" meta => { "collect" }, expression => every(".", d1); 68 69 "somed11" meta => { "collect" }, expression => some("long string", d1); 70 "somed12" meta => { "collect" }, expression => some("none", d1); 71 72 "noned11" meta => { "collect" }, expression => none("jebadiah", d1); 73 "noned12" meta => { "collect" }, expression => none("2", d1); 74 75 "everyd21" meta => { "collect" }, expression => every(".*", d2); 76 "everyd22" meta => { "collect" }, expression => every(".", d2); 77 78 "somed21" meta => { "collect" }, expression => some("long string", d2); 79 "somed22" meta => { "collect" }, expression => some("none", d2); 80 81 "noned21" meta => { "collect" }, expression => none("jebadiah", d2); 82 "noned22" meta => { "collect" }, expression => none("2", d2); 83 84 "every_dempty" meta => { "collect" }, expression => every(".*", dempty); 85 "some_dempty" meta => { "collect" }, expression => some(".*", dempty); 86 "none_dempty" meta => { "collect" }, expression => none(".*", dempty); 87 88 # with inline JSON 89 "inline_every_empty" meta => { "collect" }, expression => every(".*", '[]'); 90 "inline_some_data" meta => { "collect" }, expression => every(".*", '[ "foo", "bar" ]'); 91 "inline_none_data" meta => { "collect" }, expression => none("jebadiah", '[ "foo", "bar" ]'); 92 93} 94 95bundle common collect 96{ 97 vars: 98 "collected" slist => { @(pretest.collected_sorted) }; 99} 100 101bundle agent check 102{ 103 methods: 104 "check" usebundle => dcs_check_state(collect, 105 "$(this.promise_filename).expected.json", 106 $(this.promise_filename)); 107} 108