require "functional/helper" require "fileutils" require "tmpdir" require "yaml" describe "profiles with git-based dependencies" do include FunctionalHelper before(:all) do skip_windows! @tmpdir = Dir.mktmpdir @profile_dir = File.join(@tmpdir, "test-profile") @git_dep_dir = File.join(@tmpdir, "git-dep") Dir.chdir(@tmpdir) do inspec("init profile git-dep") inspec("init profile test-profile") end Dir.chdir(@git_dep_dir) do CMD.run_command("git init") CMD.run_command("git add .") CMD.run_command("git config user.name \"test\"") CMD.run_command("git config user.email \"test@yahoo.com\"") CMD.run_command("git commit -m \"initial commit\" --no-gpg-sign") CMD.run_command("git commit -m \"another commit\" --allow-empty --no-gpg-sign") CMD.run_command("git tag antag") end inspec_yml = YAML.load(File.read(File.join(@profile_dir, "inspec.yml"))) inspec_yml["depends"] = [ { "name" => "git-dep", "git" => @git_dep_dir, "tag" => "antag", }, ] File.write(File.join(@profile_dir, "inspec.yml"), YAML.dump(inspec_yml)) end after(:all) do FileUtils.rm_rf(@tmpdir) end it "executes a profile with a git based dependency" do out = inspec("exec #{@profile_dir} --no-create-lockfile") out.stderr.must_equal "" out.exit_status.must_equal 0 end end