spec/tools/cache_spec.rb in musicbrainz-0.6.0 vs spec/tools/cache_spec.rb in musicbrainz-0.7.0

- old
+ new

@@ -1,5 +1,7 @@ +# -*- encoding: utf-8 -*- + require "spec_helper" describe MusicBrainz::Tools::Cache do before(:all) do @old_cache_path = MusicBrainz::Tools::Cache.cache_path @@ -9,36 +11,21 @@ after(:all) do MusicBrainz::Tools::Cache.cache_path = @old_cache_path end before(:each) do - @test_response = ::StringIO.new('<?xml version="1.0" encoding="UTF-8"?>'+ - '<metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#">'+ - '<artist type="Group" id="69b39eab-6577-46a4-a9f5-817839092033">'+ - '<name>Kasabian</name><sort-name>Kasabian</sort-name><country>GB</country>'+ - '<life-span><begin>1999</begin></life-span><relation-list target-type="url">'+ - '<relation type="allmusic"><target>http://allmusic.com/artist/p678134</target>'+ - '</relation><relation type="wikipedia"><target>http://en.wikipedia.org/wiki/Kasabian</target>'+ - '</relation><relation type="microblog"><target>http://twitter.com/kasabianhq</target>'+ - '</relation><relation type="BBC Music page"><target>'+ - 'http://www.bbc.co.uk/music/artists/69b39eab-6577-46a4-a9f5-817839092033</target></relation>'+ - '<relation type="discogs"><target>http://www.discogs.com/artist/Kasabian</target></relation>'+ - '<relation type="social network"><target>http://www.facebook.com/kasabian</target></relation>'+ - '<relation type="IMDb"><target>http://www.imdb.com/name/nm1868442/</target></relation>'+ - '<relation type="official homepage"><target>http://www.kasabian.co.uk/</target></relation>'+ - '<relation type="myspace"><target>http://www.myspace.com/kasabian</target></relation>'+ - '<relation type="youtube"><target>http://www.youtube.com/kasabianvevo</target></relation>'+ - '<relation type="youtube"><target>http://www.youtube.com/user/KasabianTour</target></relation>'+ - '</relation-list></artist></metadata>') + file_path = File.join(File.dirname(__FILE__), "../fixtures/kasabian.xml") + @test_response = ::StringIO.new(File.open(file_path).gets) end context "with cache enabled" do it "calls get contents only once when requesting the resource twice" do MusicBrainz::Tools::Cache.cache_path = @tmp_cache_path + mbid = "69b39eab-6577-46a4-a9f5-817839092033" + MusicBrainz::Tools::Proxy.stub(:get_contents).and_return(@test_response) MusicBrainz::Tools::Proxy.should_receive(:get_contents).once - mbid = "69b39eab-6577-46a4-a9f5-817839092033" File.exist?("#{@tmp_cache_path}/artist/#{mbid}?inc=url-rels").should be_false artist = MusicBrainz::Artist.find(mbid) artist.should be_a_kind_of(MusicBrainz::Artist) @@ -51,12 +38,13 @@ end context "with cache disabled" do it "calls get contents twice when requesting the resource twice" do MusicBrainz::Tools::Cache.cache_path = nil + mbid = "69b39eab-6577-46a4-a9f5-817839092033" + MusicBrainz::Tools::Proxy.stub(:get_contents).and_return(@test_response) MusicBrainz::Tools::Proxy.should_receive(:get_contents).twice - mbid = "69b39eab-6577-46a4-a9f5-817839092033" File.exist?("#{@tmp_cache_path}/artist/#{mbid}?inc=url-rels").should be_false artist = MusicBrainz::Artist.find(mbid) artist.should be_a_kind_of(MusicBrainz::Artist)