@@ -27,26 +27,48 @@ bundle agent init
2727}
2828bundle agent test
2929{
30- meta:
31- "test_soft_fail" string => "windows|aix|solaris|hpux|redhat_10",
32- comment => "redhat_10 user name is 'Super User' not 'root'",
33- meta => { "CFE-2318" };
34-
3530 vars:
36- "ulist1" data => findlocalusers("@(init.simple_filter)");
37- "ulist2" data => findlocalusers("init.number_filter");
38- "ulist4" data => findlocalusers("@(init.slist_filter)");
39- "ulist3" data => findlocalusers("@(init.data_filter)");
40- "ulist5" data => findlocalusers("@(init.simple_regex)");
41- "ulist6" data => findlocalusers("@(init.number_regex)");
42- "ulist7" data => findlocalusers("@(init.longer_regex)");
43- "ulist8" data => findlocalusers("@(init.unknown)");
31+ # parsing /etc/passwd for 'root' user
32+ "root_idx" int => getfields("root.*", "/etc/passwd", ":", "userdata");
33+
34+ "root_string" string => ifelse(isvariable("userdata[1]"),
35+ storejson(parsejson('{$(userdata[1]) : { "uid" : $(userdata[3]) , "gid" : $(userdata[4]) , "gecos" : "$(userdata[5])", "dir" : "$(userdata[6])", "shell" : "$(userdata[7])"}}')),
36+ storejson(parsejson('{}'))
37+ );
38+ "empty_string" string => storejson(parsejson('{}'));
39+
40+ "ulist1" string => storejson(findlocalusers("@(init.simple_filter)"));
41+ "ulist2" string => storejson(findlocalusers("init.number_filter"));
42+ "ulist4" string => storejson(findlocalusers("@(init.slist_filter)"));
43+ "ulist3" string => storejson(findlocalusers("@(init.data_filter)"));
44+ "ulist5" string => storejson(findlocalusers("@(init.simple_regex)"));
45+ "ulist6" string => storejson(findlocalusers("@(init.number_regex)"));
46+ "ulist7" string => storejson(findlocalusers("@(init.longer_regex)"));
47+ "ulist8" string => storejson(findlocalusers("@(init.unknown)"));
4448
4549}
4650bundle agent check
4751{
48- methods:
49- "check" usebundle => dcs_check_state(test,
50- "$(this.promise_filename).expected.json",
51- $(this.promise_filename));
52+ meta:
53+ "test_soft_fail" string => "windows",
54+ meta => { "CFE-2318" };
55+ classes:
56+ "ok" expression => and(
57+ strcmp("$(test.ulist1)", "$(test.root_string)"),
58+ strcmp("$(test.ulist2)", "$(test.root_string)"),
59+ strcmp("$(test.ulist3)", "$(test.root_string)"),
60+ strcmp("$(test.ulist4)", "$(test.root_string)"),
61+ strcmp("$(test.ulist5)", "$(test.root_string)"),
62+ strcmp("$(test.ulist6)", "$(test.root_string)"),
63+ strcmp("$(test.ulist7)", "$(test.root_string)"),
64+ strcmp("$(test.ulist8)", "$(test.empty_string)")
65+ );
66+ reports:
67+ ok::
68+ "$(this.promise_filename) Pass";
69+ !ok::
70+ "$(this.promise_filename) FAIL";
71+ DEBUG::
72+ "$(test.root_string)";
73+ "$(test.ulist1)";
5274}
0 commit comments