Sha256: bb3f58a01e49ae76182e786bf0373e0ecd6a0e9379b197f28d8848943897631f

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

require 'horseman/connection'

module Mocks
  
  def html
    %{
      <html>
        <head></head>
        <body>
          <form id="form1">
            <input type="text" name="name1" value="value1" />
            <input type="submit" value="OK" />
          </form>
          <form id="form2">
            <input type="text" name="name2" value="value2" />
            <input type="submit" value="OK" />
          </form>
        </body>
      </html>
    }
  end
  
  def cookies
    ['name1=value1; Domain=www.example.com; Path=/path; Expires=Sun, 1-Jan-2012 00:00:00 GMT',
     'name2=value2; Domain=www.example.com; Path=/path; Expires=Sun, 1-Jan-2012 00:00:00 GMT']
  end
  
  def response
    m = double("HttpResponse")
    m.stub(:[]) do |key|
      case key
      when 'set-cookie'
        cookies.join(', ')
      end
    end
    m.stub(:get_fields) do |key|
      case key
      when 'set-cookie'
        cookies
      end
    end
    m.stub(:body) { html }
    m
  end
  
  def connection
    Horseman::Connection.any_instance.stub(:exec_request) { response }
    Horseman::Connection.new
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
horseman-0.0.1 spec/mocks.rb