aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cask/lib/hbc/url_checker.rb1
-rw-r--r--Library/Homebrew/cask/test/cask/url_checker_test.rb64
-rw-r--r--Library/Homebrew/cask/test/support/fake_fetcher.rb39
-rw-r--r--Library/Homebrew/cask/test/test_helper.rb1
4 files changed, 42 insertions, 63 deletions
diff --git a/Library/Homebrew/cask/lib/hbc/url_checker.rb b/Library/Homebrew/cask/lib/hbc/url_checker.rb
index 299684b13..60a15ca2f 100644
--- a/Library/Homebrew/cask/lib/hbc/url_checker.rb
+++ b/Library/Homebrew/cask/lib/hbc/url_checker.rb
@@ -1,4 +1,5 @@
require "hbc/checkable"
+require "hbc/fetcher"
module Hbc
class UrlChecker
diff --git a/Library/Homebrew/cask/test/cask/url_checker_test.rb b/Library/Homebrew/cask/test/cask/url_checker_test.rb
index 6871b4215..199182bf2 100644
--- a/Library/Homebrew/cask/test/cask/url_checker_test.rb
+++ b/Library/Homebrew/cask/test/cask/url_checker_test.rb
@@ -2,32 +2,50 @@ require "test_helper"
describe Hbc::UrlChecker do
describe "request processing" do
- it "adds an error if response is empty" do
- cask = Hbc.load("basic-cask")
- Hbc::FakeFetcher.fake_response_for(cask.url, "")
- checker = Hbc::UrlChecker.new(cask, Hbc::FakeFetcher)
- checker.run
- checker.errors.must_include "timeout while requesting #{cask.url}"
- end
+ let(:cask) { Hbc.load("basic-cask") }
+ let(:checker) { Hbc::UrlChecker.new(cask) }
+ let(:with_stubbed_fetcher) {
+ lambda { |&block|
+ Hbc::Fetcher.stub(:head, response) do
+ checker.run
+ instance_eval(&block)
+ end
+ }
+ }
+
+ describe "with an empty response" do
+ let(:response) { "" }
- it "properly populates the response code and headers from an http response" do
- cask = Hbc.load("basic-cask")
+ it "adds an error" do
+ with_stubbed_fetcher.call do
+ expect(checker.errors).must_include("timeout while requesting #{cask.url}")
+ end
+ end
+ end
- Hbc::FakeFetcher.fake_response_for(cask.url, <<-EOS.undent)
- HTTP/1.1 200 OK
- Content-Type: application/x-apple-diskimage
- ETag: "b4208f3e84967be4b078ecaa03fba941"
- Content-Length: 23726161
- Last-Modified: Sun, 12 Aug 2012 21:17:21 GMT
- EOS
+ describe "with a valid http response" do
+ let(:response) {
+ <<-EOS.undent
+ HTTP/1.1 200 OK
+ Content-Type: application/x-apple-diskimage
+ ETag: "b4208f3e84967be4b078ecaa03fba941"
+ Content-Length: 23726161
+ Last-Modified: Sun, 12 Aug 2012 21:17:21 GMT
+ EOS
+ }
- checker = Hbc::UrlChecker.new(cask, Hbc::FakeFetcher)
- checker.run
- checker.response_status.must_equal "HTTP/1.1 200 OK"
- checker.headers.must_equal("Content-Type" => "application/x-apple-diskimage",
- "ETag" => '"b4208f3e84967be4b078ecaa03fba941"',
- "Content-Length" => "23726161",
- "Last-Modified" => "Sun, 12 Aug 2012 21:17:21 GMT")
+ it "properly populates the response code and headers" do
+ with_stubbed_fetcher.call do
+ expect(checker.errors).must_be_empty
+ expect(checker.response_status).must_equal("HTTP/1.1 200 OK")
+ expect(checker.headers).must_equal(
+ "Content-Type" => "application/x-apple-diskimage",
+ "ETag" => '"b4208f3e84967be4b078ecaa03fba941"',
+ "Content-Length" => "23726161",
+ "Last-Modified" => "Sun, 12 Aug 2012 21:17:21 GMT"
+ )
+ end
+ end
end
end
end
diff --git a/Library/Homebrew/cask/test/support/fake_fetcher.rb b/Library/Homebrew/cask/test/support/fake_fetcher.rb
deleted file mode 100644
index 43483751f..000000000
--- a/Library/Homebrew/cask/test/support/fake_fetcher.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-module Hbc
- class FakeFetcher
- def self.fake_response_for(url, response)
- @responses[url] = response
- end
-
- def self.head(url)
- @responses ||= {}
- raise("no response faked for #{url.inspect}") unless @responses.key?(url)
- @responses[url]
- end
-
- def self.init
- @responses = {}
- end
-
- def self.clear
- @responses = {}
- end
- end
-end
-
-module FakeFetcherHooks
- def before_setup
- super
- Hbc::FakeFetcher.init
- end
-
- def after_teardown
- super
- Hbc::FakeFetcher.clear
- end
-end
-
-module MiniTest
- class Spec
- include FakeFetcherHooks
- end
-end
diff --git a/Library/Homebrew/cask/test/test_helper.rb b/Library/Homebrew/cask/test/test_helper.rb
index 6b66c1138..85024aae8 100644
--- a/Library/Homebrew/cask/test/test_helper.rb
+++ b/Library/Homebrew/cask/test/test_helper.rb
@@ -100,7 +100,6 @@ require "support/shared_examples"
require "support/shared_examples/dsl_base.rb"
require "support/shared_examples/staged.rb"
-require "support/fake_fetcher"
require "support/fake_dirs"
require "support/fake_system_command"
require "support/cleanup"