Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion lib/openscap_parser/xml_file.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
module OpenscapParser
module XmlFile
def report_xml(report_contents = '')
@report_xml ||= ::Nokogiri::XML.parse(report_contents)
@report_xml ||= ::Nokogiri::XML.parse(
report_contents, nil, nil, Nokogiri::XML::ParseOptions.new.norecover)
@report_xml.remove_namespaces!
end
end
Expand Down
1 change: 1 addition & 0 deletions openscap_parser.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,5 @@ Gem::Specification.new do |spec|
spec.add_development_dependency "rake", "~> 10.0"
spec.add_development_dependency "minitest", "~> 5.0"
spec.add_development_dependency "shoulda-context"
spec.add_development_dependency "pry"
end
5 changes: 5 additions & 0 deletions test/fixtures/files/invalid_report.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Consectetuer blandit, per eu ligula auctor, proin in primis. Curae class netus volutpat erat at orci et. Ad, hendrerit velit ad sollicitudin elit laoreet. Vivamus. Rhoncus mollis duis. Risus rhoncus leo, aliquam. Dictumst metus luctus sollicitudin. Fusce vestibulum pede vulputate varius class scelerisque dis, erat nec. Nostra parturient. Dolor id tortor metus condimentum sociosqu, laoreet. Eu nisi curae eu elit. Cum nibh at suscipit varius, sapien per.

Amet fames, vulputate. Elit in sagittis aliquet. Rhoncus at hymenaeos quam, amet mi lorem. Massa leo. Feugiat, platea erat leo magna imperdiet ad, netus tristique. Auctor ante rutrum vestibulum dictumst gravida cursus tellus praesent dis metus justo, neque. Tempor nisi. At mattis dolor in purus primis imperdiet leo, purus, ultricies dictumst. Amet massa aptent sodales conubia. Lacus pede congue, mus litora, nonummy arcu lorem tempor. Erat, integer.

Sagittis dis. Quam class at montes. Ve nam eros malesuada turpis sociis, felis, parturient viverra. Mi ve orci aliquam id. Massa lectus accumsan. Tellus vel vestibulum fusce cubilia nascetur erat habitant. Arcu velit primis arcu. Porta diam nulla, donec senectus amet. Sem ridiculus pede, rhoncus eu interdum lacinia, ipsum.
22 changes: 22 additions & 0 deletions test/openscap_parser/xml_file_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# frozen_string_literal: true

require 'test_helper'

class XmlFileTest < Minitest::Test
include OpenscapParser::XmlFile

def setup
@invalid_report = file_fixture('invalid_report.xml').read
@valid_report = file_fixture('xccdf_report.xml').read
end

test 'report_xml parses a valid XML report' do
assert_equal report_xml(@valid_report).class, Nokogiri::XML::Document
end

test 'report_xml handles an invalid XML report' do
assert_raises Nokogiri::XML::SyntaxError do
report_xml(@invalid_report)
end
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@ def setup
report_xml(file_fixture('xccdf_report.xml').read)
end

test 'report_xml parses the XML report' do
assert_equal @report_xml.class, Nokogiri::XML::Document
end

test 'report_description' do
assert_match(/^This guide presents/, description)
end
Expand Down