Use Nokogiri::XML() instead of Nokogiri::XML::Document.parse()

This commit is contained in:
Benjamin Neff 2017-04-30 18:36:01 +02:00
parent cd3a7abf4d
commit 18a23df8d5
No known key found for this signature in database
GPG key ID: 971464C3F1A90194
29 changed files with 63 additions and 63 deletions

View file

@ -135,7 +135,7 @@ module DiasporaFederation
private_class_method def self.parse_xrd_document(xrd_doc)
raise ArgumentError unless xrd_doc.instance_of?(String)
doc = Nokogiri::XML::Document.parse(xrd_doc)
doc = Nokogiri::XML(xrd_doc)
raise InvalidDocument, "Not an XRD document" if !doc.root || doc.root.name != "XRD"
doc
end

View file

@ -13,7 +13,7 @@ module DiasporaFederation
response = HttpClient.get(url)
raise "Failed to fetch #{url}: #{response.status}" unless response.success?
magic_env_xml = Nokogiri::XML::Document.parse(response.body).root
magic_env_xml = Nokogiri::XML(response.body).root
magic_env = Salmon::MagicEnvelope.unenvelop(magic_env_xml)
Receiver::Public.new(magic_env).receive
rescue => e

View file

@ -11,7 +11,7 @@ module DiasporaFederation
magic_env = if legacy
Salmon::Slap.from_xml(data)
else
magic_env_xml = Nokogiri::XML::Document.parse(data).root
magic_env_xml = Nokogiri::XML(data).root
Salmon::MagicEnvelope.unenvelop(magic_env_xml)
end
Public.new(magic_env).receive

View file

@ -54,7 +54,7 @@ module DiasporaFederation
key = encoded_key.map {|k, v| [k, Base64.decode64(v)] }.to_h
xml = AES.decrypt(encrypted_json["encrypted_magic_envelope"], key["key"], key["iv"])
Nokogiri::XML::Document.parse(xml).root
Nokogiri::XML(xml).root
end
end
end

View file

@ -87,7 +87,7 @@ module DiasporaFederation
# @raise [MissingMagicEnvelope] if the +me:env+ element is missing in the XML
def self.from_xml(slap_xml, privkey)
raise ArgumentError unless slap_xml.instance_of?(String) && privkey.instance_of?(OpenSSL::PKey::RSA)
doc = Nokogiri::XML::Document.parse(slap_xml)
doc = Nokogiri::XML(slap_xml)
header_elem = doc.at_xpath("d:diaspora/d:encrypted_header", Slap::NS)
raise MissingHeader if header_elem.nil?
@ -160,7 +160,7 @@ module DiasporaFederation
key = JSON.parse(privkey.private_decrypt(Base64.decode64(cipher_header["aes_key"])))
xml = AES.decrypt(cipher_header["ciphertext"], Base64.decode64(key["key"]), Base64.decode64(key["iv"]))
Nokogiri::XML::Document.parse(xml).root
Nokogiri::XML(xml).root
end
# Encrypt the header xml with an AES cipher and encrypt the cipher params

View file

@ -128,7 +128,7 @@ module DiasporaFederation
logger.debug "unenvelop message from #{sender}:\n#{data}"
new(XmlPayload.unpack(Nokogiri::XML::Document.parse(data).root), sender)
new(XmlPayload.unpack(Nokogiri::XML(data).root), sender)
end
private

View file

@ -40,7 +40,7 @@ module DiasporaFederation
# @raise [MissingMagicEnvelope] if the +me:env+ element is missing from the XML
def self.from_xml(slap_xml)
raise ArgumentError unless slap_xml.instance_of?(String)
doc = Nokogiri::XML::Document.parse(slap_xml)
doc = Nokogiri::XML(slap_xml)
author_elem = doc.at_xpath("d:diaspora/d:header/d:author_id", Slap::NS)
raise MissingAuthor if author_elem.nil? || author_elem.content.empty?

View file

@ -14,7 +14,7 @@ module DiasporaFederation
expect_callback(:fetch_public_key, alice.diaspora_id).and_return(alice.public_key)
magic_env_xml = Nokogiri::XML::Document.parse(response.body).root
magic_env_xml = Nokogiri::XML(response.body).root
magic_env = Salmon::MagicEnvelope.unenvelop(magic_env_xml)
entity = magic_env.payload
@ -33,7 +33,7 @@ module DiasporaFederation
expect_callback(:fetch_public_key, alice.diaspora_id).and_return(alice.public_key)
magic_env_xml = Nokogiri::XML::Document.parse(response.body).root
magic_env_xml = Nokogiri::XML(response.body).root
magic_env = Salmon::MagicEnvelope.unenvelop(magic_env_xml)
entity = magic_env.payload

