Skip to content

Commit

Permalink
Merge pull request #676 from alphagov/increase-bytes-read-4k
Browse files Browse the repository at this point in the history
Fix preview by increasing bytes read from CSV
  • Loading branch information
kentsanggds authored May 22, 2019
2 parents 7963b56 + 54c88b3 commit 073e116
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
2 changes: 1 addition & 1 deletion app/models/preview.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def render
def fetch_raw
connection = build_connection

connection.headers = { 'Range' => 'bytes=0-1024' }
connection.headers = { 'Range' => 'bytes=0-4096' }

begin
response = connection.get do |request|
Expand Down
10 changes: 6 additions & 4 deletions spec/controllers/previews_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@
let(:datafile) { dataset.datafiles.first }

describe 'Generating the preview of a CSV file' do
it 'will show the previewed CSV' do
it 'will show the first six rows (including the header) of the CSV' do
stub_request(:get, datafile.url).
to_return(body: "a,Paris,c,d\ne,f,Berlin,h\ni,j,k,l")
to_return(body: "Header row,Name,Grade,Job Title,Job/Team Function,Parent Department,Organisation,Unit,Contact Phone,Contact Email,Reports to Senior Post,Salary,FTE,Actual Pay Floor,Actual Pay Ceiling,Professional,Notes,Valid? \n2nd row,Romeo Juliet SCSX,Permanent Director,Lorem ipsum dolor sit amet consectetur adipiscing elit. Mauris tincidunt in odio sed dignissim. Vivamus quis auctor mi. Praesent et pharetra tellus. Donec eget dapibus purus cursus hendrerit massa. Phasellus ac velit lobortis sem volutpat euismod. Duis aliquam urna ac pulvinar cursus. Aliquam iaculis sit amet diam a commodo.,Cabinet Office,Cabinet Office,Cabinet Office,012 3456 7890,email@test.com,317,xx,1,123000,345000,x,profession,non,1,romeo,sierra \n3rd row,Romeo Juliet SCSX,Permanent Director,Lorem ipsum dolor sit amet consectetur adipiscing elit. Mauris tincidunt in odio sed dignissim. Vivamus quis auctor mi. Praesent et pharetra tellus. Donec eget dapibus purus cursus hendrerit massa. Phasellus ac velit lobortis sem volutpat euismod. Duis aliquam urna ac pulvinar cursus. Aliquam iaculis sit amet diam a commodo.,Cabinet Office,Cabinet Office,Cabinet Office,012 3456 7890,email@test.com,317,xx,1,123000,345000,x,profession,non,1,romeo,sierra \n4th row,Romeo Juliet SCSX,Permanent Director,Lorem ipsum dolor sit amet consectetur adipiscing elit. Mauris tincidunt in odio sed dignissim. Vivamus quis auctor mi. Praesent et pharetra tellus. Donec eget dapibus purus cursus hendrerit massa. Phasellus ac velit lobortis sem volutpat euismod. Duis aliquam urna ac pulvinar cursus. Aliquam iaculis sit amet diam a commodo.,Cabinet Office,Cabinet Office,Cabinet Office,012 3456 7890,email@test.com,317,xx,1,123000,345000,x,profession,non,1,romeo,sierra \n5th row,Romeo Juliet SCSX,Permanent Director,Lorem ipsum dolor sit amet consectetur adipiscing elit. Mauris tincidunt in odio sed dignissim. Vivamus quis auctor mi. Praesent et pharetra tellus. Donec eget dapibus purus cursus hendrerit massa. Phasellus ac velit lobortis sem volutpat euismod. Duis aliquam urna ac pulvinar cursus. Aliquam iaculis sit amet diam a commodo.,Cabinet Office,Cabinet Office,Cabinet Office,012 3456 7890,email@test.com,317,xx,1,123000,345000,x,profession,non,1,romeo,sierra \n6th row,Romeo Juliet SCSX,Permanent Director,Lorem ipsum dolor sit amet consectetur adipiscing elit. Mauris tincidunt in odio sed dignissim. Vivamus quis auctor mi. Praesent et pharetra tellus. Donec eget dapibus purus cursus hendrerit massa. Phasellus ac velit lobortis sem volutpat euismod. Duis aliquam urna ac pulvinar cursus. Aliquam iaculis sit amet diam a commodo.,Cabinet Office,Cabinet Office,Cabinet Office,012 3456 7890,email@test.com,317,xx,1,123000,345000,x,profession,non,1,romeo,sierra\n")

index([dataset])
get :show, params: { dataset_uuid: dataset.uuid, name: dataset.name, datafile_uuid: datafile.uuid }
expect(response.body).to have_content('Berlin')
expect(response.body).to have_link("Download this file")

expect(response.body).to have_content('Header row')
expect(response.body).to have_content('2nd row')
expect(response.body).not_to have_content("6th row")
end

it 'will recover if the datafile server times out' do
Expand Down

0 comments on commit 073e116

Please sign in to comment.