Class: InitCli

Inherits:
Minitest::Test
  • Object
show all
Includes:
CorePluginFunctionalHelper
Defined in:
lib/plugins/inspec-init/test/functional/inspec_init_profile_test.rb

Constant Summary

Constants included from CorePluginFunctionalHelper

CorePluginFunctionalHelper::TRAIN_CONNECTION

Instance Method Summary collapse

Methods included from CorePluginFunctionalHelper

#__find_plugin_path_from_caller, #__make_empty_plugin_file_data_structure, #__make_plugin_file_data_structure_with_path, #run_inspec_process, #run_inspec_process_with_this_plugin

Instance Method Details

#test_generating_inspec_profileObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/plugins/inspec-init/test/functional/inspec_init_profile_test.rb', line 7

def test_generating_inspec_profile
  Dir.mktmpdir do |dir|
    profile = File.join(dir, "test-profile")
    out = run_inspec_process("init profile test-profile", prefix: "cd #{dir} &&")

    skip_windows!
    assert_includes out.stdout, "Creating new profile at"
    assert_includes out.stdout, profile
    assert_includes Dir.entries(profile).join, "inspec.yml"
    assert_includes Dir.entries(profile).join, "README.md"

    assert_exit_code 0, out
  end
end

#test_generating_inspec_profile_awsObject



77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/plugins/inspec-init/test/functional/inspec_init_profile_test.rb', line 77

def test_generating_inspec_profile_aws
  Dir.mktmpdir do |dir|
    profile = File.join(dir, "test-aws-profile")
    out = run_inspec_process("init profile --platform aws test-aws-profile", prefix: "cd #{dir} &&")

    skip_windows!
    assert_includes out.stdout, "Creating new profile at"
    assert_includes out.stdout, profile
    assert_includes Dir.entries(profile).join, "inspec.yml"
    assert_includes Dir.entries(profile).join, "README.md"

    assert_exit_code 0, out
  end
end

#test_generating_inspec_profile_azureObject



92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/plugins/inspec-init/test/functional/inspec_init_profile_test.rb', line 92

def test_generating_inspec_profile_azure
  Dir.mktmpdir do |dir|
    profile = File.join(dir, "test-azure-profile")
    out = run_inspec_process("init profile --platform azure test-azure-profile", prefix: "cd #{dir} &&")

    skip_windows!
    assert_includes out.stdout, "Creating new profile at"
    assert_includes out.stdout, profile
    assert_includes Dir.entries(profile).join, "inspec.yml"
    assert_includes Dir.entries(profile).join, "README.md"

    assert_exit_code 0, out
  end
end

#test_generating_inspec_profile_gcpObject



62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/plugins/inspec-init/test/functional/inspec_init_profile_test.rb', line 62

def test_generating_inspec_profile_gcp
  Dir.mktmpdir do |dir|
    profile = File.join(dir, "test-gcp-profile")
    out = run_inspec_process("init profile --platform gcp test-gcp-profile", prefix: "cd #{dir} &&")

    skip_windows!
    assert_includes out.stdout, "Creating new profile at"
    assert_includes out.stdout, profile
    assert_includes Dir.entries(profile).join, "inspec.yml"
    assert_includes Dir.entries(profile).join, "README.md"

    assert_exit_code 0, out
  end
end

#test_generating_inspec_profile_osObject



107
108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'lib/plugins/inspec-init/test/functional/inspec_init_profile_test.rb', line 107

def test_generating_inspec_profile_os
  Dir.mktmpdir do |dir|
    profile = File.join(dir, "test-os-profile")
    out = run_inspec_process("init profile --platform os test-os-profile", prefix: "cd #{dir} &&")

    skip_windows!
    assert_includes out.stdout, "Creating new profile at"
    assert_includes out.stdout, profile
    assert_includes Dir.entries(profile).join, "inspec.yml"
    assert_includes Dir.entries(profile).join, "README.md"

    assert_exit_code 0, out
  end
end

#test_generating_inspec_profile_with_bad_platformObject



37
38
39
40
41
42
43
44
45
46
47
# File 'lib/plugins/inspec-init/test/functional/inspec_init_profile_test.rb', line 37

def test_generating_inspec_profile_with_bad_platform
  Dir.mktmpdir do |dir|
    out = run_inspec_process("init profile --platform nonesuch test-profile", prefix: "cd #{dir} &&")

    skip_windows!
    assert_includes out.stdout, "Unable to generate profile"
    assert_includes out.stdout, "No template available for platform 'nonesuch'"

    assert_exit_code 1, out
  end
end

#test_generating_inspec_profile_with_explicit_platformObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/plugins/inspec-init/test/functional/inspec_init_profile_test.rb', line 22

def test_generating_inspec_profile_with_explicit_platform
  Dir.mktmpdir do |dir|
    profile = File.join(dir, "test-profile")
    out = run_inspec_process("init profile --platform os test-profile", prefix: "cd #{dir} &&")

    skip_windows!
    assert_includes out.stdout, "Creating new profile at"
    assert_includes out.stdout, profile
    assert_includes Dir.entries(profile).join, "inspec.yml"
    assert_includes Dir.entries(profile).join, "README.md"

    assert_exit_code 0, out
  end
end

#test_profile_with_slash_nameObject



49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/plugins/inspec-init/test/functional/inspec_init_profile_test.rb', line 49

def test_profile_with_slash_name
  Dir.mktmpdir do |dir|
    profile = dir + "/test/deeper/profile"
    out = run_inspec_process("init profile test/deeper/profile", prefix: "cd #{dir} &&")
    skip_windows!
    assert_equal true, File.exist?(profile)
    profile = YAML.load_file("#{profile}/inspec.yml")
    assert_equal "profile", profile["name"]

    assert_exit_code 0, out
  end
end