View file

@ -188,7 +188,7 @@ XML
expect_callback(:fetch_private_key, parent.author).and_return(parent_key)
expect_callback(:fetch_related_entity, "Post", parent_guid).and_return(parent)
xml = Nokogiri::XML::Document.parse(new_data_comment_xml_alice).root
xml = Nokogiri::XML(new_data_comment_xml_alice).root
Salmon::XmlPayload.unpack(xml).to_xml
end
end
@ -201,19 +201,19 @@ XML
end
it "relays legacy signatures and xml" do
xml = Nokogiri::XML::Document.parse(legacy_comment_xml_alice).root
xml = Nokogiri::XML(legacy_comment_xml_alice).root
entity = Salmon::XmlPayload.unpack(xml)
expect(entity.to_xml.to_xml).to eq(legacy_signature_comment_xml_bob.strip)
end
it "relays new signatures and xml" do
xml = Nokogiri::XML::Document.parse(new_signature_comment_xml_alice).root
xml = Nokogiri::XML(new_signature_comment_xml_alice).root
entity = Salmon::XmlPayload.unpack(xml)
expect(entity.to_xml.to_xml).to eq(new_signature_comment_xml_bob.strip)
end
it "relays new signatures with new data" do
xml = Nokogiri::XML::Document.parse(new_data_comment_xml_alice).root
xml = Nokogiri::XML(new_data_comment_xml_alice).root
entity = Salmon::XmlPayload.unpack(xml)
expect(entity.to_xml.to_xml).to eq(new_data_comment_xml_bob.strip)
end
@ -229,7 +229,7 @@ XML
end
it "parses legacy signatures and xml" do
xml = Nokogiri::XML::Document.parse(legacy_comment_xml_bob).root
xml = Nokogiri::XML(legacy_comment_xml_bob).root
entity = Salmon::XmlPayload.unpack(xml)
expect(entity.author).to eq(author)
@ -237,7 +237,7 @@ XML
end
it "parses legacy signatures and with new xml" do
xml = Nokogiri::XML::Document.parse(legacy_signature_comment_xml_bob).root
xml = Nokogiri::XML(legacy_signature_comment_xml_bob).root
entity = Salmon::XmlPayload.unpack(xml)
expect(entity.author).to eq(author)
@ -245,7 +245,7 @@ XML
end
it "parses new signatures with legacy xml" do
xml = Nokogiri::XML::Document.parse(legacy_new_signature_comment_xml_bob).root
xml = Nokogiri::XML(legacy_new_signature_comment_xml_bob).root
entity = Salmon::XmlPayload.unpack(xml)
expect(entity.author).to eq(author)
@ -253,7 +253,7 @@ XML
end
it "parses new signatures and xml" do
xml = Nokogiri::XML::Document.parse(new_signature_comment_xml_bob).root
xml = Nokogiri::XML(new_signature_comment_xml_bob).root
entity = Salmon::XmlPayload.unpack(xml)
expect(entity.author).to eq(author)
@ -261,7 +261,7 @@ XML
end
it "parses new data with legacy xml" do
xml = Nokogiri::XML::Document.parse(legacy_new_data_comment_xml_bob).root
xml = Nokogiri::XML(legacy_new_data_comment_xml_bob).root
entity = Salmon::XmlPayload.unpack(xml)
expect(entity.author).to eq(author)
@ -270,7 +270,7 @@ XML
end
it "parses new xml with additional data" do
xml = Nokogiri::XML::Document.parse(new_data_comment_xml_bob).root
xml = Nokogiri::XML(new_data_comment_xml_bob).root
entity = Salmon::XmlPayload.unpack(xml)
expect(entity.author).to eq(author)

View file

@ -59,7 +59,7 @@ JSON
describe "#created_at" do
it "has a created_at after parse" do
entity = described_class.from_xml(Nokogiri::XML::Document.parse(xml).root)
entity = described_class.from_xml(Nokogiri::XML(xml).root)
expect(entity.created_at).to be_within(1).of(Time.now.utc)
end

View file

@ -56,7 +56,7 @@ XML
</conversation>
XML
parsed_instance = DiasporaFederation::Salmon::XmlPayload.unpack(Nokogiri::XML::Document.parse(minimal_xml).root)
parsed_instance = DiasporaFederation::Salmon::XmlPayload.unpack(Nokogiri::XML(minimal_xml).root)
expect(parsed_instance.messages).to eq([])
end
end

