class DRbDump::TestCase

A test case for writing DRbDump tests.

Constants

ARG_DUMP

Dump containing DRb messages with arguments

FIN_DUMP

Dump containing a packet with a FIN flag

HTTP_DUMP

Dump containing HTTP packets

PING_DUMP

Dump containing messages from example/ping.rb

RING_DUMP

Dump containing Rinda::RingFinger lookups

TOO_LARGE_DUMP

Dump containing a DRb message that is too large

Public Instance Methods

drbdump(file = PING_DUMP) click to toggle source

Creates a new drbdump for file and makes it available as @drbdump. Calling this again will create a brand new instance.

# File lib/drbdump/test_case.rb, line 50
def drbdump file = PING_DUMP
  @drbdump = DRbDump.new devices: [file]
  @drbdump.instance_variable_set :@running, true
  @drbdump.resolver = resolver

  @statistics = @drbdump.statistics

  @drbdump
end
packets(file) click to toggle source

Returns a Capp packet Enumerator for file

# File lib/drbdump/test_case.rb, line 72
def packets file
  Capp.open(file).loop
end
resolver() click to toggle source

Creates a resolver for addresses in *_DUMP files

# File lib/drbdump/test_case.rb, line 79
def resolver
  Tempfile.open 'hosts' do |io|
    io.puts '10.101.28.77 kault'
    io.flush

    resolver = Resolv::Hosts.new io.path
    resolver.getname '10.101.28.77' # initialize
    resolver
  end
end