Skip to content

Commit

Permalink
Added acceptance test for CFE-2216
Browse files Browse the repository at this point in the history
Added acceptance test for testing that directories should be changed
back to files on recusive copy. The test is currently set to soft fail.

Ticket: CFE-2216
Changelog: None
Signed-off-by: Lars Erik Wik <[email protected]>
  • Loading branch information
larsewi committed Dec 10, 2024
1 parent 871e87e commit 3b9deab
Show file tree
Hide file tree
Showing 2 changed files with 115 additions and 0 deletions.
86 changes: 86 additions & 0 deletions tests/acceptance/10_files/copy_from_convert.cf
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
############################################################
# CFE-2216: Files converted to directories should be changed
# back on recursive copy
############################################################

body common control
{
bundlesequence => { "init", "test", "check", "clean" };
version => "1.0";
}

bundle common G {
vars:
"testdir"
string => concat(
getenv("TEMP", "65535"),
"$(const.dirsep)TESTDIR.cfengine"
);
}

body delete tidy
{
dirlinks => "delete";
rmdirs => "true";
}

body contain use_shell
{
useshell => "useshell";
}

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

bundle agent init
{
files:
"$(G.testdir)/src/foo"
create => "true";
"$(this.promise_filename).sub"
create => "true",
edit_template => "$(this.promise_filename).template",
template_method => "mustache",
template_data => parsejson('{ "testdir": "$(G.testdir)" }');
}

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

bundle agent test
{
meta:
"description" -> { "CFE-2216" }
string => "Files converted to directories should be changed back on recursive copy";
"test_soft_fail"
string => "any",
meta => { "CFE-2216" };

commands:
"$(sys.cf_agent) -Kf $(this.promise_filename).sub";
"rm $(G.testdir)/dst/foo && sudo mkdir $(G.testdir)/dst/foo"
contain => use_shell;
"$(sys.cf_agent) -Kf $(this.promise_filename).sub --";
}

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

bundle agent check
{
classes:
"ok"
expression => not(isdir("$(G.testdir)/dst/foo"));

reports:
ok::
"$(this.promise_filename) Pass";
!ok::
"$(this.promise_filename) FAIL";
}

bundle agent clean
{
files:
"$(this.promise_filename).sub"
delete => tidy;
"$(this.promise_filename).sub.cf-before-edit"
delete => tidy;
}
29 changes: 29 additions & 0 deletions tests/acceptance/10_files/copy_from_convert.cf.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
############################################################
# CFE-2216: Files converted to directories should be changed
# back on recursive copy
############################################################

bundle common G {
vars:
"testdir"
string => "{{testdir}}";
}

body depth_search recurse {
depth => "inf";
xdev => "true";
}

body copy_from source_dir {
source => "$(G.testdir)/src";
compare => "digest";
}

bundle agent main
{
files:
"$(G.testdir)/dst"
copy_from => source_dir,
move_obstructions => "true",
depth_search => recurse;
}

0 comments on commit 3b9deab

Please sign in to comment.