Sha256: ade8a4a537ed9e087bf54ea52245874bb22de90bbdd5e133d005b7233cc66ed5

Contents?: true

Size: 831 Bytes

Versions: 2

Compression:

Stored size: 831 Bytes

Contents

require 'spec_helper'

describe Xmldsig::Transforms::XPath do
  let(:expected_xpath_query) { "not(ancestor-or-self::samlp:Status)" }
  let(:unsigned_xml) { File.read('spec/fixtures/unsigned/with_xpath_algorithm.xml') }
  let(:unsigned_document) { Xmldsig::SignedDocument.new(unsigned_xml) }
  let(:transform_node) { unsigned_document.signatures.first.references.first.transforms[1] }
  subject(:xpath_transform) { described_class.new(unsigned_document.document, transform_node) }

  it 'reads the xpath' do
    expect(xpath_transform.xpath_query).to eq expected_xpath_query
  end

  it 'filters out the nodes matching the xpath expression' do
    transformed_node = xpath_transform.transform
    expect(transform_node.children).to all(satisfy { |n| n.xpath(expected_xpath_query, unsigned_document.document.namespaces) })
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
xmldsig-0.7.0 spec/lib/xmldsig/transforms/xpath_spec.rb
xmldsig-0.6.6 spec/lib/xmldsig/transforms/xpath_spec.rb