简体   繁体   中英

removing authorization from rspec get request

I have a controller in rails such that when i go to the url : /my-path it outputs json text.

There is no authorization involved. When I open the URL in browser or postman i get the expected json data.

I can't test it in rspec as i get a no authorization error.

  before do
    get base_url , params: {} #, headers: { 'Content-Type' => 'application/x-www-form-urlencoded', Authorization: 'Token: sdaf' } 
  end

  it 'returns 200' do
    puts response
    expect(response.code).to eq '200'
  end

When i do the above, i get the following error :

Failure/Error: expect(response.code).to eq '200'

   expected: "200"
        got: "401"

Authorization header missing.

I am new to rails, so i have little idea on what i am missing out here.

Hope you are writing your rspec test in the controller test file, in that case if your writing test for say example home_controller, index action explictly specify controller action like below, hope it helps :)

  before do
    get :index, params: {} #, headers: { 'Content-Type' => 'application/x-www- 
    form-urlencoded', Authorization: 'Token: sdaf' } 
  end

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM