# frozen_string_literal: true
require "nokogiri"
module Requests
module Plugins
module XML
def test_plugin_xml_request_body_document
uri = build_uri("/post")
response = HTTPX.plugin(:xml).post(uri, xml: Nokogiri::XML(""))
verify_status(response, 200)
body = json_body(response)
verify_header(body["headers"], "Content-Type", "application/xml; charset=utf-8")
# nokogiri in cruby adds \n trailer, jruby doesn't
assert body["data"].start_with?("\n")
end
def test_plugin_xml_request_body_string
uri = build_uri("/post")
response = HTTPX.plugin(:xml).post(uri, xml: "")
verify_status(response, 200)
body = json_body(response)
verify_header(body["headers"], "Content-Type", "application/xml; charset=utf-8")
assert body["data"] == ""
end
def test_plugin_xml_response
uri = build_uri("/xml")
response = HTTPX.plugin(:xml).get(uri)
verify_status(response, 200)
verify_body_length(response)
xml = response.xml
assert xml.is_a?(Nokogiri::XML::Node)
end
end
end
end