View file

@ -40,7 +40,7 @@ XML
</event>
XML
parsed_instance = DiasporaFederation::Salmon::XmlPayload.unpack(Nokogiri::XML::Document.parse(minimal_xml).root)
parsed_instance = DiasporaFederation::Salmon::XmlPayload.unpack(Nokogiri::XML(minimal_xml).root)
expect(parsed_instance.end).to be_nil
expect(parsed_instance.all_day).to be_falsey
expect(parsed_instance.timezone).to be_nil

View file

@ -69,7 +69,7 @@ JSON
XML
expect {
DiasporaFederation::Entities::Like.from_xml(Nokogiri::XML::Document.parse(broken_xml).root)
DiasporaFederation::Entities::Like.from_xml(Nokogiri::XML(broken_xml).root)
}.to raise_error Entity::ValidationError, "invalid DiasporaFederation::Entities::Like! missing 'parent_type'."
end
@ -83,7 +83,7 @@ XML
XML
expect {
DiasporaFederation::Entities::Like.from_xml(Nokogiri::XML::Document.parse(broken_xml).root)
DiasporaFederation::Entities::Like.from_xml(Nokogiri::XML(broken_xml).root)
}.to raise_error Entity::ValidationError, "invalid DiasporaFederation::Entities::Like! missing 'parent_guid'."
end
end

View file

@ -58,7 +58,7 @@ JSON
</photo>
XML
parsed_instance = DiasporaFederation::Salmon::XmlPayload.unpack(Nokogiri::XML::Document.parse(minimal_xml).root)
parsed_instance = DiasporaFederation::Salmon::XmlPayload.unpack(Nokogiri::XML(minimal_xml).root)
expect(parsed_instance.public).to be_falsey
expect(parsed_instance.text).to be_nil
end

View file

@ -59,7 +59,7 @@ JSON
</profile>
XML
parsed_instance = DiasporaFederation::Salmon::XmlPayload.unpack(Nokogiri::XML::Document.parse(minimal_xml).root)
parsed_instance = DiasporaFederation::Salmon::XmlPayload.unpack(Nokogiri::XML(minimal_xml).root)
expect(parsed_instance.first_name).to be_nil
expect(parsed_instance.last_name).to be_nil
expect(parsed_instance.image_url).to be_nil

View file

@ -32,7 +32,7 @@ XML
context "parse retraction" do
it "parses the xml as a retraction" do
expect(Entities::Retraction).to receive(:fetch_target).and_return(target_entity)
retraction = Entities::RelayableRetraction.from_xml(Nokogiri::XML::Document.parse(xml).root)
retraction = Entities::RelayableRetraction.from_xml(Nokogiri::XML(xml).root)
expect(retraction).to be_a(Entities::Retraction)
expect(retraction.author).to eq(data[:author])
expect(retraction.target_guid).to eq(data[:target_guid])

View file

@ -241,7 +241,7 @@ XML
XML
it "doesn't drop unknown properties" do
entity = Entities::SomeRelayable.from_xml(Nokogiri::XML::Document.parse(new_xml).root)
entity = Entities::SomeRelayable.from_xml(Nokogiri::XML(new_xml).root)
expect(entity).to be_an_instance_of Entities::SomeRelayable
expect(entity.property).to eq(property)
@ -251,7 +251,7 @@ XML
end
it "hand over the order in the xml to the instance without signatures" do
entity = Entities::SomeRelayable.from_xml(Nokogiri::XML::Document.parse(new_xml).root)
entity = Entities::SomeRelayable.from_xml(Nokogiri::XML(new_xml).root)
expect(entity.xml_order).to eq([:author, :guid, :parent_guid, "new_property", :property])
end
@ -280,7 +280,7 @@ XML
XML
expect {
Entities::SomeRelayable.from_xml(Nokogiri::XML::Document.parse(broken_xml).root)
Entities::SomeRelayable.from_xml(Nokogiri::XML(broken_xml).root)
}.to raise_error Entity::ValidationError,
"invalid DiasporaFederation::Entities::SomeRelayable! missing 'parent_guid'."
end

View file

@ -30,7 +30,7 @@ XML
context "parse contact" do
it "parses the xml as a contact" do
contact = Entities::Request.from_xml(Nokogiri::XML::Document.parse(xml).root)
contact = Entities::Request.from_xml(Nokogiri::XML(xml).root)
expect(contact).to be_a(Entities::Contact)
end
end

