spec/spec_helper.rb in imdb-0.5.0 vs spec/spec_helper.rb in imdb-0.5.1

- old
+ new

@@ -1,10 +1,10 @@ # By default if you have the FakeWeb gem installed when the specs are # run they will hit recorded responses. However, if you don't have # the FakeWeb gem installed or you set the environment variable # LIVE_TEST then the tests will hit the live site IMDB.com. -### +# # Having both methods available for testing allows you to quickly # refactor and add features, while also being able to make sure that # no changes to the IMDB.com interface have affected the parser. ### @@ -21,24 +21,28 @@ def read_fixture(path) File.read(File.expand_path(File.join(File.dirname(__FILE__), "fixtures", path))) end +IMDB_SAMPLES = { + "http://www.imdb.com:80/find?q=Matrix+Revolutions;s=tt" => "search_matrix_revolutions", + "http://www.imdb.com:80/find?q=Star+Trek;s=tt" => "search_star_trek", + "http://www.imdb.com:80/title/tt0117731/" => "tt0117731", + "http://www.imdb.com:80/title/tt0095016/" => "tt0095016", + "http://www.imdb.com:80/title/tt0242653/" => "tt0242653", + "http://www.imdb.com/title/tt0242653/?fr=c2M9MXxsbT01MDB8ZmI9dXx0dD0xfG14PTIwfGh0bWw9MXxjaD0xfGNvPTF8cG49MHxmdD0xfGt3PTF8cXM9TWF0cml4IFJldm9sdXRpb25zfHNpdGU9ZGZ8cT1NYXRyaXggUmV2b2x1dGlvbnN8bm09MQ__;fc=1;ft=20" => "tt0242653", + "http://www.imdb.com:80/chart/top" => "top_250", + "http://www.imdb.com/title/tt0111161/" => "tt0111161", + "http://www.imdb.com/title/tt1352369/" => "tt1352369" +} + unless ENV['LIVE_TEST'] begin require 'rubygems' require 'fakeweb' FakeWeb.allow_net_connect = false - { "http://www.imdb.com:80/find?q=Matrix+Revolutions;s=tt" => "search_matrix_revolutions", - "http://www.imdb.com:80/find?q=Star+Trek;s=tt" => "search_star_trek", - "http://www.imdb.com:80/title/tt0117731/" => "tt0117731", - "http://www.imdb.com:80/title/tt0095016/" => "tt0095016", - "http://www.imdb.com:80/title/tt0242653/" => "tt0242653", - "http://www.imdb.com:80/title/tt0242653/?fr=c2M9MXxsbT01MDB8ZmI9dXx0dD0xfG14PTIwfHFzPU1hdHJpeCBSZXZvbHV0aW9uc3xodG1sPTF8c2l0ZT1kZnxxPU1hdHJpeCBSZXZvbHV0aW9uc3xwbj0w;fc=1;ft=20" => "tt0242653", - "http://www.imdb.com:80/chart/top" => "top_250", - "http://www.imdb.com/title/tt0111161/" => "tt0111161", - }.each do |url, response| + IMDB_SAMPLES.each do |url, response| FakeWeb.register_uri(:get, url, :response => read_fixture(response)) end rescue LoadError puts "Could not load FakeWeb, these tests will hit IMDB.com" puts "You can run `gem install fakeweb` to stub out the responses."