##############################################################################
#
# Redmine #4241: set correct classes if template is missing
#
##############################################################################
body common control
{
  inputs => { "../../default.sub.cf", "../../plucked.sub.cf" };
  bundlesequence => { default("$(this.promise_filename)") };
  version => "1.0";
}

#######################################################
bundle agent init
{
}

#######################################################
bundle agent test
{
  files:
    "$(G.testfile)"
      create => "true",
      edit_template => "$(this.promise_filename).nonexistent",
      classes => scoped_classes_generic("namespace", "test_file_template");

  methods:
    DEBUG::
      "report" usebundle => dcs_report_generic_classes("test_file_template");
}

#######################################################
bundle agent check
{
  classes:
    "ok"
      and => {
        "!test_file_template_kept",
        "test_file_template_repaired",
        # create => "true"
        "test_file_template_failed",
        # edit_template
        "!test_file_template_denied",
        "!test_file_template_timeout",
      };

  reports:
    DEBUG.created::
      "Correctly created the test file $(G.testfile)";

    DEBUG.!created::
      "Erroneously did not create the test file $(G.testfile)";

    ok::
      "$(this.promise_filename) Pass";

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