Module: Fraggle::Test

Defined in:
lib/fraggle/test.rb

Overview

I want this to be a great starting point for testing fraggle applications. It’s currently a work in progress. Think Rack::Test for fraggle.

Defined Under Namespace

Classes: Blk, TestClient

Constant Summary collapse

V =
Fraggle::Request::Verb
F =
Fraggle::Response::Flag
E =
Fraggle::Response::Err

Instance Method Summary collapse

Instance Method Details

#assert_recv(attrs) ⇒ Object



44
45
46
47
48
49
50
51
52
53
# File 'lib/fraggle/test.rb', line 44

def assert_recv(attrs)
  req = Fraggle::Response.new(attrs)
  msg =  "This was not recieved:\n"
  msg << "  #{req.inspect}\n"
  msg << "Received:\n  "
  msg << blk.map {|r| r.inspect }.join("\n  ")
  msg << "\n"

  assert_block(msg) { blk.include?(attrs) }
end

#assert_sent(tag, attrs = {}) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/fraggle/test.rb', line 31

def assert_sent(tag, attrs={})
  req = Fraggle::Request.new(attrs)
  req.tag = tag

  msg =  "This was not sent:\n"
  msg << "  #{req.inspect}\n"
  msg << "Sent:\n  "
  msg << c.map {|r| r.inspect }.join("\n  ")
  msg << "\n"

  assert_block(msg) { c.include?(req) }
end

#reply(tag, attrs = {}) ⇒ Object

Replies with a valid response



56
57
58
59
60
61
62
63
# File 'lib/fraggle/test.rb', line 56

def reply(tag, attrs={})
  res = Fraggle::Response.new(attrs)
  res.tag   = tag
  res.flags ||= 0
  res.flags |= Fraggle::Response::Flag::VALID
  c.receive_response(res)
  res
end

#reply!(tag, attrs = {}) ⇒ Object

Replies with a valid + done response



66
67
68
# File 'lib/fraggle/test.rb', line 66

def reply!(tag, attrs={})
  reply(tag, attrs.merge(:flags => Fraggle::Response::Flag::DONE))
end