Sha256: 23333a9538dbf1e85a19c9ca5ec708063fc626b2f1de38fbca6a9301f7e08bd9

Contents?: true

Size: 1.05 KB

Versions: 8

Compression:

Stored size: 1.05 KB

Contents

require File.dirname(__FILE__) + '/../../../spec_helper'

require 'rack/test'
require 'useless/doc/router'
require 'useless/doc/proxy/url'

describe Useless::Doc::Proxy::URL do
  include Rack::Test::Methods

  def app
    @app ||= lambda do |env|
      base_app = lambda do |env|
        [200, {'Content-Type' => 'text/plain'}, [env['useless.doc.url']]]
      end

      env['useless.doc.router'] = Useless::Doc::Router.default
      Useless::Doc::Proxy::URL.new(base_app).call(env)
    end
  end

  it 'should ask the router for the api URL' do
    Useless::Doc::Router.default.should_receive(:api_for_doc).
      with('http://some.doc.api.com/').and_return('http://some.api.com/')
    get 'http://some.doc.api.com/'
    last_response.should be_ok
    last_response.body.should == 'http://some.api.com/'
  end

  it 'should return a 404 if the URL could not be determined' do
    Useless::Doc::Router.default.should_receive(:api_for_doc).
      with('http://some.doc.api.com/').and_return(nil)
    get 'http://some.doc.api.com/'
    last_response.should be_not_found
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
useless-doc-0.7.0 spec/useless/doc/proxy/url_spec.rb
useless-doc-0.6.5 spec/useless/doc/proxy/url_spec.rb
useless-doc-0.6.4 spec/useless/doc/proxy/url_spec.rb
useless-doc-0.6.3 spec/useless/doc/proxy/url_spec.rb
useless-doc-0.6.2 spec/useless/doc/proxy/url_spec.rb
useless-doc-0.6.1 spec/useless/doc/proxy/url_spec.rb
useless-doc-0.6.0 spec/useless/doc/proxy/url_spec.rb
useless-doc-0.5.0 spec/useless/doc/proxy/url_spec.rb