aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers/application_controller_spec.rb
blob: 08e68d85e46dbb92f547fca9b69fe6282f80a1cd (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
39
40
41
42
43
44
45
46
47
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
        Configuration.stub!(:gaze_url).and_return('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
        Configuration.stub!(:gaze_url).and_return('http://12123sdf14qsd.com')
        country = self.controller.send :country_from_ip
        country.should == Configuration.iso_country_code
    end
    it "should fail silently if the country_from_ip service doesn't exist" do
        Configuration.stub!(:gaze_url).and_return('http://www.google.com')
        country = self.controller.send :country_from_ip
        country.should == Configuration.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"])
        Configuration.stub!(:gaze_url).and_return('http://500.com')
        country = self.controller.send :country_from_ip
        country.should == Configuration.iso_country_code
    end
end

describe ApplicationController, "when caching fragments" do

    it "should not fail with long filenames" do
        long_name = "blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah.txt"
        path = self.controller.send(:foi_fragment_cache_path, long_name)
        self.controller.send(:foi_fragment_cache_write, path, "whassap")
    end

end