Sha256: 89f510a2c4034f040babe4a4dccf987db98b5f37c58c9b502601f121b02454ca

Contents?: true

Size: 1.87 KB

Versions: 1

Compression:

Stored size: 1.87 KB

Contents

# frozen_string_literal: true

require 'minitest/autorun'
require 'bigipcookie'

class BigIPCookieTest < Minitest::Test
  # IPv4 pool members, with pool name
  def test_bigipcookie_decode_ipv4_pm
    bip = BigIPCookie::Decode.new('BIGipServer<pool_name>=1677787402.36895.0000')
    bip.auto_decode
    # Decoded cookie
    assert_equal('10.1.1.100:8080', bip.decoded_cookie)
    # Pool name
    assert_equal('<pool_name>', bip.pool_name)
    # Cookie type
    assert_equal('IPv4 pool members', bip.cookie_type)
  end

  # IPv4 pool members in non-default route domains, only cookie value
  def test_bigipcookie_decode_ipv4_pm_ndrd
    bip = BigIPCookie::Decode.new('rd5o00000000000000000000ffffc0000201o80')
    bip.auto_decode
    # Decoded cookie
    assert_equal('192.0.2.1%5:80', bip.decoded_cookie)
    # Pool name
    assert_equal('unknown', bip.pool_name)
    # Cookie type
    assert_equal('IPv4 pool members in non-default route domains', bip.cookie_type)
  end

  # IPv6 pool members, custom cookie name, long ipv6 format
  def test_bigipcookie_decode_ipv6_pm
    bip = BigIPCookie::Decode.new('CustomeCookieName=vi20010112000000000000000000000030.20480')
    bip.auto_decode(ipv6compression: 0)
    # Decoded cookie
    assert_equal('[2001:0112:0000:0000:0000:0000:0000:0030]:80', bip.decoded_cookie)
    # Pool name
    assert_equal('unknown', bip.pool_name)
    # Cookie type
    assert_equal('IPv6 pool members', bip.cookie_type)
  end

  # IPv6 pool members in non-default route domains
  def test_bigipcookie_decode_ipv6_pm_ndrd
    bip = BigIPCookie::Decode.new('BIGipServer~SuperPool=rd3o20010112000000000000000000000030o80')
    bip.auto_decode
    # Decoded cookie
    assert_equal('[2001:112::30%3]:80', bip.decoded_cookie)
    # Pool name
    assert_equal('~SuperPool', bip.pool_name)
    # Cookie type
    assert_equal('IPv6 pool members in non-default route domains', bip.cookie_type)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rabid-0.0.1 test/test_bigipcookie.rb