parent
f8c4dc9723
commit
bf921d084e
3 changed files with 22 additions and 0 deletions
|
@ -1,4 +1,6 @@
|
|||
class Projects::BadgesController < Projects::ApplicationController
|
||||
before_action :set_no_cache
|
||||
|
||||
def build
|
||||
respond_to do |format|
|
||||
format.html { render_404 }
|
||||
|
@ -8,4 +10,15 @@ class Projects::BadgesController < Projects::ApplicationController
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_no_cache
|
||||
expires_now
|
||||
|
||||
# Add some deprecated headers for older agents
|
||||
#
|
||||
response.headers['Pragma'] = 'no-cache'
|
||||
response.headers['Expires'] = 'Fri, 01 Jan 1990 00:00:00 GMT'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -20,3 +20,8 @@ Feature: Project Badges Build
|
|||
And project has another build that is running
|
||||
When I display builds badge for a master branch
|
||||
Then I should see a build running badge
|
||||
|
||||
Scenario: I want to see a fresh badge on each request
|
||||
Given recent build is successful
|
||||
When I display builds badge for a master branch
|
||||
Then I should see a badge that has not been cached
|
||||
|
|
|
@ -20,6 +20,10 @@ class Spinach::Features::ProjectBadgesBuild < Spinach::FeatureSteps
|
|||
expect_badge('running')
|
||||
end
|
||||
|
||||
step 'I should see a badge that has not been cached' do
|
||||
expect(page.response_headers).to include('Cache-Control' => 'no-cache')
|
||||
end
|
||||
|
||||
def expect_badge(status)
|
||||
svg = Nokogiri::XML.parse(page.body)
|
||||
expect(page.response_headers).to include('Content-Type' => 'image/svg+xml')
|
||||
|
|
Loading…
Reference in a new issue