Class: PluginManagerCliList

Inherits:
Minitest::Test
  • Object
show all
Includes:
CorePluginFunctionalHelper, PluginManagerHelpers
Defined in:
lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb

Overview

—————————————————————————————–#

inspec plugin list

—————————————————————————————–#

Constant Summary

Constants included from CorePluginFunctionalHelper

CorePluginFunctionalHelper::TRAIN_CONNECTION

Instance Method Summary collapse

Methods included from PluginManagerHelpers

#clear_empty_config_dir, #copy_in_core_config_dir, #copy_in_project_config_dir, #setup, #teardown

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_list_all_when_no_user_plugins_installedObject



91
92
93
94
95
96
97
98
99
100
101
# File 'lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb', line 91

def test_list_all_when_no_user_plugins_installed
  result = run_inspec_process_with_this_plugin("plugin list --all")
  assert_equal 0, result.exit_status, "exist status must be 0"
  assert_includes result.stdout, "6 plugin(s) total", "--all list should find six"
  assert_includes result.stdout, "inspec-plugin-manager-cli", "--all list should find inspec-plugin-manager-cli"
  assert_includes result.stdout, "habitat", "--all list should find habitat"

  result = run_inspec_process_with_this_plugin("plugin list -a")
  assert_equal 0, result.exit_status, "exist status must be 0"
  assert_includes result.stdout, "6 plugin(s) total", "-a list should find six"
end

#test_list_when_a_train_plugin_is_installedObject



125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# File 'lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb', line 125

def test_list_when_a_train_plugin_is_installed
  pre_block = Proc.new do |plugin_statefile_data, tmp_dir|
    plugin_statefile_data.clear # Signal not to write a file, we'll provide one.
    copy_in_core_config_dir("train-test-fixture", tmp_dir)
  end

  result = run_inspec_process_with_this_plugin("plugin list", pre_run: pre_block)
  assert_equal 0, result.exit_status, "exist status must be 0"
  assert_includes result.stdout, "1 plugin(s) total", "list train should show one plugins"

  # Plugin Name                   Version   Via     ApiVer
  # -------------------------------------------------------
  #  train-test-fixture            0.1.0    gem     train-1
  # -------------------------------------------------------
  #  1 plugin(s) total
  train_line = result.stdout.split("\n").grep(/train/).first
  assert_includes(train_line, "train-test-fixture")
  assert_includes(train_line, "0.1.0")
  assert_includes(train_line, "gem")
  assert_includes(train_line, "train-1")
end

#test_list_when_gem_and_path_plugins_installedObject



103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb', line 103

def test_list_when_gem_and_path_plugins_installed
  pre_block = Proc.new do |plugin_statefile_data, tmp_dir|
    plugin_statefile_data.clear # Signal not to write a file, we'll provide one.
    copy_in_core_config_dir("test-fixture-1-float", tmp_dir)
  end

  result = run_inspec_process_with_this_plugin("plugin list", pre_run: pre_block)
  assert_equal 0, result.exit_status, "exist status must be 0"
  assert_includes result.stdout, "2 plugin(s) total", "gem+path should show two plugins"

  # Plugin Name                   Version   Via     ApiVer
  # -------------------------------------------------------
  #  inspec-meaning-of-life        src       path    2
  #  inspec-test-fixture           0.1.0     gem     2
  # -------------------------------------------------------
  #  2 plugin(s) total
  gem_line = result.stdout.split("\n").grep(/gem/).first
  assert_match(/\s*inspec-\S+\s+\d+\.\d+\.\d+\s+gem\s+2/, gem_line)
  path_line = result.stdout.split("\n").grep(/path/).first
  assert_match(/\s*inspec-\S+\s+src\s+path\s+2/, path_line)
end

#test_list_when_no_user_plugins_installedObject



85
86
87
88
89
# File 'lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb', line 85

def test_list_when_no_user_plugins_installed
  result = run_inspec_process_with_this_plugin("plugin list")
  assert_equal 0, result.exit_status, "exist status must be 0"
  assert_includes result.stdout, "0 plugin(s) total", "Empty list should include zero count"
end