Sha256: 545862b88eb658fa5186918dc8096a84170b8efa16fed7628bba710f27317dae

Contents?: true

Size: 1.68 KB

Versions: 2

Compression:

Stored size: 1.68 KB

Contents

require File.join '.', 'test', 'helper'

describe 'The basics of Richard III' do
  it "can issue a very simple GET request" do
    spy_internet = SpyInternet.new

    richard_iii = Richard::III.new :internet => spy_internet

    richard_iii.exec <<-TEXT 
      GET /1.1/statuses
      Host: api.twitter.com
      Accept: application/json
    TEXT

    spy_internet.must_have_been_asked_to_execute(
      Request.new(
        :verb    => 'GET', 
        :uri     => 'https://api.twitter.com/1.1/statuses',
        :headers => {
           'Host'   => 'api.twitter.com',
           'Accept' => 'application/json'
        }
      )
    )
  end

  it "can issue a very simple POST request" do
    spy_internet = SpyInternet.new

    richard_iii = Richard::III.new :internet => spy_internet

    richard_iii.exec <<-TEXT 
      POST /1.1/statuses/update
      Host: api.twitter.com
      Accept: application/json
      Content-type: application/x-www-form-urlencoded

      status=Who%20says%20famine%20has%20to%20be%20depressing?
    TEXT

    spy_internet.must_have_been_asked_to_execute(
      Request.new(
        :verb    => 'POST', 
        :uri     => 'https://api.twitter.com/1.1/statuses/update',
        :headers => {
           'Host'         => 'api.twitter.com',
           'Accept'       => 'application/json',
           'Content-type' => 'application/x-www-form-urlencoded'
        },
        :body => 'status=Who%20says%20famine%20has%20to%20be%20depressing?'
      )
    )
  end

  # TEST: quotes are treated literally
  # TEST: whitespace does not matter
  # TEST: where does it read the protocol part (HTTP or HTTPS)
  # TEST: looks like you can either supply absolute uri, or relative AND Host header
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
richard_iii-0.1.1 test/unit.tests/the_basics.rb
richard_iii-0.1.0 test/unit.tests/the_basics.rb