Sha256: f1af09e8bb33cc87af43b1037a9bab52155fe396d0db733723852cd33e5f8c8e

Contents?: true

Size: 1.64 KB

Versions: 4

Compression:

Stored size: 1.64 KB

Contents

require 'spec_helper'
require File.join(File.dirname(__FILE__), '../../', 'examples/echo')
require 'multipart_body'
require 'yajl' if RUBY_PLATFORM != 'java'

describe Echo do
  let(:err) { Proc.new { fail "API request failed" } }

  it 'returns the echo param' do
    with_api(Echo) do
      get_request({:query => {:echo => 'test'}}, err) do |c|
        b = MultiJson.load(c.response)
        b['response'].should == 'test'
      end
    end
  end

  it 'returns error without echo' do
    with_api(Echo) do
      get_request({}, err) do |c|
        b = MultiJson.load(c.response)
        b['error'].should_not be_nil
        b['error'].should == 'echo identifier missing'
      end
    end
  end

  it 'echos POST data' do
    with_api(Echo) do
      post_request({:body => {'echo' => 'test'}}, err) do |c|
        b = MultiJson.load(c.response)
        b['response'].should == 'test'
      end
    end
  end

  it 'echos POST data that is multipart encoded' do
    with_api(Echo) do
      body = MultipartBody.new(:echo => 'test')
      head = {'content-type' => "multipart/form-data; boundary=#{body.boundary}"}

      post_request({:body => body.to_s,
                    :head => head}, err) do |c|
        b = MultiJson.load(c.response)
        b['response'].should == 'test'
      end
    end
  end

  it 'echos application/json POST body data' do
    with_api(Echo) do
      body = MultiJson.dump({'echo' => 'My Echo'})
      head = {'content-type' => 'application/json'}

      post_request({:body => body.to_s,
                    :head => head}, err) do |c|
        b = MultiJson.load(c.response)
        b['response'].should == 'My Echo'
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
goliath-1.0.2 spec/integration/echo_spec.rb
goliath-1.0.1 spec/integration/echo_spec.rb
goliath-1.0.0 spec/integration/echo_spec.rb
goliath-1.0.0.beta.1 spec/integration/echo_spec.rb