inspec/test/artifact/inspec_plugin_test.rb
Vasundhara Jagdale 326b6bfd47
CFINSPEC-533: Fix undefined method 'summary' for Gem::SourceFetchProblem (NoMethodError) when airgapped (#6337)
* This fixes the undefined method 'summary' for #<Gem::SourceFetchProblem:0x000000000139dc70> (NoMethodError) while invoking any inspec command if the custom plugin is installed and if inspec commands are run in an air gap environment.
This fix removes an earlier call for getting gem specification from rubygems.org which is the cause for above error and replaces it with fetching the summary from a locally saved gemspec file. This will work in both airgap and non-airgap environments.

Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>

* Adds test for reading description from local gemspec file.

Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>

Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
2023-01-03 10:01:49 -05:00

12 lines
474 B
Ruby

require_relative "artifact_helper"
class TestInspecPlugin < ArtifactTest
def test_plugin_list
# This one is custom because it emits a special warning to stderr
inspec_command = "plugin list"
stdout, stderr, status = run_cmd "inspec #{inspec_command} #{TEST_CLI_OPTS}"
assert_empty stderr.sub(/#< CLIXML\n/, "").sub(/The table size exceeds the currently set width\.Defaulting to vertical orientation\.\n/, "")
assert stdout
assert status
end
end