Method: PluginManagerCliUninstall#test_when_a_path_plugin_can_be_uninstalled

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

#test_when_a_path_plugin_can_be_uninstalledObject



621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
# File 'lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb', line 621

def test_when_a_path_plugin_can_be_uninstalled
  pre_block = Proc.new do |plugin_statefile_data, tmp_dir|
    plugin_statefile_data.clear # Signal not to write a file, we'll provide one.
    # This fixture includes a path install for inspec-meaning-of-life
    copy_in_core_config_dir('test-fixture-1-float', tmp_dir)
  end

  uninstall_result = run_inspec_process_with_this_plugin('plugin uninstall inspec-meaning-of-life', pre_run: pre_block, post_run: list_after_run)
  assert_empty uninstall_result.stderr
  assert_equal 0, uninstall_result.exit_status, 'Exit status should be 0'

  success_message = uninstall_result.stdout.split("\n").grep(/uninstalled/).last
  refute_nil success_message, 'Should find a success message at the end'
  assert_includes success_message, 'inspec-meaning-of-life'
  assert_includes success_message, 'path-based plugin install'
  assert_includes success_message, 'has been uninstalled'

  list_result = uninstall_result.payload.list_result
  itf_line = list_result.stdout.split("\n").grep(/inspec-meaning-of-life/).first
  assert_nil itf_line, 'inspec-meaning-of-life should not appear in the output of inspec list'
end