Method: PluginManagerCliInstall#test_refuse_install_when_plugin_on_exclusion_list

Defined in:
lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb

#test_refuse_install_when_plugin_on_exclusion_listObject



553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
# File 'lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb', line 553

def test_refuse_install_when_plugin_on_exclusion_list
  # Here, 'inspec-core', 'inspec-multi-server', and 'train-tax-collector'
  # are the names of real rubygems.  They are not InSpec/Train plugins, though,
  # and installing them would be a jam-up.
  # This is configured in 'etc/plugin-filter.json'.
  [
    "inspec-core",
    "inspec-multi-server",
    "train-tax-calculator",
  ].each do |plugin_name|
    install_result = run_inspec_process_with_this_plugin("plugin install #{plugin_name}")
    assert_empty install_result.stderr
    assert_equal 2, install_result.exit_status, "Exit status should be 2"

    refusal_message = install_result.stdout
    refute_nil refusal_message, "Should find a failure message at the end"
    assert_includes refusal_message, plugin_name
    assert_includes refusal_message, "Plugin on Exclusion List"
    assert_includes refusal_message, "refusing to install"
    assert_includes refusal_message, "Rationale:"
    assert_includes refusal_message, "etc/plugin_filters.json"
    assert_includes refusal_message, "github.com/inspec/inspec/issues/new"
  end
end