From b40517ca61a9d2352b46ef9e8cdfa4d0bcb5f0da Mon Sep 17 00:00:00 2001 From: Michael May Date: Mon, 29 Sep 2014 16:06:08 -0700 Subject: [PATCH 1/3] bump fastly to 1.1.4 --- fastly-rails.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastly-rails.gemspec b/fastly-rails.gemspec index 5716adc..f376232 100644 --- a/fastly-rails.gemspec +++ b/fastly-rails.gemspec @@ -15,7 +15,7 @@ Gem::Specification.new do |s| s.test_files = Dir["test/**/*"] s.add_dependency "rails" - s.add_dependency 'fastly', '~> 1.1.2' + s.add_dependency 'fastly', '~> 1.1.4' s.add_development_dependency "sqlite3" s.add_development_dependency "database_cleaner" From dfa3b836e8ccd27b445ec03e45b50ce95550dabb Mon Sep 17 00:00:00 2001 From: Michael May Date: Mon, 29 Sep 2014 16:06:35 -0700 Subject: [PATCH 2/3] require API Key for surrogate key purges --- lib/fastly-rails/client.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/fastly-rails/client.rb b/lib/fastly-rails/client.rb index 3816db4..79122fd 100644 --- a/lib/fastly-rails/client.rb +++ b/lib/fastly-rails/client.rb @@ -8,6 +8,7 @@ def initialize(opts={}) end def purge_by_key(key) + client.require_key! client.post purge_url(key) end From c0ebaead51b212f26867ea29bba4b7da7ae88b46 Mon Sep 17 00:00:00 2001 From: Michael May Date: Mon, 29 Sep 2014 16:07:08 -0700 Subject: [PATCH 3/3] rename NoAuthCredentialsProvided to NoAPIKeyProvided * We only need to auth with API key for purges --- lib/fastly-rails.rb | 2 +- lib/fastly-rails/configuration.rb | 2 +- lib/fastly-rails/errors.rb | 2 +- test/fastly-rails/configuration_test.rb | 9 ++++----- test/fastly-rails_test.rb | 12 +----------- 5 files changed, 8 insertions(+), 19 deletions(-) diff --git a/lib/fastly-rails.rb b/lib/fastly-rails.rb index fad87dd..818af9b 100644 --- a/lib/fastly-rails.rb +++ b/lib/fastly-rails.rb @@ -21,7 +21,7 @@ def self.service_id end def self.client - raise NoAuthCredentialsProvidedError unless configuration.authenticatable? + raise NoAPIKeyProvidedError unless configuration.authenticatable? @client ||= Client.new( :api_key => configuration.api_key, diff --git a/lib/fastly-rails/configuration.rb b/lib/fastly-rails/configuration.rb index 0d11512..60d3f61 100644 --- a/lib/fastly-rails/configuration.rb +++ b/lib/fastly-rails/configuration.rb @@ -14,7 +14,7 @@ def initialize end def authenticatable? - !!(api_key || has_credentials?) + !!api_key end def invalid_service_id? diff --git a/lib/fastly-rails/errors.rb b/lib/fastly-rails/errors.rb index 6832f91..12aaa5a 100644 --- a/lib/fastly-rails/errors.rb +++ b/lib/fastly-rails/errors.rb @@ -1,6 +1,6 @@ module FastlyRails - class NoAuthCredentialsProvidedError < ArgumentError; end + class NoAPIKeyProvidedError < ArgumentError; end class NoServiceIdProvidedError < ArgumentError; end end diff --git a/test/fastly-rails/configuration_test.rb b/test/fastly-rails/configuration_test.rb index 9442cdc..6b50522 100644 --- a/test/fastly-rails/configuration_test.rb +++ b/test/fastly-rails/configuration_test.rb @@ -42,7 +42,7 @@ assert_respond_to configuration, :authenticatable? end - it 'should return false if api_key, user, and password are nil' do + it 'should return false if api_key is nil' do assert_equal false, configuration.authenticatable? end @@ -53,16 +53,15 @@ end it 'should return true if only api_key is not nil' do - configuration.api_key = 'key' - + configuration.api_key = 'test' assert_equal true, configuration.authenticatable? end - it 'should return true if if user and password are not nil' do + it 'should return false if only user and password are not nil' do configuration.user = 'user' configuration.password = 'password' - assert_equal true, configuration.authenticatable? + assert_equal false, configuration.authenticatable? end end diff --git a/test/fastly-rails_test.rb b/test/fastly-rails_test.rb index 651a7c0..b7fe70e 100644 --- a/test/fastly-rails_test.rb +++ b/test/fastly-rails_test.rb @@ -1,7 +1,6 @@ require 'test_helper' describe FastlyRails do - let(:api_key) { 'test' } let(:user) { nil } let(:password) { nil } @@ -15,16 +14,14 @@ end describe 'credentials not provided' do - before do FastlyRails.instance_variable_set('@configuration', FastlyRails::Configuration.new) end it 'should raise an error if configuration is not authenticatable' do - assert_equal false, configuration.authenticatable? assert_equal true, configuration.invalid_service_id? - assert_raises FastlyRails::NoAuthCredentialsProvidedError do + assert_raises FastlyRails::NoAPIKeyProvidedError do client end assert_raises FastlyRails::NoServiceIdProvidedError do @@ -34,9 +31,7 @@ end describe 'credentials provided' do - before do - FastlyRails.configure do |c| c.api_key = api_key c.user = user @@ -44,23 +39,18 @@ c.max_age = max_age c.service_id = service_id end - end - it 'should have configuration options set up' do - assert_equal api_key, configuration.api_key assert_equal user, configuration.user assert_equal password, configuration.password assert_equal max_age, configuration.max_age assert_equal service_id, configuration.service_id - end it 'should return a valid client' do assert_instance_of FastlyRails::Client, client end - end end