From 505b2fb91177d8f127d1192cd3880b58708fc548 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Thu, 1 Nov 2012 16:15:06 +0100 Subject: [PATCH] No need to revalidate if resource is final --- lib/travis/api/app/responders/service.rb | 2 +- spec/unit/responders/service_spec.rb | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 spec/unit/responders/service_spec.rb diff --git a/lib/travis/api/app/responders/service.rb b/lib/travis/api/app/responders/service.rb index 5af8b8fe..bc775195 100644 --- a/lib/travis/api/app/responders/service.rb +++ b/lib/travis/api/app/responders/service.rb @@ -16,7 +16,7 @@ module Travis::Api::App::Responders def cache_control if final? mode = endpoint.public? ? :public : :private - endpoint.expires(31536000, mode, :must_revalidate) # 1 year + endpoint.expires(31536000, mode) # 1 year else # FIXME: Chrome WTF? endpoint.cache_control :no_cache diff --git a/spec/unit/responders/service_spec.rb b/spec/unit/responders/service_spec.rb new file mode 100644 index 00000000..5ee9412f --- /dev/null +++ b/spec/unit/responders/service_spec.rb @@ -0,0 +1,21 @@ +require 'spec_helper' + +describe Travis::Api::App::Responders::Service do + class MyService < Travis::Api::App::Responders::Service + end + + let(:endpoint) { stub 'endpoint', public?: true } + let(:resource) { stub 'resource', run: {} } + let(:options) { {} } + let(:service) { MyService.new(endpoint, resource, options) } + + context 'with final resource' do + before { resource.expects(:final?).returns(true) } + + it 'caches resource for a year' do + endpoint.expects(:expires).with(31536000, :public) + service.apply + end + end + +end