From d923d5a79c34db26167ab7800d499b9f3161a8bf Mon Sep 17 00:00:00 2001 From: Victor Moene Date: Fri, 28 Nov 2025 13:55:35 +0100 Subject: [PATCH] Fixed findlocaluser test Ticket: ENT-13532 Signed-off-by: Victor Moene --- .../findlocalgroups.cf.expected.json | 46 ---------------- .../01_vars/02_functions/findlocalusers.cf | 53 +++++++++++++------ 2 files changed, 36 insertions(+), 63 deletions(-) delete mode 100644 tests/acceptance/01_vars/02_functions/findlocalgroups.cf.expected.json diff --git a/tests/acceptance/01_vars/02_functions/findlocalgroups.cf.expected.json b/tests/acceptance/01_vars/02_functions/findlocalgroups.cf.expected.json deleted file mode 100644 index fd8316b8e0..0000000000 --- a/tests/acceptance/01_vars/02_functions/findlocalgroups.cf.expected.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "glist1": { - "root": { - "gid": 0, - "members": [] - } - }, - "glist2": { - "root": { - "gid": 0, - "members": [] - } - }, - "glist3": { - "root": { - "gid": 0, - "members": [] - } - }, - "glist4": { - "root": { - "gid": 0, - "members": [] - } - }, - "glist5": { - "root": { - "gid": 0, - "members": [] - } - }, - "glist6": { - "root": { - "gid": 0, - "members": [] - } - }, - "glist7": { - "root": { - "gid": 0, - "members": [] - } - }, - "glist8": { - } -} diff --git a/tests/acceptance/01_vars/02_functions/findlocalusers.cf b/tests/acceptance/01_vars/02_functions/findlocalusers.cf index 095a44ddef..86eb05fc6f 100644 --- a/tests/acceptance/01_vars/02_functions/findlocalusers.cf +++ b/tests/acceptance/01_vars/02_functions/findlocalusers.cf @@ -27,26 +27,45 @@ bundle agent init } bundle agent test { - meta: - "test_soft_fail" string => "windows|aix|solaris|hpux|redhat_10", - comment => "redhat_10 user name is 'Super User' not 'root'", - meta => { "CFE-2318" }; - vars: - "ulist1" data => findlocalusers("@(init.simple_filter)"); - "ulist2" data => findlocalusers("init.number_filter"); - "ulist4" data => findlocalusers("@(init.slist_filter)"); - "ulist3" data => findlocalusers("@(init.data_filter)"); - "ulist5" data => findlocalusers("@(init.simple_regex)"); - "ulist6" data => findlocalusers("@(init.number_regex)"); - "ulist7" data => findlocalusers("@(init.longer_regex)"); - "ulist8" data => findlocalusers("@(init.unknown)"); + # parsing /etc/passwd for 'root' user + "root_idx" int => getfields("root:.*", "/etc/passwd", ":", "userdata"); + + "root_string" string => ifelse(isvariable("userdata[1]"), + storejson(parsejson('{$(userdata[1]) : { "uid" : $(userdata[3]) , "gid" : $(userdata[4]) , "gecos" : "$(userdata[5])", "dir" : "$(userdata[6])", "shell" : "$(userdata[7])"}}')), + storejson(parsejson('{}')) + ); + "empty_string" string => storejson(parsejson('{}')); + + "ulist1" string => storejson(findlocalusers("@(init.simple_filter)")); + "ulist2" string => storejson(findlocalusers("init.number_filter")); + "ulist4" string => storejson(findlocalusers("@(init.slist_filter)")); + "ulist3" string => storejson(findlocalusers("@(init.data_filter)")); + "ulist5" string => storejson(findlocalusers("@(init.simple_regex)")); + "ulist6" string => storejson(findlocalusers("@(init.number_regex)")); + "ulist7" string => storejson(findlocalusers("@(init.longer_regex)")); + "ulist8" string => storejson(findlocalusers("@(init.unknown)")); } bundle agent check { - methods: - "check" usebundle => dcs_check_state(test, - "$(this.promise_filename).expected.json", - $(this.promise_filename)); + meta: + "test_soft_fail" string => "windows", + meta => { "CFE-2318" }; + classes: + "ok" expression => and( + strcmp("$(test.ulist1)", "$(test.root_string)"), + strcmp("$(test.ulist2)", "$(test.root_string)"), + strcmp("$(test.ulist3)", "$(test.root_string)"), + strcmp("$(test.ulist4)", "$(test.root_string)"), + strcmp("$(test.ulist5)", "$(test.root_string)"), + strcmp("$(test.ulist6)", "$(test.root_string)"), + strcmp("$(test.ulist7)", "$(test.root_string)"), + strcmp("$(test.ulist8)", "$(test.empty_string)") + ); + reports: + ok:: + "$(this.promise_filename) Pass"; + !ok:: + "$(this.promise_filename) FAIL"; }