blob: 2e0e99200fce76229ad3ebfdeef08780bfd69659 (
plain)
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
|
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
|