Sha256: 8cee6f400ece51400c04711294ee7e5e403a370cf0f16a6152b81eb7e6d658de

Contents?: true

Size: 1.09 KB

Versions: 7

Compression:

Stored size: 1.09 KB

Contents

require 'rest-core/test'

describe RC::AuthBasic do
  before do
    @auth = RC::AuthBasic.new(RC::Dry.new, nil, nil)
  end

  env = {RC::REQUEST_HEADERS => {}}

  should 'do nothing' do
    @auth.call({}){ |res| res.should.eq({}) }
  end

  should 'send Authorization header' do
    @auth.instance_eval{@username = 'Aladdin'}
    @auth.instance_eval{@password = 'open sesame'}

    @auth.call(env){ |res|
      res.should.eq(RC::REQUEST_HEADERS =>
        {'Authorization' => 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='})
    }

    acc = {'Accept' => 'text/plain'}
    env = {RC::REQUEST_HEADERS => acc}

    @auth.call(env){ |res|
      res.should.eq({RC::REQUEST_HEADERS =>
        {'Authorization' => 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='}.merge(acc)})
    }
  end

  should 'leave a log if username are not both provided' do
    @auth.instance_eval{@username = 'Aladdin'}
    @auth.call(env){ |res| res[RC::LOG].size.should.eq 1 }
  end

  should 'leave a log if password are not both provided' do
    @auth.instance_eval{@password = 'open sesame'}
    @auth.call(env){ |res| res[RC::LOG].size.should.eq 1 }
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rest-core-3.2.0 test/test_auth_basic.rb
rest-core-3.1.1 test/test_auth_basic.rb
rest-core-3.1.0 test/test_auth_basic.rb
rest-core-3.0.0 test/test_auth_basic.rb
rest-core-2.1.2 test/test_auth_basic.rb
rest-core-2.1.1 test/test_auth_basic.rb
rest-core-2.1.0 test/test_auth_basic.rb