Commit 616c476146bcfee353110a7ddc62eaa370978376
1 parent
b66c6ef7
Exists in
master
and in
2 other branches
Initial test structure
Showing
2 changed files
with
29 additions
and
17 deletions
Show diff stats
spec/omniauth/strategies/remote_user_spec.rb
| ... | ... | @@ -4,30 +4,41 @@ describe 'Test Strategy Remote_User' do |
| 4 | 4 | let(:app) do |
| 5 | 5 | Rack::Builder.new do |b| |
| 6 | 6 | b.use Rack::Session::Cookie, :secret => 'abc123' |
| 7 | - b.use OmniAuth::Strategies::RemoteUser, :fields => [:name, :email], :uid_field => :name | |
| 8 | - b.run lambda { |_env| [200, {'HTTP_REMOTE_USER' => 'myuser'}, ['My body']] } | |
| 7 | + b.use OmniAuth::Strategies::RemoteUser | |
| 8 | + b.run lambda { |_env| [200, {}, ['My body']] } | |
| 9 | 9 | end.to_app |
| 10 | 10 | end |
| 11 | 11 | |
| 12 | - context 'Response phase' do | |
| 13 | - before(:each) { get '/auth/remote_user',{},{'HTTP_COOKIE' => '_gitlab_session=user@myuser','HTTP_REMOTE_USER' => "user@myuser" }} | |
| 14 | - it 'check my rack response' do | |
| 15 | - expect(last_response.body).to eq('My body') | |
| 16 | - expect(last_response.status).to eq(200) | |
| 17 | - expect(last_response.original_headers).to eq({'HTTP_REMOTE_USER' => 'myuser' }) | |
| 18 | - expect(last_response.errors).to eq('') | |
| 12 | + context 'Without REMOTE_USER and not logged in' do | |
| 13 | + before(:each){get '/', {}, {}} | |
| 14 | + | |
| 15 | + it 'Do nothing' do | |
| 16 | + last_response.status.should == 200 | |
| 17 | + last_response.cookies['_remote_user'] == nil | |
| 19 | 18 | end |
| 19 | + end | |
| 20 | + | |
| 21 | + context 'Without REMOTE_USER and logged in' do | |
| 22 | + #Logout current user | |
| 23 | + | |
| 24 | + | |
| 25 | + end | |
| 20 | 26 | |
| 21 | - context 'Request phase' do | |
| 22 | - before(:each) { get '/auth/remote_user',{},{'HTTP_COOKIE' => '_gitlab_session=user@myuser','HTTP_REMOTE_USER' => "user@myuser" }} | |
| 23 | - it 'check my env request' do | |
| 24 | - expect(last_request.env['HTTP_COOKIE']).to eq("_gitlab_session=user@myuser") | |
| 25 | - expect(last_request.env['HTTP_REMOTE_USER']).to eq("user@myuser") | |
| 26 | - expect(last_request.request_method).to eq("GET") | |
| 27 | - expect(last_request.path_info).to eq("/auth/remote_user") | |
| 28 | - end | |
| 27 | + context 'With REMOTE_USER and not logged in' do | |
| 28 | + #Login REMOTE_USER | |
| 29 | + it 'logs user in' do | |
| 30 | + get '/', {}, { 'HTTP_REMOTE_USER' => 'foobar' } | |
| 29 | 31 | end |
| 30 | 32 | end |
| 31 | 33 | |
| 34 | + context 'With REMOTE_USER, logged in and current user equals REMOTE_USER' do | |
| 35 | + #do nothing | |
| 32 | 36 | |
| 37 | + end | |
| 38 | + | |
| 39 | + context 'With REMOTE_USER, logged in and current user not equals REMOTE_USER' do | |
| 40 | + #Logout current user and login REMOTE_USER | |
| 41 | + | |
| 42 | + end | |
| 33 | 43 | end |
| 44 | + | ... | ... |