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, #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



82
83
84
85
86
87
88
89
90
91
92
# File 'lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb', line 82

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



116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb', line 116

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



94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb', line 94

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



76
77
78
79
80
# File 'lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb', line 76

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