View file

@ -50,7 +50,7 @@ JSON
</reshare>
XML
parsed_instance = DiasporaFederation::Salmon::XmlPayload.unpack(Nokogiri::XML::Document.parse(minimal_xml).root)
parsed_instance = DiasporaFederation::Salmon::XmlPayload.unpack(Nokogiri::XML(minimal_xml).root)
expect(parsed_instance.public).to be_truthy
expect(parsed_instance.provider_display_name).to be_nil
end
@ -61,7 +61,7 @@ XML
expect_callback(:fetch_related_entity, "Post", data[:root_guid]).and_return(nil)
expect(Federation::Fetcher).to receive(:fetch_public).with(data[:root_author], "Post", data[:root_guid])
Entities::Reshare.from_xml(Nokogiri::XML::Document.parse(xml).root)
Entities::Reshare.from_xml(Nokogiri::XML(xml).root)
end
end
end

View file

@ -25,7 +25,7 @@ XML
context "parse retraction" do
it "parses the xml as a retraction" do
expect(Entities::Retraction).to receive(:fetch_target).and_return(target_entity)
retraction = Entities::SignedRetraction.from_xml(Nokogiri::XML::Document.parse(xml).root)
retraction = Entities::SignedRetraction.from_xml(Nokogiri::XML(xml).root)
expect(retraction).to be_a(Entities::Retraction)
expect(retraction.author).to eq(data[:author])
expect(retraction.target_guid).to eq(data[:target_guid])

View file

@ -129,7 +129,7 @@ JSON
</status_message>
XML
parsed_instance = DiasporaFederation::Salmon::XmlPayload.unpack(Nokogiri::XML::Document.parse(minimal_xml).root)
parsed_instance = DiasporaFederation::Salmon::XmlPayload.unpack(Nokogiri::XML(minimal_xml).root)
expect(parsed_instance.photos).to eq([])
expect(parsed_instance.location).to be_nil
expect(parsed_instance.poll).to be_nil

View file

@ -99,7 +99,7 @@ module DiasporaFederation
it "replaces invalid XML characters" do
entity = Entities::TestEntity.new(test: "asdfasdf asdf💩asdf\nasdf")
xml = entity.to_xml.to_xml
parsed = Entities::TestEntity.from_xml(Nokogiri::XML::Document.parse(xml).root).test
parsed = Entities::TestEntity.from_xml(Nokogiri::XML(xml).root).test
expect(parsed).to eq("asdf<EFBFBD>asdf asdf💩asdf\nasdf")
end
end
@ -127,7 +127,7 @@ module DiasporaFederation
test2: "qwer",
test3: true
)
Entities::TestDefaultEntity.from_xml(Nokogiri::XML::Document.parse(<<-XML).root)
Entities::TestDefaultEntity.from_xml(Nokogiri::XML(<<-XML).root)
<test_default_entity>
<test1>asdf</test1>
<test2>qwer</qwer2>
@ -140,11 +140,11 @@ XML
arguments = [{arg1: "value"}]
expect_any_instance_of(DiasporaFederation::Parsers::XmlParser).to receive(:parse).and_return(arguments)
expect(Entities::TestDefaultEntity).to receive(:from_hash).with(*arguments)
Entities::TestDefaultEntity.from_xml(Nokogiri::XML::Document.parse("<dummy/>").root)
Entities::TestDefaultEntity.from_xml(Nokogiri::XML("<dummy/>").root)
end
it "passes input parameter directly to .parse method of the parser" do
root = Nokogiri::XML::Document.parse("<dummy/>").root
root = Nokogiri::XML("<dummy/>").root
expect_any_instance_of(DiasporaFederation::Parsers::XmlParser).to receive(:parse).with(root)
.and_return([{test1: "2", test2: "1"}])
Entities::TestDefaultEntity.from_xml(root)
@ -444,7 +444,7 @@ JSON
</test_nested_entity>
XML
entity = Entities::TestNestedEntity.from_xml(Nokogiri::XML::Document.parse(xml).root)
entity = Entities::TestNestedEntity.from_xml(Nokogiri::XML(xml).root)
expect(entity.asdf).to eq("FDSA")
expect(entity.test).to be_nil

View file

