require_relative "../../../shared/core_plugin_test_helper.rb" require "fileutils" class ProfileCli < Minitest::Test include CorePluginFunctionalHelper def setup skip_windows! @tmpdir = Dir.mktmpdir @habitat_profile = File.join(@tmpdir, "habitat-profile") run_inspec_process("init profile " + @habitat_profile) end def teardown FileUtils.remove_entry_secure(@tmpdir) end def test_setup_subcommand result = run_inspec_process("habitat profile setup " + @habitat_profile + " --log-level debug") # Command runs without error assert_empty result.stderr assert_equal 0, result.exit_status # Command creates only expected files base_dir = File.join(@tmpdir, "habitat-profile", "habitat") files = %w{ default.toml plan.sh config config/inspec_exec_config.json hooks hooks/run } actual_files = Dir.glob(File.join(base_dir, "**/*")) expected_files = files.map { |x| File.join(base_dir, x) } assert_equal actual_files.sort, expected_files.sort end end