Class: ArtifactCli

Inherits:
MiniTest::Test
  • Object
show all
Includes:
CorePluginFunctionalHelper
Defined in:
lib/plugins/inspec-artifact/test/functional/inspec_artifact_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_archive_keysObject



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/plugins/inspec-artifact/test/functional/inspec_artifact_test.rb', line 10

def test_generating_archive_keys
  Dir.mktmpdir do |dir|
    unique_key_name = SecureRandom.uuid()
    out = run_inspec_process("artifact generate --keyname #{unique_key_name}", prefix: "cd #{dir} &&")
    assert_equal 0, out.exit_status

    stdout = out.stdout.force_encoding(Encoding::UTF_8)
    assert_includes stdout, 'Generating private key'
    assert_includes stdout, 'Generating public key'
  end
end

#test_verify_and_install_signed_profileObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/plugins/inspec-artifact/test/functional/inspec_artifact_test.rb', line 22

def test_verify_and_install_signed_profile
  Dir.mktmpdir do |dir|
    unique_key_name = SecureRandom.uuid()
    install_dir = File.join(dir, SecureRandom.uuid())
    profile = File.join(dir, 'profile')
    FileUtils.mkdir(install_dir)

    # create profile
    profile = File.join(dir, 'artifact-profile')
    run_inspec_process("init profile artifact-profile", prefix: "cd #{dir} &&")

    out = run_inspec_process("artifact generate --keyname #{unique_key_name}", prefix: "cd #{dir} &&")
    assert_equal 0, out.exit_status

    out = run_inspec_process("artifact sign-profile --profile #{profile} --keyname #{unique_key_name}", prefix: "cd #{dir} &&")
    assert_equal 0, out.exit_status

    out = run_inspec_process("artifact install-profile --infile artifact-profile-0.1.0.iaf --destdir #{install_dir}", prefix: "cd #{dir} &&")
    assert_equal 0, out.exit_status

    assert_includes out.stdout.force_encoding(Encoding::UTF_8), "Installing to #{install_dir}"
    assert_includes Dir.entries(install_dir).join, 'inspec.yml'
  end
end