Sha256: d50c8ba824a7477d2d215f7e5c6f204c3a7c1dfef8bb6193699621cced17f435

Contents?: true

Size: 1.49 KB

Versions: 7

Compression:

Stored size: 1.49 KB

Contents

require 'rubygems'
require 'require_relative' if RUBY_VERSION < '1.9'
require_relative '../../test_helper.rb'
require_relative './common.rb'

class TestDriverApp < Sinatra::Base
  use Rack::DriverSelect
  get '/' do
    headers 'Driver' => Thread.current[:driver]
    headers 'Provider' => Thread.current[:provider]
    'OK'
  end
end

describe TestDriverApp do

  before do
    def app; TestDriverApp; end
  end

  it 'should set the driver correctly when using X-Deltacloud-Driver request header' do
    header 'X-Deltacloud-Driver', 'ec2'
    get '/'
    headers['Driver'].wont_be_empty
    headers['Driver'].must_equal 'ec2'
    headers['Provider'].must_be_nil
    header 'X-Deltacloud-Driver', 'test'
    get '/'
    headers['Driver'].wont_be_empty
    headers['Driver'].must_equal 'test'
    headers['Provider'].must_be_nil
  end

  it 'should set the provider correctly when using X-Deltacloud-Provider header' do
    header 'X-Deltacloud-Provider', 'default'
    get '/'
    headers['Provider'].wont_be_empty
    headers['Provider'].must_equal 'default'
    header 'X-Deltacloud-Provider', 'http://someurl.com:8774/api;1234-1234-1235-1235'
    get '/'
    headers['Provider'].wont_be_nil
    headers['Provider'].must_equal 'http://someurl.com:8774/api;1234-1234-1235-1235'
  end

  it 'should set both provider and driver' do
    header 'X-Deltacloud-Provider', 'default'
    header 'X-Deltacloud-Driver', 'test'
    get '/'
    headers['Provider'].must_equal 'default'
    headers['Driver'].must_equal 'test'
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
deltacloud-core-1.1.3 tests/helpers/rack/rack_driver_select_test.rb
deltacloud-core-1.1.2 tests/helpers/rack/rack_driver_select_test.rb
deltacloud-core-1.1.1 tests/helpers/rack/rack_driver_select_test.rb
deltacloud-core-1.1.0 tests/helpers/rack/rack_driver_select_test.rb
deltacloud-core-1.0.5 tests/helpers/rack/rack_driver_select_test.rb
deltacloud-core-1.0.4 tests/helpers/rack/rack_driver_select_test.rb
deltacloud-core-1.0.3 tests/helpers/rack/rack_driver_select_test.rb