From f866786cccea34dce5402619e633c9712fa4d0f4 Mon Sep 17 00:00:00 2001 From: Bastian Triller Date: Sat, 13 Dec 2025 15:32:45 +0100 Subject: [PATCH] tests/files: Check owner on created files with content Check that promised files created without create attribute have owner promised on creation. --- tests/acceptance/10_files/01_create/013.cf | 72 ++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 tests/acceptance/10_files/01_create/013.cf diff --git a/tests/acceptance/10_files/01_create/013.cf b/tests/acceptance/10_files/01_create/013.cf new file mode 100644 index 0000000000..84fe41553a --- /dev/null +++ b/tests/acceptance/10_files/01_create/013.cf @@ -0,0 +1,72 @@ +####################################################### +# +# Create a file with content attribute and owner via perms, +# but witout create attribute, check owner +# +####################################################### + +body common control +{ + inputs => { "../../default.cf.sub" }; + bundlesequence => { default("$(this.promise_filename)") }; + version => "1.0"; +} + +####################################################### + +bundle agent init +{ + files: + "$(G.testfile)" + delete => init_delete; +} + +body delete init_delete +{ + dirlinks => "delete"; + rmdirs => "true"; +} + +####################################################### + +bundle agent test +{ + vars: + "owner" string => "nobody"; + + files: + "$(G.testfile)" + content => "", + perms => test_perms($(owner)); +} + +body perms test_perms(o) +{ + rxdirs => "false"; + mode => "644"; + owners => { "$(o)" }; + groups => { "0" }; +} + +####################################################### + +bundle agent check +{ + vars: + "ui" data => getuserinfo(filestat($(G.testfile), "uid")); + + classes: + "not_ok" not => strcmp($(test.owner), $(ui[username])); + + reports: + DEBUG:: + "expected: username = '$(test.owner)'"; + "got: username = '$(ui[username])'"; + !not_ok:: + "$(this.promise_filename) Pass"; + not_ok:: + "$(this.promise_filename) FAIL"; +} + +### PROJECT_ID: core +### CATEGORY_ID: 27