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 files converted to 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 ba0d0fe
Show file tree
Hide file tree
Showing 2 changed files with 117 additions and 0 deletions.
88 changes: 88 additions & 0 deletions tests/acceptance/10_files/copy_from_convert.cf
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
############################################################
# 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/."
create => "true";
"$(G.testdir)/src/foo"
content => "Hello CFEngine!";
"$(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 ba0d0fe

Please sign in to comment.