Commit ddc7620b authored by blackst0ne's avatar blackst0ne

[Rails5] Fix `undefined method 'downcase'` errors in requests specs

In Rails 5.0 headers are no longer inherited from Hash.
This commit fixes errors in requests specs like:

```
1) API::V3::Builds GET /projects/:id/builds/:build_id/artifacts job with artifacts when artifacts are stored locally authorized user returns specific job artifacts
    Failure/Error: expect(response.headers).to include(download_headers)

    NoMethodError:
      undefined method `downcase' for #<Hash:0x000055e8bccc23b0>
    # ./spec/requests/api/v3/builds_spec.rb:235:in `block (6 levels) in <top (required)>'
```
parent ee189fd5
...@@ -281,7 +281,7 @@ describe API::Jobs do ...@@ -281,7 +281,7 @@ describe API::Jobs do
get_artifact_file(artifact) get_artifact_file(artifact)
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(200)
expect(response.headers) expect(response.headers.to_h)
.to include('Content-Type' => 'application/json', .to include('Content-Type' => 'application/json',
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/) 'Gitlab-Workhorse-Send-Data' => /artifacts-entry/)
end end
...@@ -311,7 +311,7 @@ describe API::Jobs do ...@@ -311,7 +311,7 @@ describe API::Jobs do
it 'returns specific job artifacts' do it 'returns specific job artifacts' do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(200)
expect(response.headers).to include(download_headers) expect(response.headers.to_h).to include(download_headers)
expect(response.body).to match_file(job.artifacts_file.file.file) expect(response.body).to match_file(job.artifacts_file.file.file)
end end
end end
...@@ -462,7 +462,7 @@ describe API::Jobs do ...@@ -462,7 +462,7 @@ describe API::Jobs do
end end
it { expect(response).to have_http_status(:ok) } it { expect(response).to have_http_status(:ok) }
it { expect(response.headers).to include(download_headers) } it { expect(response.headers.to_h).to include(download_headers) }
end end
context 'when artifacts are stored remotely' do context 'when artifacts are stored remotely' do
......
...@@ -1330,7 +1330,7 @@ describe API::Runner do ...@@ -1330,7 +1330,7 @@ describe API::Runner do
it 'download artifacts' do it 'download artifacts' do
expect(response).to have_http_status(200) expect(response).to have_http_status(200)
expect(response.headers).to include download_headers expect(response.headers.to_h).to include download_headers
end end
end end
...@@ -1345,7 +1345,7 @@ describe API::Runner do ...@@ -1345,7 +1345,7 @@ describe API::Runner do
it 'uses workhorse send-url' do it 'uses workhorse send-url' do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(200)
expect(response.headers).to include( expect(response.headers.to_h).to include(
'Gitlab-Workhorse-Send-Data' => /send-url:/) 'Gitlab-Workhorse-Send-Data' => /send-url:/)
end end
end end
......
...@@ -232,7 +232,7 @@ describe API::V3::Builds do ...@@ -232,7 +232,7 @@ describe API::V3::Builds do
it 'returns specific job artifacts' do it 'returns specific job artifacts' do
expect(response).to have_http_status(200) expect(response).to have_http_status(200)
expect(response.headers).to include(download_headers) expect(response.headers.to_h).to include(download_headers)
expect(response.body).to match_file(build.artifacts_file.file.file) expect(response.body).to match_file(build.artifacts_file.file.file)
end end
end end
...@@ -332,7 +332,7 @@ describe API::V3::Builds do ...@@ -332,7 +332,7 @@ describe API::V3::Builds do
end end
it { expect(response).to have_http_status(200) } it { expect(response).to have_http_status(200) }
it { expect(response.headers).to include(download_headers) } it { expect(response.headers.to_h).to include(download_headers) }
end end
context 'when artifacts are stored remotely' do context 'when artifacts are stored remotely' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment