aboutsummaryrefslogtreecommitdiffstats
path: root/spec/models/purge_request_spec.rb
diff options
context:
space:
mode:
authorSeb Bacon <seb.bacon@gmail.com>2012-04-20 19:10:10 +0100
committerSeb Bacon <seb.bacon@gmail.com>2012-04-20 19:10:10 +0100
commit4533b28661d6ce6973becf5877e82ca5656c37d2 (patch)
treee3df319f2d3a3d7a458c5637dee74db02f15bcff /spec/models/purge_request_spec.rb
parent8fcafad78e2fba5a09f7ad45542d906e0cdda19b (diff)
More changes and refactoring to make purges work.
Diffstat (limited to 'spec/models/purge_request_spec.rb')
-rw-r--r--spec/models/purge_request_spec.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/spec/models/purge_request_spec.rb b/spec/models/purge_request_spec.rb
new file mode 100644
index 000000000..f7d01f784
--- /dev/null
+++ b/spec/models/purge_request_spec.rb
@@ -0,0 +1,32 @@
+require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
+require 'fakeweb'
+
+describe PurgeRequest, "purging things" do
+ before do
+ FakeWeb.last_request = nil
+ end
+
+ it 'should issue purge requests to the server' do
+ req = PurgeRequest.new(:url => "/begone_from_here",
+ :model => "don't care",
+ :model_id => "don't care")
+ req.save()
+ PurgeRequest.all().count.should == 1
+ PurgeRequest.purge_all()
+ PurgeRequest.all().count.should == 0
+ end
+
+ it 'should fail silently for a misconfigured server' do
+ FakeWeb.register_uri(:get, %r|brokenv|, :body => "BROKEN")
+ config = MySociety::Config.load_default()
+ config['VARNISH_HOST'] = "brokencache"
+ req = PurgeRequest.new(:url => "/begone_from_here",
+ :model => "don't care",
+ :model_id => "don't care")
+ req.save()
+ PurgeRequest.all().count.should == 1
+ PurgeRequest.purge_all()
+ PurgeRequest.all().count.should == 1
+ end
+end
+