@ -94,7 +94,7 @@ module DiasporaFederation
end
it "redirects exceptions from the receiver" do
invalid_magic_env = Nokogiri::XML::Document.parse("<xml/>").root
invalid_magic_env = Nokogiri::XML("<xml/>").root
data = Salmon::EncryptedMagicEnvelope.encrypt(invalid_magic_env, recipient_key.public_key)
expect {

View file

@ -4,7 +4,7 @@ module DiasporaFederation
let(:entity_class) { Entities::SomeRelayable }
let(:xml_parser) { Parsers::RelayableXmlParser.new(entity_class) }
it "passes order of the XML elements as a second argument in the returned list" do
xml_object = Nokogiri::XML::Document.parse(<<-XML).root
xml_object = Nokogiri::XML(<<-XML).root
<some_relayable>
<guid>im a guid</guid>
<property>value</property>

View file

@ -18,7 +18,7 @@ module DiasporaFederation
XML
expect {
xml_parser.parse(Nokogiri::XML::Document.parse(xml).root)
xml_parser.parse(Nokogiri::XML(xml).root)
}.to raise_error Parsers::BaseParser::InvalidRootNode,
"'unknown_entity' can't be parsed by DiasporaFederation::Entities::TestComplexEntity"
end
@ -39,7 +39,7 @@ XML
</test_entity_with_xml_name>
XML
parsed = Parsers::XmlParser.new(Entities::TestEntityWithXmlName).parse(Nokogiri::XML::Document.parse(xml).root)
parsed = Parsers::XmlParser.new(Entities::TestEntityWithXmlName).parse(Nokogiri::XML(xml).root)
expect(parsed[0][:test]).to eq("asdf")
expect(parsed[0][:qwer]).to eq("qwer")
@ -53,7 +53,7 @@ XML
</test_entity_with_xml_name>
XML
parsed = Parsers::XmlParser.new(Entities::TestEntityWithXmlName).parse(Nokogiri::XML::Document.parse(xml).root)
parsed = Parsers::XmlParser.new(Entities::TestEntityWithXmlName).parse(Nokogiri::XML(xml).root)
expect(parsed[0][:test]).to eq("asdf")
expect(parsed[0][:qwer]).to eq("qwer")
@ -68,7 +68,7 @@ XML
</test_default_entity>
XML
parsed = Parsers::XmlParser.new(Entities::TestDefaultEntity).parse(Nokogiri::XML::Document.parse(xml).root)
parsed = Parsers::XmlParser.new(Entities::TestDefaultEntity).parse(Nokogiri::XML(xml).root)
expect(parsed[0][:test1]).to eq("asdf")
expect(parsed[0][:test2]).to eq("qwer")
@ -82,7 +82,7 @@ XML
</test_entity_with_boolean>
XML
parsed = Parsers::XmlParser.new(Entities::TestEntityWithBoolean).parse(Nokogiri::XML::Document.parse(xml).root)
parsed = Parsers::XmlParser.new(Entities::TestEntityWithBoolean).parse(Nokogiri::XML(xml).root)
expect(parsed[0][:test]).to eq(false)
end
@ -95,7 +95,7 @@ XML
XML
parsed = Parsers::XmlParser.new(Entities::TestEntityWithBoolean).parse(
Nokogiri::XML::Document.parse(xml).root
Nokogiri::XML(xml).root
)
expect(parsed[0][:test]).to be_nil
end
@ -110,7 +110,7 @@ XML
XML
parsed = Parsers::XmlParser.new(Entities::TestEntityWithInteger).parse(
Nokogiri::XML::Document.parse(xml).root
Nokogiri::XML(xml).root
)
expect(parsed[0][:test]).to be_nil
end
@ -125,7 +125,7 @@ XML
XML
parsed = Parsers::XmlParser.new(Entities::TestEntityWithTimestamp).parse(
Nokogiri::XML::Document.parse(xml).root
Nokogiri::XML(xml).root
)
expect(parsed[0][:test]).to be_nil
end
@ -161,7 +161,7 @@ XML
</test_default_entity>
XML
parsed = Parsers::XmlParser.new(Entities::TestDefaultEntity).parse(Nokogiri::XML::Document.parse(xml).root)
parsed = Parsers::XmlParser.new(Entities::TestDefaultEntity).parse(Nokogiri::XML(xml).root)
expect(parsed[0]["test_new"]).to eq("new_value")
end
end

View file

@ -32,7 +32,7 @@ module DiasporaFederation
xml = Salmon::AES.decrypt(json["encrypted_magic_envelope"], key["key"], key["iv"])
expect(Nokogiri::XML::Document.parse(xml).to_xml).to eq(magic_env.to_xml)
expect(Nokogiri::XML(xml).to_xml).to eq(magic_env.to_xml)
end
end

View file

@ -55,7 +55,7 @@ module DiasporaFederation
end
it "generates valid xml" do
doc = Nokogiri::XML::Document.parse(slap_xml)
doc = Nokogiri::XML(slap_xml)
expect(doc.root.name).to eq("diaspora")
expect(doc.at_xpath("d:diaspora/d:encrypted_header", ns).content).to_not be_empty
expect(doc.xpath("d:diaspora/me:env", ns)).to have(1).item
@ -64,7 +64,7 @@ module DiasporaFederation
it "can generate xml for two people" do
slap = Salmon::EncryptedSlap.prepare(sender, privkey, payload)
doc1 = Nokogiri::XML::Document.parse(slap.generate_xml(recipient_key.public_key))
doc1 = Nokogiri::XML(slap.generate_xml(recipient_key.public_key))
enc_header1 = doc1.at_xpath("d:diaspora/d:encrypted_header", ns).content
cipher_header1 = JSON.parse(Base64.decode64(enc_header1))
header_key1 = JSON.parse(recipient_key.private_decrypt(Base64.decode64(cipher_header1["aes_key"])))
@ -73,7 +73,7 @@ module DiasporaFederation
Base64.decode64(header_key1["iv"]))
recipient2_key = OpenSSL::PKey::RSA.generate(1024)
doc2 = Nokogiri::XML::Document.parse(slap.generate_xml(recipient2_key.public_key))
doc2 = Nokogiri::XML(slap.generate_xml(recipient2_key.public_key))
enc_header2 = doc2.at_xpath("d:diaspora/d:encrypted_header", ns).content
cipher_header2 = JSON.parse(Base64.decode64(enc_header2))
header_key2 = JSON.parse(recipient2_key.private_decrypt(Base64.decode64(cipher_header2["aes_key"])))
@ -88,13 +88,13 @@ module DiasporaFederation
end
it "does not add the sender to the magic envelope" do
doc = Nokogiri::XML::Document.parse(slap_xml)
doc = Nokogiri::XML(slap_xml)
expect(doc.at_xpath("d:diaspora/me:env/me:sig", ns)["key_id"]).to be_nil
end
context "header" do
subject {
doc = Nokogiri::XML::Document.parse(slap_xml)
doc = Nokogiri::XML(slap_xml)
doc.at_xpath("d:diaspora/d:encrypted_header", ns).content
}
let(:cipher_header) { JSON.parse(Base64.decode64(subject)) }
@ -125,7 +125,7 @@ module DiasporaFederation
Base64.decode64(header_key["key"]),
Base64.decode64(header_key["iv"]))
}.not_to raise_error
header_doc = Nokogiri::XML::Document.parse(header)
header_doc = Nokogiri::XML(header)
expect(header_doc.root.name).to eq("decrypted_header")
expect(header_doc.xpath("//iv")).to have(1).item
expect(header_doc.xpath("//aes_key")).to have(1).item

