1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
require 'fakeweb'
describe ApplicationController, "when accessing third party services" do
before (:each) do
FakeWeb.clean_registry
end
after (:each) do
FakeWeb.clean_registry
end
it "should succeed if the service responds OK" do
config = MySociety::Config.load_default()
config['GAZE_URL'] = 'http://denmark.com'
FakeWeb.register_uri(:get, %r|denmark.com|, :body => "DK")
country = self.controller.send :country_from_ip
country.should == "DK"
end
it "should fail silently if the country_from_ip domain doesn't exist" do
config = MySociety::Config.load_default()
config['GAZE_URL'] = 'http://12123sdf14qsd.com'
country = self.controller.send :country_from_ip
country.should == config['ISO_COUNTRY_CODE']
end
it "should fail silently if the country_from_ip service doesn't exist" do
config = MySociety::Config.load_default()
config['GAZE_URL'] = 'http://www.google.com'
country = self.controller.send :country_from_ip
country.should == config['ISO_COUNTRY_CODE']
end
it "should fail silently if the country_from_ip service returns an error" do
FakeWeb.register_uri(:get, %r|500.com|, :body => "Error", :status => ["500", "Error"])
config = MySociety::Config.load_default()
config['GAZE_URL'] = 'http://500.com'
country = self.controller.send :country_from_ip
country.should == config['ISO_COUNTRY_CODE']
end
end
describe ApplicationController, "when caching fragments" do
it "should not fail with long filenames" do
long_name = "blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah.txt"
params = { :only_path => true,
:file_name => [long_name],
:controller => "request",
:action => "get_attachment_as_html",
:id => "132",
:incoming_message_id => "44",
:part => "2" }
path = self.controller.send(:foi_fragment_cache_path, params)
self.controller.send(:foi_fragment_cache_write, path, "whassap")
end
end
|