Sha256: 342fe51ab09db26bef673ef0b6d75e0ec77c974a1cd2b153b6c2014d29963aa0

Contents?: true

Size: 1.25 KB

Versions: 29

Compression:

Stored size: 1.25 KB

Contents

describe Dap::Filter::FilterDecodeDNSVersionReply do
  describe '.decode' do

    let(:filter) { described_class.new([]) }

    context 'parsing empty string' do
      let(:decode) { filter.decode('') }
      it 'returns an empty hash' do
        expect(decode).to eq( {} )
      end
    end

    base64_string = "AF8074UAAAEAAQABAAAHVkVSU0lPTgRCSU5EAAAQAAPADAAQAAMAAAAAACcmOS44LjJyYzEtUmVkSGF0LTkuOC4yLTAuMzcucmMxLmVsNl83LjXADAACAAMAAAAAAALADA=="
    test_string = base64_string.to_s.unpack('m*').first

    context 'parsing a partial response' do
      let(:decode) { filter.decode(test_string[2..10]) }
      it 'returns an empty hash' do
        expect(decode).to eq( {} )
      end
    end

    context 'parsing TCP DNS response' do
      let(:decode) { filter.decode(test_string) }
      it 'returns the correct version' do
        expect(decode).to eq({ 'dns_version' => '9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.5' })
      end
    end

    # strip the first two bytes from the TCP response to mimic a UDP response
    context 'parsing UDP DNS response' do
      let(:decode) { filter.decode(test_string[2..-1]) }
      it 'returns the correct version' do
        expect(decode).to eq({ 'dns_version' => '9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.5' })
      end
    end

  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
dap-1.3.1 spec/dap/filter/udp_filter_spec.rb
dap-1.3.0 spec/dap/filter/udp_filter_spec.rb
dap-1.2.9 spec/dap/filter/udp_filter_spec.rb
dap-1.2.8 spec/dap/filter/udp_filter_spec.rb
dap-1.2.7 spec/dap/filter/udp_filter_spec.rb
dap-1.2.6 spec/dap/filter/udp_filter_spec.rb
dap-1.2.5 spec/dap/filter/udp_filter_spec.rb
dap-1.2.4 spec/dap/filter/udp_filter_spec.rb
dap-1.2.3 spec/dap/filter/udp_filter_spec.rb
dap-1.2.2 spec/dap/filter/udp_filter_spec.rb
dap-1.2.1 spec/dap/filter/udp_filter_spec.rb
dap-1.2.0 spec/dap/filter/udp_filter_spec.rb
dap-1.0.2 spec/dap/filter/udp_filter_spec.rb
dap-1.0.1 spec/dap/filter/udp_filter_spec.rb
dap-1.0.0 spec/dap/filter/udp_filter_spec.rb
dap-0.1.24 spec/dap/filter/udp_filter_spec.rb
dap-0.1.23 spec/dap/filter/udp_filter_spec.rb
dap-0.1.22 spec/dap/filter/udp_filter_spec.rb
dap-0.1.21 spec/dap/filter/udp_filter_spec.rb
dap-0.1.20 spec/dap/filter/udp_filter_spec.rb