View file

@ -128,7 +128,7 @@ module DiasporaFederation
it "verifies the envelope structure" do
expect {
Salmon::MagicEnvelope.unenvelop(Nokogiri::XML::Document.parse("<asdf/>").root, sender)
Salmon::MagicEnvelope.unenvelop(Nokogiri::XML("<asdf/>").root, sender)
}.to raise_error Salmon::InvalidEnvelope
end

View file

@ -15,7 +15,7 @@ XML
context "sanity" do
it "expects an Nokogiri::XML::Element as param" do
expect {
Salmon::XmlPayload.unpack(Nokogiri::XML::Document.parse(entity_xml).root)
Salmon::XmlPayload.unpack(Nokogiri::XML(entity_xml).root)
}.not_to raise_error
end
@ -29,7 +29,7 @@ XML
end
context "returned object" do
subject { Salmon::XmlPayload.unpack(Nokogiri::XML::Document.parse(entity_xml).root) }
subject { Salmon::XmlPayload.unpack(Nokogiri::XML(entity_xml).root) }
it "#to_h should match entity.to_h" do
expect(subject.to_h).to eq(entity.to_h)
@ -47,7 +47,7 @@ XML
</test_entity>
XML
entity = Salmon::XmlPayload.unpack(Nokogiri::XML::Document.parse(xml).root)
entity = Salmon::XmlPayload.unpack(Nokogiri::XML(xml).root)
expect(entity).to be_an_instance_of Entities::TestEntity
expect(entity.test).to eq("asdf")