Sha256: 9d53318c857527fa26b2860279cbad88136904237af7550b605deff1e9c3c7fc

Contents?: true

Size: 1.05 KB

Versions: 5

Compression:

Stored size: 1.05 KB

Contents

require 'rest-core/test'

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

  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({}){ |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({}){ |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({}){ |res| res[RC::LOG].size.should.eq 1 }
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rest-core-2.0.4 test/test_auth_basic.rb
rest-core-2.0.3 test/test_auth_basic.rb
rest-core-2.0.2 test/test_auth_basic.rb
rest-core-2.0.1 test/test_auth_basic.rb
rest-core-2.0.0 test/test_auth_basic.rb