Class: PluginManagerCliUninstall
- Inherits:
-
Minitest::Test
- Object
- Minitest::Test
- PluginManagerCliUninstall
- Includes:
- CorePluginFunctionalHelper, PluginManagerHelpers
- Defined in:
- lib/plugins/inspec-plugin-manager-cli/test/functional/uninstall_test.rb
Constant Summary
Constants included from CorePluginFunctionalHelper
CorePluginFunctionalHelper::TRAIN_CONNECTION
Instance Method Summary collapse
- #test_fail_uninstall_from_plugin_that_is_not_installed ⇒ Object
- #test_when_a_gem_plugin_can_be_uninstalled ⇒ Object
- #test_when_a_path_plugin_can_be_uninstalled ⇒ Object
Methods included from PluginManagerHelpers
#clear_empty_config_dir, #copy_in_core_config_dir, #copy_in_project_config_dir, #parse_plugin_list_lines, #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_fail_uninstall_from_plugin_that_is_not_installed ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/plugins/inspec-plugin-manager-cli/test/functional/uninstall_test.rb', line 52 def test_fail_uninstall_from_plugin_that_is_not_installed uninstall_result = run_inspec_process_with_this_plugin("plugin uninstall inspec-test-fixture-nonesuch") skip_windows! refute_includes "Inspec::Plugin::V2::UnInstallError", uninstall_result.stdout # Stacktrace marker assert_match(/No such plugin installed:.+ - uninstall failed/, uninstall_result.stdout) assert_empty uninstall_result.stderr assert_exit_code 1, uninstall_result end |
#test_when_a_gem_plugin_can_be_uninstalled ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/plugins/inspec-plugin-manager-cli/test/functional/uninstall_test.rb', line 7 def test_when_a_gem_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. copy_in_core_config_dir("test-fixture-1-float", tmp_dir) end # Attempt uninstall uninstall_result = run_inspec_process_with_this_plugin("plugin uninstall inspec-test-fixture", pre_run: pre_block, post_run: list_after_run) = uninstall_result.stdout.split("\n").grep(/uninstalled/).last skip_windows! refute_nil , "Should find a success message at the end" assert_includes , "inspec-test-fixture" assert_includes , "0.1.0" assert_includes , "has been uninstalled" itf_plugins = uninstall_result.payload.list_result.select { |p| p[:name] == "inspec-test-fixture" } assert_empty itf_plugins, "inspec-test-fixture should not appear in the output of inspec list" assert_empty uninstall_result.stderr assert_exit_code 0, uninstall_result end |
#test_when_a_path_plugin_can_be_uninstalled ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/plugins/inspec-plugin-manager-cli/test/functional/uninstall_test.rb', line 30 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) skip_windows! = uninstall_result.stdout.split("\n").grep(/uninstalled/).last refute_nil , "Should find a success message at the end" assert_includes , "inspec-meaning-of-life" assert_includes , "path-based plugin install" assert_includes , "has been uninstalled" itf_plugins = uninstall_result.payload.list_result.select { |p| p[:name] == "inspec-meaning-of-life" } assert_empty itf_plugins, "inspec-meaning-of-life should not appear in the output of inspec list" assert_empty uninstall_result.stderr assert_exit_code 0, uninstall_result end |