# basic test of the def.json facility: augments
body common control
{
  inputs => { "../../default.sub.cf" };
  bundlesequence => { default("$(this.promise_filename)") };
  version => "1.0";
}

#######################################################
bundle agent test
{
  methods:
    ""
      usebundle => file_make(
        "$(sys.inputdir)/promises.cf",
        '
body common control
{
    inputs => { "@(def.inputs)" };
}
'
      );

    ""
      usebundle => file_make(
        "$(sys.inputdir)/secondary.cf",
        '
bundle common x
{
  classes:
    "test_class_f03ab8289d0775ca821b39a724c6f6f08ef8fb17" expression => "any";
 }
'
      );

    ""
      usebundle => file_copy(
        "$(this.promise_filename).augmenter.json",
        "$(sys.inputdir)/augmenter.json"
      );

    ""
      usebundle => file_copy(
        "$(this.promise_filename).json", "$(sys.inputdir)/def.json"
      );
}

#######################################################
bundle agent check
{
  vars:
    "command"
      string => "$(sys.cf_promises) --show-classes -f $(sys.inputdir)/promises.cf|$(G.grep) test_class";

  methods:
    ""
      usebundle => dcs_passif_output(
        "test_class_f03ab8289d0775ca821b39a724c6f6f08ef8fb17\s+source=promise",
        "",
        $(command),
        $(this.promise_filename)
      );
}
