diff --git a/Gemfile b/Gemfile index 03fabcbc..1cb733e6 100644 --- a/Gemfile +++ b/Gemfile @@ -18,6 +18,8 @@ gem 'twitter-bootstrap-rails' gem 'uglifier', '>= 1.3.0' group :production do + gem 'dalli' + gem 'memcachier' gem 'pg' gem 'rails_12factor' end diff --git a/Gemfile.lock b/Gemfile.lock index 2eaa178f..3f529fe4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -65,6 +65,7 @@ GEM tins (>= 1.6.0, < 2) crack (0.4.3) safe_yaml (~> 1.0.0) + dalli (2.7.6) debug_inspector (0.0.2) devise (4.2.0) bcrypt (~> 3.0) @@ -135,6 +136,7 @@ GEM nokogiri (>= 1.5.9) mail (2.6.4) mime-types (>= 1.16, < 4) + memcachier (0.0.2) memoist (0.15.0) method_source (0.8.2) mime-types (3.1) @@ -252,7 +254,7 @@ GEM sprockets (3.7.0) concurrent-ruby (~> 1.0) rack (> 1, < 3) - sprockets-rails (3.1.1) + sprockets-rails (3.2.0) actionpack (>= 4.0) activesupport (>= 4.0) sprockets (>= 3.0.0) @@ -279,7 +281,7 @@ GEM unf (0.1.4) unf_ext unf_ext (0.0.7.2) - unicode-display_width (1.1.0) + unicode-display_width (1.1.1) vcr (3.0.3) warden (1.2.6) rack (>= 1.0) @@ -305,6 +307,7 @@ DEPENDENCIES annotate byebug coveralls + dalli devise google-api-client hashie @@ -312,6 +315,7 @@ DEPENDENCIES http_logger jquery-rails less-rails + memcachier minitest-rails minitest-rails-capybara minitest-reporters diff --git a/app.json b/app.json index 8bada17e..115eed16 100644 --- a/app.json +++ b/app.json @@ -60,7 +60,8 @@ } }, "addons": [ - "heroku-postgresql" + "heroku-postgresql", + "memcachier" ], "buildpacks": [ { diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb index 7e3faa67..c9f282e1 100644 --- a/app/controllers/search_controller.rb +++ b/app/controllers/search_controller.rb @@ -3,12 +3,29 @@ def index end def bento - @results = SearchEds.new.search(params[:q]) - # TODO: it's generally bad form to have multiple instance Variables # acessible in the views. However, this needs a refactor to allow for # async searching anyway so I'm violating that rule for now with the # anticipation of the async work. - @moar_results = SearchGoogle.new.search(params[:q]) + + today = Time.zone.today.strftime('%Y%m%d') + + # NOTE: The cache keys used below use a combination of the api endpoint + # name, the search parameter, and today's date to allow us to cache calls + # for the current date without ever worrying about expiring caches. + # Instead, we'll rely on the cache itself to expire the oldest cached + # items when necessary. + + @articles = Rails.cache.fetch("articles_#{params[:q]}_#{today}") do + SearchEds.new.search(params[:q], ENV['EDS_NO_ALEPH_PROFILE']) + end + + @books = Rails.cache.fetch("books_#{params[:q]}_#{today}") do + SearchEds.new.search(params[:q], ENV['EDS_ALEPH_PROFILE']) + end + + @google = Rails.cache.fetch("google_#{params[:q]}_#{today}") do + SearchGoogle.new.search(params[:q]) + end end end diff --git a/app/models/search_eds.rb b/app/models/search_eds.rb index f7b260fc..8b70b68b 100644 --- a/app/models/search_eds.rb +++ b/app/models/search_eds.rb @@ -2,8 +2,6 @@ class SearchEds attr_reader :results EDS_URL = ENV['EDS_URL'].freeze - EDS_NO_ALEPH_PROFILE = ENV['EDS_NO_ALEPH_PROFILE'].freeze - EDS_ALEPH_PROFILE = ENV['EDS_ALEPH_PROFILE'].freeze RESULTS_PER_BOX = ENV['RESULTS_PER_BOX'] || 3 def initialize @@ -11,18 +9,13 @@ def initialize @results = {} end - def search(term) + def search(term, profile) return 'invalid credentials' unless @auth_token - @session_key = create_session(EDS_NO_ALEPH_PROFILE) if @auth_token - @results['raw_articles'] = search_filtered(term) + @session_key = create_session(profile) if @auth_token + @results["raw_#{profile}"] = search_filtered(term) end_session - @session_key = create_session(EDS_ALEPH_PROFILE) if @auth_token - @results['raw_books'] = search_filtered(term) - end_session - - @results['articles'] = to_result(@results['raw_articles']) - @results['books'] = to_result(@results['raw_books']) + @results[profile.to_s] = to_result(@results["raw_#{profile}"]) @results end diff --git a/app/views/search/bento.html.erb b/app/views/search/bento.html.erb index faea5e5d..7f01214c 100644 --- a/app/views/search/bento.html.erb +++ b/app/views/search/bento.html.erb @@ -3,12 +3,12 @@

Articles and Stuff

- <% @results['articles']['results'].each do |result| %> + <% @articles['apinoaleph']['results'].each do |result| %> <%= render partial: "result", locals: {result: result} %> <% end %> - <% if @results['articles']['total'] > 0 %> - <%= link_to("View all #{@results['articles']['total']} like this.", + <% if @articles['apinoaleph']['total'] > 0 %> + <%= link_to("View all #{@articles['apinoaleph']['total']} like this.", "#{ENV['EDS_ALEPH_URI']}#{params[:q]}") %> <% else %> No results found. @@ -18,12 +18,12 @@

Books and Stuff

- <% @results['books']['results'].each do |result| %> + <% @books['apibarton']['results'].each do |result| %> <%= render partial: "result", locals: {result: result} %> <% end %> - <% if @results['books']['total'] > 0 %> - <%= link_to("View all #{@results['books']['total']} like this.", + <% if @books['apibarton']['total'] > 0 %> + <%= link_to("View all #{@books['apibarton']['total']} like this.", "#{ENV['EDS_ALEPH_URI']}#{params[:q]}") %> <% else %> No results found. @@ -33,12 +33,12 @@

Website and Guides

- <% @moar_results['results'].each do |result| %> + <% @google['results'].each do |result| %> <%= render partial: "result", locals: {result: result} %> <% end %> - <% if @moar_results['total'] > 0 %> - <%= link_to("View all #{@moar_results['total']} like this.", + <% if @google['total'] > 0 %> + <%= link_to("View all #{@google['total']} like this.", "https://cse.google.com/cse?cx=#{ENV['GOOGLE_CUSTOM_SEARCH_ID']}&ie=UTF-8&q=#{params[:q]}&sa=Search#gsc.tab=0&gsc.q=#{params[:q]}") %> <% end %>
diff --git a/config/environments/production.rb b/config/environments/production.rb index 2a191e75..6da043ec 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -40,7 +40,7 @@ # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ] # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. - # config.force_ssl = true + config.force_ssl = true # Use the lowest log level to ensure availability of diagnostic information # when problems arise. @@ -50,7 +50,7 @@ config.log_tags = [ :request_id ] # Use a different cache store in production. - # config.cache_store = :mem_cache_store + config.cache_store = :dalli_store # Use a real queuing backend for Active Job (and separate queues per environment) # config.active_job.queue_adapter = :resque diff --git a/config/environments/test.rb b/config/environments/test.rb index 28cd4b82..60671835 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -29,6 +29,7 @@ # Show full error reports and disable caching. config.consider_all_requests_local = true config.action_controller.perform_caching = false + config.cache_store = :null_store # Raise exceptions instead of rendering exception templates. config.action_dispatch.show_exceptions = false diff --git a/test/controllers/search_controller_test.rb b/test/controllers/search_controller_test.rb index a2d44787..79f07ed5 100644 --- a/test/controllers/search_controller_test.rb +++ b/test/controllers/search_controller_test.rb @@ -7,7 +7,7 @@ class SearchControllerTest < ActionController::TestCase end test 'should get bento' do - VCR.use_cassette('valid search and credentials', + VCR.use_cassette('integrated search', allow_playback_repeats: true) do get :bento, params: { q: 'popcorn' } assert_response :success diff --git a/test/models/search_eds_test.rb b/test/models/search_eds_test.rb index 1ab06fa1..2c2d686e 100644 --- a/test/models/search_eds_test.rb +++ b/test/models/search_eds_test.rb @@ -1,86 +1,85 @@ require 'test_helper' class SearchEdsTest < ActiveSupport::TestCase - test 'valid search with valid credentials returns results' do - VCR.use_cassette('valid eds search and credentials', + test 'can search articles' do + VCR.use_cassette('popcorn articles', allow_playback_repeats: true) do - query = SearchEds.new.search('popcorn') - assert_equal(39_784, query['articles']['total']) + query = SearchEds.new.search('popcorn', 'apinoaleph') + assert_equal(39_812, query['apinoaleph']['total']) + end + end + + test 'can search books' do + VCR.use_cassette('popcorn non articles', + allow_playback_repeats: true) do + query = SearchEds.new.search('popcorn', 'apibarton') + assert_equal(79, query['apibarton']['total']) end end test 'invalid credentials' do VCR.use_cassette('invalid credentials') do - query = SearchEds.new.search('popcorn') + query = SearchEds.new.search('popcorn', 'apibarton') assert_equal('invalid credentials', query) end end test 'normalized articles have expected title' do - VCR.use_cassette('valid eds search and credentials', + VCR.use_cassette('popcorn articles', allow_playback_repeats: true) do - query = SearchEds.new.search('popcorn') + query = SearchEds.new.search('popcorn', 'apinoaleph') assert_equal( 'Sowing time of popcorn during the summer harvest under', - query['articles']['results'].first.title.split[0...9].join(' ') + query['apinoaleph']['results'].first.title.split[0...9].join(' ') ) end end test 'normalized articles have expected year' do - VCR.use_cassette('valid eds search and credentials', + VCR.use_cassette('popcorn articles', allow_playback_repeats: true) do - query = SearchEds.new.search('popcorn') - assert_equal('2015', query['articles']['results'].first.year) + query = SearchEds.new.search('popcorn', 'apinoaleph') + assert_equal('2015', query['apinoaleph']['results'].first.year) end end test 'normalized articles have expected url' do - VCR.use_cassette('valid eds search and credentials', + VCR.use_cassette('popcorn articles', allow_playback_repeats: true) do - query = SearchEds.new.search('popcorn') + query = SearchEds.new.search('popcorn', 'apinoaleph') assert_equal( 'http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsihs&AN=221456993819438', - query['articles']['results'].first.url + query['apinoaleph']['results'].first.url ) end end test 'normalized articles have expected type' do - VCR.use_cassette('valid eds search and credentials', + VCR.use_cassette('popcorn articles', allow_playback_repeats: true) do - query = SearchEds.new.search('popcorn') - assert_equal('Academic Journal', query['articles']['results'].first.type) + query = SearchEds.new.search('popcorn', 'apinoaleph') + assert_equal('Academic Journal', + query['apinoaleph']['results'].first.type) end end test 'normalized articles have expected authors' do - VCR.use_cassette('valid eds search and credentials', + VCR.use_cassette('popcorn articles', allow_playback_repeats: true) do - query = SearchEds.new.search('popcorn') + query = SearchEds.new.search('popcorn', 'apinoaleph') assert_equal( 'Marques, Odair Jose', - query['articles']['results'].first.authors.first + query['apinoaleph']['results'].first.authors.first ) - assert_equal(7, query['articles']['results'].first.authors.count) + assert_equal(7, query['apinoaleph']['results'].first.authors.count) end end test 'searches with no results do not error' do VCR.use_cassette('no results', allow_playback_repeats: true) do - query = SearchEds.new.search('popcornandorangejuice') - assert_equal(0, query['articles']['total']) - assert_equal(0, query['books']['total']) - end - end - - test 'searches with article results and no book results' do - VCR.use_cassette('article results with no book results', - allow_playback_repeats: true) do - query = SearchEds.new.search('"pokemon go"') - assert_equal(4574, query['articles']['total']) - assert_equal(0, query['books']['total']) + query = SearchEds.new.search('popcornandorangejuice', 'apinoaleph') + assert_equal(0, query['apinoaleph']['total']) end end end diff --git a/test/vcr_cassettes/article_results_with_no_book_results.yml b/test/vcr_cassettes/article_results_with_no_book_results.yml deleted file mode 100644 index a912ed5e..00000000 --- a/test/vcr_cassettes/article_results_with_no_book_results.yml +++ /dev/null @@ -1,459 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://eds-api.ebscohost.com/authservice/rest/UIDAuth - body: - encoding: UTF-8 - string: '{"UserId":"FAKE_EDS_USER_ID","Password":"FAKE_EDS_PASSWORD"}' - headers: - Accept: - - application/json - Connection: - - close - Content-Type: - - application/json; charset=UTF-8 - Host: - - eds-api.ebscohost.com - User-Agent: - - http.rb/2.0.2 - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - private - Content-Length: - - '128' - Content-Type: - - application/json; charset=utf-8 - Server: - - Microsoft-IIS/7.5 - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Mon, 01 Aug 2016 14:20:20 GMT - Connection: - - close - body: - encoding: UTF-8 - string: '{"AuthToken":"FakeAuthenticationtoken","AuthTimeout":"1800"}' - http_version: - recorded_at: Mon, 01 Aug 2016 14:20:21 GMT -- request: - method: get - uri: https://eds-api.ebscohost.com/edsapi/rest/CreateSession?guest=n&profile=apinoaleph - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - application/json - X-Authenticationtoken: - - FakeAuthenticationtoken - Connection: - - close - Host: - - eds-api.ebscohost.com - User-Agent: - - http.rb/2.0.2 - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - private - Content-Length: - - '100' - Content-Type: - - application/json; charset=utf-8 - Server: - - Microsoft-IIS/7.5 - X-Sessiontoken: - - FakeSessiontoken - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Msg-Correlid: - - a7f8b696-2c7d-449c-9c4c-f7074f5cd2c0 - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Mon, 01 Aug 2016 14:20:20 GMT - Connection: - - close - body: - encoding: UTF-8 - string: '{"SessionToken":"FakeSessiontoken"}' - http_version: - recorded_at: Mon, 01 Aug 2016 14:20:21 GMT -- request: - method: get - uri: https://eds-api.ebscohost.com/edsapi/rest/Search?autosuggest=n&highlight=n&includefacets=n&pagenumber=1&query=%22pokemon%20go%22&resultsperpage=3&searchmode=all&sort=relevance&view=brief - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - application/json - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Sessiontoken: - - FakeSessiontoken - Connection: - - close - Host: - - eds-api.ebscohost.com - User-Agent: - - http.rb/2.0.2 - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - private - Content-Length: - - '14191' - Content-Type: - - application/json; charset=utf-8 - Server: - - Microsoft-IIS/7.5 - X-Sessiontoken: - - FakeSessiontoken - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Msg-Correlid: - - af593f99-d8e6-4c6f-8ec8-697d9ee146de - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Mon, 01 Aug 2016 14:20:20 GMT - Connection: - - close - body: - encoding: UTF-8 - string: '{"SearchRequestGet":{"QueryString":"query-1=AND,%22pokemon+go%22&sort=relevance&includefacets=n&searchmode=all&autosuggest=n&view=brief&resultsperpage=3&pagenumber=1&highlight=n","SearchCriteriaWithActions":{"QueriesWithAction":[{"Query":{"BooleanOperator":"AND","Term":"\"pokemon - go\""},"RemoveAction":"removequery(1)"}]}},"SearchResult":{"Statistics":{"TotalHits":4574,"TotalSearchTime":195,"Databases":[{"Id":"eric","Label":"ERIC","Status":"0","Hits":0},{"Id":"bwh","Label":"","Status":"0","Hits":177},{"Id":"egh","Label":"Environment - Index","Status":"0","Hits":1},{"Id":"ecn","Label":"EconLit","Status":"0","Hits":0},{"Id":"cmedm","Label":"MEDLINE","Status":"0","Hits":0},{"Id":"ufh","Label":"Communication - & Mass Media Complete","Status":"0","Hits":2},{"Id":"fyh","Label":"Women''s - Studies International","Status":"0","Hits":0},{"Id":"bth","Label":"Business - Source Complete","Status":"0","Hits":221},{"Id":"lxh","Label":"Library, Information - Science & Technology Abstracts","Status":"0","Hits":4},{"Id":"nih","Label":"The - Nation Archive","Status":"0","Hits":0},{"Id":"mah","Label":"Music Index","Status":"0","Hits":1},{"Id":"a9h","Label":"","Status":"0","Hits":133},{"Id":"ahl","Label":"America: - History & Life","Status":"0","Hits":0},{"Id":"hia","Label":"Historical Abstracts","Status":"0","Hits":0},{"Id":"8gh","Label":"GreenFILE","Status":"0","Hits":0},{"Id":"edsnbk","Label":"NewsBank","Status":"0","Hits":3275},{"Id":"edslns","Label":"LexisNexis - U.S. Serial Set Digital Collection","Status":"0","Hits":0},{"Id":"hev","Label":"European - Views of the Americas: 1493 to 1750","Status":"0","Hits":0},{"Id":"edsbl","Label":"British - Library Document Supply Centre Inside Serials & Conference Proceedings","Status":"0","Hits":0},{"Id":"edsnba","Label":"NewsBank - - Archives","Status":"0","Hits":1},{"Id":"edsgpr","Label":"Government Printing - Office Catalog","Status":"0","Hits":0},{"Id":"edspvh","Label":"PsycCRITIQUES","Status":"0","Hits":0},{"Id":"edspdh","Label":"PsycARTICLES","Status":"0","Hits":0},{"Id":"edspzh","Label":"PsycBOOKS","Status":"0","Hits":0},{"Id":"edswah","Label":"Arts - & Humanities Citation Index","Status":"0","Hits":0},{"Id":"edselp","Label":"ScienceDirect","Status":"0","Hits":0},{"Id":"edspia","Label":"DBPIA","Status":"0","Hits":0},{"Id":"edsoso","Label":"Oxford - Scholarship Online","Status":"0","Hits":0},{"Id":"edsoho","Label":"Oxford - Handbooks Online","Status":"0","Hits":0},{"Id":"edsarx","Label":"arXiv","Status":"0","Hits":0},{"Id":"edsibc","Label":"Informit - Business Collection","Status":"0","Hits":0},{"Id":"edsiec","Label":"Informit - Engineering Collection","Status":"0","Hits":0},{"Id":"edsihc","Label":"Informit - Health Collection","Status":"0","Hits":0},{"Id":"edsihs","Label":"Informit - Humanities & Social Sciences Collection","Status":"0","Hits":0},{"Id":"edsilc","Label":"Informit - Literature & Culture Collection","Status":"0","Hits":0},{"Id":"edsind","Label":"Informit - Indigenous Collection","Status":"0","Hits":0},{"Id":"nlebk","Label":"eBook - Collection (EBSCOhost)","Status":"0","Hits":0},{"Id":"edsmer","Label":"Mergent - Annual Reports Collection","Status":"0","Hits":0},{"Id":"hma","Label":"Humanities - Abstracts (H.W. Wilson)","Status":"0","Hits":0},{"Id":"hsr","Label":"Humanities - & Social Sciences Index Retrospective: 1907-1984 (H.W. Wilson)","Status":"0","Hits":0},{"Id":"air","Label":"Art - Index Retrospective (H.W. Wilson)","Status":"0","Hits":0},{"Id":"rga","Label":"Readers'' - Guide Abstracts (H.W. Wilson)","Status":"0","Hits":21},{"Id":"rgr","Label":"Readers'' - Guide Retrospective: 1890-1982 (H.W. Wilson)","Status":"0","Hits":0},{"Id":"edsman","Label":"Manuscriptorium - Digital Library","Status":"0","Hits":0},{"Id":"edskis","Label":"Korean Studies - Information Service System (KISS)","Status":"0","Hits":0},{"Id":"edsaan","Label":"Accessible - Archives","Status":"0","Hits":0},{"Id":"edscrc","Label":"Credo Reference Collections","Status":"0","Hits":0},{"Id":"edszbw","Label":"ECONIS","Status":"0","Hits":0},{"Id":"nsm","Label":"Newswires","Status":"0","Hits":323},{"Id":"bpr","Label":"Business - Periodicals Index Retrospective: 1913-1982 (H.W. Wilson)","Status":"0","Hits":0},{"Id":"edshvr","Label":"Hoover''s - Company Profiles","Status":"0","Hits":0},{"Id":"edslex","Label":"LexisNexis - Academic: Law Reviews","Status":"0","Hits":0},{"Id":"edsasp","Label":"Alexander - Street Press","Status":"0","Hits":0},{"Id":"asx","Label":"","Status":"0","Hits":114},{"Id":"edo","Label":"","Status":"0","Hits":46},{"Id":"edb","Label":"","Status":"0","Hits":255},{"Id":"edsjpi","Label":"Japanese - Periodical Index - 雑誌記事索引","Status":"0","Hits":0},{"Id":"edsjst","Label":"J-STAGE","Status":"0","Hits":0},{"Id":"edsoao","Label":"Grove - Art Online","Status":"0","Hits":0},{"Id":"edsoad","Label":"American National - Biography Online","Status":"0","Hits":0},{"Id":"edsomo","Label":"Grove Music - Online","Status":"0","Hits":0},{"Id":"edsupe","Label":"Archive of European - Integration","Status":"0","Hits":0},{"Id":"edsupi","Label":"Industry Studies - Working Papers","Status":"0","Hits":0},{"Id":"edsupa","Label":"Aphasiology - Archive","Status":"0","Hits":0},{"Id":"edsupp","Label":"PhilSci Archive","Status":"0","Hits":0},{"Id":"edsuph","Label":"Minority - Health Archive","Status":"0","Hits":0},{"Id":"edshlc","Label":"Harvard Library - Bibliographic Dataset","Status":"0","Hits":0},{"Id":"edsebo","Label":"Britannica - Online","Status":"0","Hits":0},{"Id":"edsdoj","Label":"Directory of Open Access - Journals","Status":"0","Hits":0},{"Id":"edsper","Label":"Persée","Status":"0","Hits":0},{"Id":"edspio","Label":"Public - Information Online","Status":"0","Hits":0},{"Id":"edsers","Label":"eArticle","Status":"0","Hits":0},{"Id":"edsoap","Label":"OAPEN - Library","Status":"0","Hits":0},{"Id":"edsffr","Label":"Freedonia Focus Reports","Status":"0","Hits":0},{"Id":"edsabc","Label":"ABC-CLIO - Social Studies Databases, School Edition","Status":"0","Hits":0},{"Id":"edsaca","Label":"ABC-CLIO - Social Studies Databases, Academic Edition","Status":"0","Hits":0},{"Id":"edsssb","Label":"Books24x7","Status":"0","Hits":0},{"Id":"edshol","Label":"HeinOnline","Status":"0","Hits":0},{"Id":"edsgsf","Label":"SOFIS - - Sozialwissenschaftliche Forschungsinformationen","Status":"0","Hits":0},{"Id":"edsgsl","Label":"SOLIS - - Sozialwissenschaftliche Literatur","Status":"0","Hits":0},{"Id":"edsocd","Label":"China\/Asia - On Demand","Status":"0","Hits":0},{"Id":"edsble","Label":"British Library - EThOS","Status":"0","Hits":0},{"Id":"edswbo","Label":"World Book","Status":"0","Hits":0},{"Id":"edsbre","Label":"Bridgeman - Education","Status":"0","Hits":0},{"Id":"edshld","Label":"Digital Access to - Scholarship at Harvard (DASH)","Status":"0","Hits":0},{"Id":"edsjsr","Label":"JSTOR - Journals","Status":"0","Hits":0}]},"Data":{"RecordFormat":"EP Display","Records":[{"ResultId":1,"Header":{"DbId":"bth","DbLabel":"Business - Source Complete","An":"117050285","RelevancyScore":"2034","PubType":"Periodical","PubTypeId":"serialPeriodical"},"PLink":"http:\/\/search.ebscohost.com\/login.aspx?direct=true&site=eds-live&db=bth&AN=117050285","FullText":{"Links":[{"Type":"pdflink"}],"Text":{"Availability":"1"}},"Items":[{"Name":"Title","Label":"Title","Group":"Ti","Data":"Monster - Game."},{"Name":"Author","Label":"Authors","Group":"Au","Data":"<searchLink - fieldCode="AR" term="%22MAC%2C+RYAN%22">MAC, RYAN<\/searchLink> - (AUTHOR)"},{"Name":"TitleSource","Label":"Source","Group":"Src","Data":"<searchLink - fieldCode="JN" term="%22Forbes%22">Forbes<\/searchLink>. - 8\/23\/2016, Vol. 198 Issue 2, p40-42. 3p. 2 Color Photographs."},{"Name":"Subject","Label":"Subject - Terms","Group":"Su","Data":"*<searchLink fieldCode="DE" term="%22CORPORATE+divestiture%22">CORPORATE - divestiture<\/searchLink><br \/><searchLink fieldCode="DE" - term="%22POKEMON+Go+%28Game%29%22">POKEMON Go (Game)<\/searchLink><br - \/><searchLink fieldCode="DE" term="%22AUGMENTED+reality+--+Software%22">AUGMENTED - reality -- Software<\/searchLink><br \/><searchLink fieldCode="DE" - term="%22MOBILE+games%22">MOBILE games<\/searchLink>"},{"Name":"SubjectCompany","Label":"Company\/Entity","Group":"Su","Data":"<searchLink - fieldCode="DE" term="%22NIANTIC+Labs+%28Company%29%22">NIANTIC - Labs (Company)<\/searchLink> <br \/><searchLink fieldCode="DE" - term="%22GOOGLE+Inc%2E%22">GOOGLE Inc.<\/searchLink> <searchLink - fieldCode="TK" term="%22GOOG%22">GOOG<\/searchLink>"},{"Name":"SubjectPerson","Label":"People","Group":"Su","Data":"<searchLink - fieldCode="PE" term="%22HANKE%2C+John%22">HANKE, John<\/searchLink>"}],"RecordInfo":{"BibRecord":{"BibEntity":{"Languages":[{"Code":"eng","Text":"English"}],"PhysicalDescription":{"Pagination":{"PageCount":"3","StartPage":"40"}},"Subjects":[{"SubjectFull":"CORPORATE - divestiture","Type":"general"},{"SubjectFull":"POKEMON Go (Game)","Type":"general"},{"SubjectFull":"AUGMENTED - reality -- Software","Type":"general"},{"SubjectFull":"MOBILE games","Type":"general"},{"SubjectFull":"NIANTIC - Labs (Company)","Type":"general"},{"SubjectFull":"GOOGLE Inc.","Type":"general"},{"SubjectFull":"HANKE, - John","Type":"general"}],"Titles":[{"TitleFull":"Monster Game.","Type":"main"}]},"BibRelationships":{"HasContributorRelationships":[{"PersonEntity":{"Name":{"NameFull":"MAC, - RYAN"}}}],"IsPartOfRelationships":[{"BibEntity":{"Dates":[{"D":"23","M":"08","Text":"8\/23\/2016","Type":"published","Y":"2016"}],"Identifiers":[{"Type":"issn-print","Value":"00156914"}],"Numbering":[{"Type":"volume","Value":"198"},{"Type":"issue","Value":"2"}],"Titles":[{"TitleFull":"Forbes","Type":"main"}]}}]}}}},{"ResultId":2,"Header":{"DbId":"a9h","DbLabel":"","An":"116832621","RelevancyScore":"2015","PubType":"Periodical","PubTypeId":"serialPeriodical"},"PLink":"http:\/\/search.ebscohost.com\/login.aspx?direct=true&site=eds-live&db=a9h&AN=116832621","FullText":{"Links":[{"Type":"pdflink"}],"Text":{"Availability":"1"}},"Items":[{"Name":"Title","Label":"Title","Group":"Ti","Data":"The - Pokémon Fad Shows the Unnerving Future of Augmenting Reality."},{"Name":"Author","Label":"Authors","Group":"Au","Data":"<searchLink - fieldCode="AR" term="%22Vella%2C+Matt%22">Vella, Matt<\/searchLink> - (AUTHOR)"},{"Name":"TitleSource","Label":"Source","Group":"Src","Data":"<searchLink - fieldCode="JN" term="%22Time%22">Time<\/searchLink>. - 7\/25\/2016, Vol. 188 Issue 4, p19-20. 2p. 8 Color Photographs."},{"Name":"Subject","Label":"Subject - Terms","Group":"Su","Data":"*<searchLink fieldCode="DE" term="%22POKEMON+Go+%28Game%29%22">POKEMON - Go (Game)<\/searchLink><br \/>*<searchLink fieldCode="DE" - term="%22AUGMENTED+reality%22">AUGMENTED reality<\/searchLink><br - \/>*<searchLink fieldCode="DE" term="%22POPULARITY%22">POPULARITY<\/searchLink><br - \/>*<searchLink fieldCode="DE" term="%22OUTDOOR+recreation%22">OUTDOOR - recreation<\/searchLink><br \/>*<searchLink fieldCode="DE" - term="%22FADS%22">FADS<\/searchLink><br \/>*<searchLink - fieldCode="DE" term="%22BUSINESS+revenue%22">BUSINESS - revenue<\/searchLink><br \/>*<searchLink fieldCode="DE" - term="%22TECHNOLOGY+--+Social+aspects%22">TECHNOLOGY -- Social - aspects<\/searchLink><br \/><searchLink fieldCode="DE" - term="%22SOCIAL+aspects%22">SOCIAL aspects<\/searchLink>"},{"Name":"SubjectCompany","Label":"Company\/Entity","Group":"Su","Data":"<searchLink - fieldCode="DE" term="%22NINTENDO+Co%2E+Ltd%2E+--+Finance%22">NINTENDO - Co. Ltd. -- Finance<\/searchLink>"}],"RecordInfo":{"BibRecord":{"BibEntity":{"Languages":[{"Code":"eng","Text":"English"}],"PhysicalDescription":{"Pagination":{"PageCount":"2","StartPage":"19"}},"Subjects":[{"SubjectFull":"NINTENDO - Co. Ltd. -- Finance","Type":"general"},{"SubjectFull":"POKEMON Go (Game)","Type":"general"},{"SubjectFull":"AUGMENTED - reality","Type":"general"},{"SubjectFull":"POPULARITY","Type":"general"},{"SubjectFull":"OUTDOOR - recreation","Type":"general"},{"SubjectFull":"FADS","Type":"general"},{"SubjectFull":"BUSINESS - revenue","Type":"general"},{"SubjectFull":"TECHNOLOGY -- Social aspects","Type":"general"},{"SubjectFull":"SOCIAL - aspects","Type":"general"}],"Titles":[{"TitleFull":"The Pokémon Fad Shows - the Unnerving Future of Augmenting Reality.","Type":"main"}]},"BibRelationships":{"HasContributorRelationships":[{"PersonEntity":{"Name":{"NameFull":"Vella, - Matt"}}}],"IsPartOfRelationships":[{"BibEntity":{"Dates":[{"D":"25","M":"07","Text":"7\/25\/2016","Type":"published","Y":"2016"}],"Identifiers":[{"Type":"issn-print","Value":"0040781X"}],"Numbering":[{"Type":"volume","Value":"188"},{"Type":"issue","Value":"4"}],"Titles":[{"TitleFull":"Time","Type":"main"}]}}]}}}},{"ResultId":3,"Header":{"DbId":"nsm","DbLabel":"Newswires","An":"APc704262210584434973b4a6f65063c56","RelevancyScore":"2000","PubType":"","PubTypeId":"unknown"},"PLink":"http:\/\/search.ebscohost.com\/login.aspx?direct=true&site=eds-live&db=nsm&AN=APc704262210584434973b4a6f65063c56","FullText":{"Text":{"Availability":"1"}},"Items":[{"Name":"Title","Label":"Title","Group":"Ti","Data":"Israeli - army identifies a new threat: 'Pokemon Go'"},{"Name":"TitleSource","Label":"Source","Group":"Src","Data":"<searchLink - fieldCode="JN" term="%22AP+Top+News+Package%22">AP - Top News Package<\/searchLink>, 08\/01\/2016"}],"RecordInfo":{"BibRecord":{"BibEntity":{"Languages":[{"Code":"eng","Text":"English"}],"Titles":[{"TitleFull":"Israeli - army identifies a new threat: ''Pokemon Go''","Type":"main"}]},"BibRelationships":{"IsPartOfRelationships":[{"BibEntity":{"Dates":[{"D":"01","M":"08","Type":"published","Y":"2016"}],"Titles":[{"TitleFull":"AP - Top News Package","Type":"main"}]}}]}}}}]}}}' - http_version: - recorded_at: Mon, 01 Aug 2016 14:20:21 GMT -- request: - method: get - uri: https://eds-api.ebscohost.com/edsapi/rest/endsession?sessiontoken=FakeSessiontoken - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - application/json - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Sessiontoken: - - FakeSessiontoken - Connection: - - close - Host: - - eds-api.ebscohost.com - User-Agent: - - http.rb/2.0.2 - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - private - Content-Length: - - '20' - Content-Type: - - application/json; charset=utf-8 - Server: - - Microsoft-IIS/7.5 - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Msg-Correlid: - - ff6484c1-9107-40ba-aaab-a8a4a8ae33a1 - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Mon, 01 Aug 2016 14:20:21 GMT - Connection: - - close - body: - encoding: UTF-8 - string: '{"IsSuccessful":"y"}' - http_version: - recorded_at: Mon, 01 Aug 2016 14:20:21 GMT -- request: - method: get - uri: https://eds-api.ebscohost.com/edsapi/rest/CreateSession?guest=n&profile=apibarton - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - application/json - X-Authenticationtoken: - - FakeAuthenticationtoken - Connection: - - close - Host: - - eds-api.ebscohost.com - User-Agent: - - http.rb/2.0.2 - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - private - Content-Length: - - '100' - Content-Type: - - application/json; charset=utf-8 - Server: - - Microsoft-IIS/7.5 - X-Sessiontoken: - - FakeSessiontoken - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Msg-Correlid: - - 7fb07cb9-88a5-4d48-97c1-3d70717d2a58 - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Mon, 01 Aug 2016 14:20:20 GMT - Connection: - - close - body: - encoding: UTF-8 - string: '{"SessionToken":"FakeSessiontoken"}' - http_version: - recorded_at: Mon, 01 Aug 2016 14:20:21 GMT -- request: - method: get - uri: https://eds-api.ebscohost.com/edsapi/rest/Search?autosuggest=n&highlight=n&includefacets=n&pagenumber=1&query=%22pokemon%20go%22&resultsperpage=3&searchmode=all&sort=relevance&view=brief - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - application/json - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Sessiontoken: - - FakeSessiontoken - Connection: - - close - Host: - - eds-api.ebscohost.com - User-Agent: - - http.rb/2.0.2 - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - private - Content-Length: - - '657' - Content-Type: - - application/json; charset=utf-8 - Server: - - Microsoft-IIS/7.5 - X-Sessiontoken: - - FakeSessiontoken - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Msg-Correlid: - - e02172cc-dca3-4848-8ffe-6d1325101bc5 - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Mon, 01 Aug 2016 14:20:21 GMT - Connection: - - close - body: - encoding: UTF-8 - string: '{"SearchRequestGet":{"QueryString":"query-1=AND,%22pokemon+go%22&sort=relevance&includefacets=n&searchmode=all&autosuggest=n&view=brief&resultsperpage=3&pagenumber=0&highlight=n","SearchCriteriaWithActions":{"QueriesWithAction":[{"Query":{"BooleanOperator":"AND","Term":"\"pokemon - go\""},"RemoveAction":"removequery(1)"}]}},"SearchResult":{"Statistics":{"TotalHits":0,"TotalSearchTime":292,"Databases":[{"Id":"cat00916a","Label":"MIT - Barton Catalog","Status":"0","Hits":0},{"Id":"ir00145a","Label":"MIT DOME - for Discovery","Status":"0","Hits":0},{"Id":"cat01763a","Label":"MIT Course - Reserves","Status":"0","Hits":0}]},"Data":{"RecordFormat":"EP Display"}}}' - http_version: - recorded_at: Mon, 01 Aug 2016 14:20:21 GMT -- request: - method: get - uri: https://eds-api.ebscohost.com/edsapi/rest/endsession?sessiontoken=FakeSessiontoken - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - application/json - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Sessiontoken: - - FakeSessiontoken - Connection: - - close - Host: - - eds-api.ebscohost.com - User-Agent: - - http.rb/2.0.2 - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - private - Content-Length: - - '20' - Content-Type: - - application/json; charset=utf-8 - Server: - - Microsoft-IIS/7.5 - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Msg-Correlid: - - ff6484c1-9107-40ba-aaab-a8a4a8ae33a1 - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Mon, 01 Aug 2016 14:20:21 GMT - Connection: - - close - body: - encoding: UTF-8 - string: '{"IsSuccessful":"y"}' - http_version: - recorded_at: Mon, 01 Aug 2016 14:20:21 GMT -recorded_with: VCR 3.0.3 diff --git a/test/vcr_cassettes/valid_search_and_credentials.yml b/test/vcr_cassettes/integrated_search.yml similarity index 93% rename from test/vcr_cassettes/valid_search_and_credentials.yml rename to test/vcr_cassettes/integrated_search.yml index d7a4b496..ed009847 100644 --- a/test/vcr_cassettes/valid_search_and_credentials.yml +++ b/test/vcr_cassettes/integrated_search.yml @@ -35,14 +35,14 @@ http_interactions: X-Powered-By: - ASP.NET Date: - - Thu, 01 Sep 2016 15:47:31 GMT + - Tue, 06 Sep 2016 19:42:51 GMT Connection: - close body: encoding: UTF-8 string: '{"AuthToken":"FakeAuthenticationtoken","AuthTimeout":"1800"}' http_version: - recorded_at: Thu, 01 Sep 2016 15:47:31 GMT + recorded_at: Tue, 06 Sep 2016 19:42:52 GMT - request: method: get uri: https://eds-api.ebscohost.com/edsapi/rest/CreateSession?guest=n&profile=apinoaleph @@ -78,20 +78,20 @@ http_interactions: X-Authenticationtoken: - FakeAuthenticationtoken X-Msg-Correlid: - - 78f4296f-a448-4bac-adbd-7ca93403dd69 + - 288f16fc-25c7-4e55-bdfd-7921facf660e X-Aspnet-Version: - 4.0.30319 X-Powered-By: - ASP.NET Date: - - Thu, 01 Sep 2016 15:47:31 GMT + - Tue, 06 Sep 2016 19:42:51 GMT Connection: - close body: encoding: UTF-8 string: '{"SessionToken":"FakeSessiontoken"}' http_version: - recorded_at: Thu, 01 Sep 2016 15:47:31 GMT + recorded_at: Tue, 06 Sep 2016 19:42:52 GMT - request: method: get uri: https://eds-api.ebscohost.com/edsapi/rest/Search?autosuggest=n&highlight=n&includefacets=n&pagenumber=1&query=popcorn&resultsperpage=3&searchmode=all&sort=relevance&view=brief @@ -129,25 +129,25 @@ http_interactions: X-Authenticationtoken: - FakeAuthenticationtoken X-Msg-Correlid: - - 7517e9c1-58b2-4149-b0a7-fd3717a729bc + - 035e75e3-e2e1-4887-8aa9-542046ffc819 X-Aspnet-Version: - 4.0.30319 X-Powered-By: - ASP.NET Date: - - Thu, 01 Sep 2016 15:47:31 GMT + - Tue, 06 Sep 2016 19:42:52 GMT Connection: - close body: encoding: UTF-8 - string: '{"SearchRequestGet":{"QueryString":"query-1=AND,popcorn&sort=relevance&includefacets=n&searchmode=all&autosuggest=n&view=brief&resultsperpage=3&pagenumber=1&highlight=n","SearchCriteriaWithActions":{"QueriesWithAction":[{"Query":{"BooleanOperator":"AND","Term":"popcorn"},"RemoveAction":"removequery(1)"}]}},"SearchResult":{"Statistics":{"TotalHits":39784,"TotalSearchTime":285,"Databases":[{"Id":"eric","Label":"ERIC","Status":"0","Hits":75},{"Id":"bwh","Label":"","Status":"0","Hits":1516},{"Id":"egh","Label":"Environment + string: '{"SearchRequestGet":{"QueryString":"query-1=AND,popcorn&sort=relevance&includefacets=n&searchmode=all&autosuggest=n&view=brief&resultsperpage=3&pagenumber=1&highlight=n","SearchCriteriaWithActions":{"QueriesWithAction":[{"Query":{"BooleanOperator":"AND","Term":"popcorn"},"RemoveAction":"removequery(1)"}]}},"SearchResult":{"Statistics":{"TotalHits":39812,"TotalSearchTime":302,"Databases":[{"Id":"eric","Label":"ERIC","Status":"0","Hits":75},{"Id":"bwh","Label":"","Status":"0","Hits":1518},{"Id":"egh","Label":"Environment Index","Status":"0","Hits":236},{"Id":"ecn","Label":"EconLit","Status":"0","Hits":20},{"Id":"cmedm","Label":"MEDLINE","Status":"0","Hits":471},{"Id":"ufh","Label":"Communication & Mass Media Complete","Status":"0","Hits":80},{"Id":"fyh","Label":"Women''s Studies International","Status":"0","Hits":19},{"Id":"bth","Label":"Business - Source Complete","Status":"0","Hits":1744},{"Id":"lxh","Label":"Library, Information + Source Complete","Status":"0","Hits":1749},{"Id":"lxh","Label":"Library, Information Science & Technology Abstracts","Status":"0","Hits":119},{"Id":"nih","Label":"The Nation Archive","Status":"0","Hits":4},{"Id":"mah","Label":"Music Index","Status":"0","Hits":80},{"Id":"a9h","Label":"","Status":"0","Hits":2114},{"Id":"ahl","Label":"America: - History & Life","Status":"0","Hits":15},{"Id":"hia","Label":"Historical Abstracts","Status":"0","Hits":4},{"Id":"8gh","Label":"GreenFILE","Status":"0","Hits":48},{"Id":"edsnbk","Label":"NewsBank","Status":"0","Hits":14558},{"Id":"edslns","Label":"LexisNexis + History & Life","Status":"0","Hits":15},{"Id":"hia","Label":"Historical Abstracts","Status":"0","Hits":4},{"Id":"8gh","Label":"GreenFILE","Status":"0","Hits":48},{"Id":"edsnbk","Label":"NewsBank","Status":"0","Hits":14576},{"Id":"edslns","Label":"LexisNexis U.S. Serial Set Digital Collection","Status":"0","Hits":0},{"Id":"hev","Label":"European Views of the Americas: 1493 to 1750","Status":"0","Hits":0},{"Id":"edsbl","Label":"British Library Document Supply Centre Inside Serials & Conference Proceedings","Status":"0","Hits":496},{"Id":"edsnba","Label":"NewsBank @@ -175,7 +175,7 @@ http_interactions: Periodicals Index Retrospective: 1913-1982 (H.W. Wilson)","Status":"0","Hits":55},{"Id":"edshvr","Label":"Hoover''s Company Profiles","Status":"0","Hits":29},{"Id":"edslex","Label":"LexisNexis Academic: Law Reviews","Status":"0","Hits":26},{"Id":"edsasp","Label":"Alexander - Street Press","Status":"0","Hits":610},{"Id":"asx","Label":"","Status":"0","Hits":1834},{"Id":"edo","Label":"","Status":"0","Hits":2590},{"Id":"edb","Label":"","Status":"0","Hits":2983},{"Id":"edsjpi","Label":"Japanese + Street Press","Status":"0","Hits":610},{"Id":"asx","Label":"","Status":"0","Hits":1834},{"Id":"edo","Label":"","Status":"0","Hits":2591},{"Id":"edb","Label":"","Status":"0","Hits":2985},{"Id":"edsjpi","Label":"Japanese Periodical Index - 雑誌記事索引","Status":"0","Hits":9},{"Id":"edsjst","Label":"J-STAGE","Status":"0","Hits":31},{"Id":"edsoao","Label":"Grove Art Online","Status":"0","Hits":0},{"Id":"edsoad","Label":"American National Biography Online","Status":"0","Hits":0},{"Id":"edsomo","Label":"Grove Music @@ -308,7 +308,7 @@ http_interactions: Yangliu"}}},{"PersonEntity":{"Name":{"NameFull":"Li, Yuling"}}}],"IsPartOfRelationships":[{"BibEntity":{"Dates":[{"D":"20","M":"11","Text":"11\/20\/2015","Type":"published","Y":"2015"}],"Identifiers":[{"Type":"issn-print","Value":"19326203"}],"Numbering":[{"Type":"volume","Value":"10"},{"Type":"issue","Value":"11"}],"Titles":[{"TitleFull":"PLoS ONE","Type":"main"}]}}]}}}}]}}}' http_version: - recorded_at: Thu, 01 Sep 2016 15:47:32 GMT + recorded_at: Tue, 06 Sep 2016 19:42:52 GMT - request: method: get uri: https://eds-api.ebscohost.com/edsapi/rest/endsession?sessiontoken=FakeSessiontoken @@ -344,20 +344,63 @@ http_interactions: X-Authenticationtoken: - FakeAuthenticationtoken X-Msg-Correlid: - - 31eef4dd-325f-4fe3-9ae3-260f7c0af843 + - c10f7ee6-af5b-49e3-938d-770619824a3f X-Aspnet-Version: - 4.0.30319 X-Powered-By: - ASP.NET Date: - - Thu, 01 Sep 2016 15:47:31 GMT + - Tue, 06 Sep 2016 19:42:52 GMT Connection: - close body: encoding: UTF-8 string: '{"IsSuccessful":"y"}' http_version: - recorded_at: Thu, 01 Sep 2016 15:47:32 GMT + recorded_at: Tue, 06 Sep 2016 19:42:52 GMT +- request: + method: post + uri: https://eds-api.ebscohost.com/authservice/rest/UIDAuth + body: + encoding: UTF-8 + string: '{"UserId":"FAKE_EDS_USER_ID","Password":"FAKE_EDS_PASSWORD"}' + headers: + Accept: + - application/json + Connection: + - close + Content-Type: + - application/json; charset=UTF-8 + Host: + - eds-api.ebscohost.com + User-Agent: + - http.rb/2.0.3 + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - private + Content-Length: + - '128' + Content-Type: + - application/json; charset=utf-8 + Server: + - Microsoft-IIS/7.5 + X-Aspnet-Version: + - 4.0.30319 + X-Powered-By: + - ASP.NET + Date: + - Tue, 06 Sep 2016 19:42:52 GMT + Connection: + - close + body: + encoding: UTF-8 + string: '{"AuthToken":"FakeAuthenticationtoken","AuthTimeout":"1800"}' + http_version: + recorded_at: Tue, 06 Sep 2016 19:42:52 GMT - request: method: get uri: https://eds-api.ebscohost.com/edsapi/rest/CreateSession?guest=n&profile=apibarton @@ -388,25 +431,31 @@ http_interactions: - application/json; charset=utf-8 Server: - Microsoft-IIS/7.5 + X-Dynatrace: + - PT=591799441;PA=2120103681;SP=EDSAPI;PS=-1981931378 + - PT=591799441;PA=2120103681;SP=EDSAPI;PS=-1981931378 + Dynatrace: + - PT=591799441;PA=2120103681;SP=EDSAPI;PS=-1981931378 + - PT=591799441;PA=2120103681;SP=EDSAPI;PS=-1981931378 X-Sessiontoken: - FakeSessiontoken X-Authenticationtoken: - FakeAuthenticationtoken X-Msg-Correlid: - - 40907541-a4ff-49ae-9149-9f3bee4f3170 + - f899e54b-052d-4bf7-84fd-e04f2b646d6b X-Aspnet-Version: - 4.0.30319 X-Powered-By: - ASP.NET Date: - - Thu, 01 Sep 2016 15:47:31 GMT + - Tue, 06 Sep 2016 19:42:52 GMT Connection: - close body: encoding: UTF-8 string: '{"SessionToken":"FakeSessiontoken"}' http_version: - recorded_at: Thu, 01 Sep 2016 15:47:32 GMT + recorded_at: Tue, 06 Sep 2016 19:42:52 GMT - request: method: get uri: https://eds-api.ebscohost.com/edsapi/rest/Search?autosuggest=n&highlight=n&includefacets=n&pagenumber=1&query=popcorn&resultsperpage=3&searchmode=all&sort=relevance&view=brief @@ -444,18 +493,18 @@ http_interactions: X-Authenticationtoken: - FakeAuthenticationtoken X-Msg-Correlid: - - 8970cfc7-cb18-4895-b7c0-5df264f06625 + - d642e9dc-828b-4349-8924-71e354e3ec12 X-Aspnet-Version: - 4.0.30319 X-Powered-By: - ASP.NET Date: - - Thu, 01 Sep 2016 15:47:32 GMT + - Tue, 06 Sep 2016 19:42:53 GMT Connection: - close body: encoding: UTF-8 - string: '{"SearchRequestGet":{"QueryString":"query-1=AND,popcorn&sort=relevance&includefacets=n&searchmode=all&autosuggest=n&view=brief&resultsperpage=3&pagenumber=1&highlight=n","SearchCriteriaWithActions":{"QueriesWithAction":[{"Query":{"BooleanOperator":"AND","Term":"popcorn"},"RemoveAction":"removequery(1)"}]}},"SearchResult":{"Statistics":{"TotalHits":79,"TotalSearchTime":194,"Databases":[{"Id":"cat00916a","Label":"MIT + string: '{"SearchRequestGet":{"QueryString":"query-1=AND,popcorn&sort=relevance&includefacets=n&searchmode=all&autosuggest=n&view=brief&resultsperpage=3&pagenumber=1&highlight=n","SearchCriteriaWithActions":{"QueriesWithAction":[{"Query":{"BooleanOperator":"AND","Term":"popcorn"},"RemoveAction":"removequery(1)"}]}},"SearchResult":{"Statistics":{"TotalHits":79,"TotalSearchTime":276,"Databases":[{"Id":"cat00916a","Label":"MIT Barton Catalog","Status":"0","Hits":78},{"Id":"ir00145a","Label":"MIT DOME for Discovery","Status":"0","Hits":1},{"Id":"cat01763a","Label":"MIT Course Reserves","Status":"0","Hits":0}]},"Data":{"RecordFormat":"EP Display","Records":[{"ResultId":1,"Header":{"DbId":"cat00916a","DbLabel":"MIT @@ -507,7 +556,7 @@ http_interactions: Venus \/ Marjorie Rosen.","Type":"main"}]}}]}}},"Holdings":[{"HoldingSimple":{"CopyInformationList":[{"Sublocation":"Hayden Library - Stacks","ShelfLocator":"PN1995.9.W6.R6 1974"}]}}]}]}}}' http_version: - recorded_at: Thu, 01 Sep 2016 15:47:32 GMT + recorded_at: Tue, 06 Sep 2016 19:42:53 GMT - request: method: get uri: https://eds-api.ebscohost.com/edsapi/rest/endsession?sessiontoken=FakeSessiontoken @@ -543,20 +592,20 @@ http_interactions: X-Authenticationtoken: - FakeAuthenticationtoken X-Msg-Correlid: - - f12b1f6e-d09d-410f-a9dd-3fefff5a3d83 + - 9d4b7418-1b01-4620-8e88-182f37c5643a X-Aspnet-Version: - 4.0.30319 X-Powered-By: - ASP.NET Date: - - Thu, 01 Sep 2016 15:47:32 GMT + - Tue, 06 Sep 2016 19:42:53 GMT Connection: - close body: encoding: UTF-8 string: '{"IsSuccessful":"y"}' http_version: - recorded_at: Thu, 01 Sep 2016 15:47:32 GMT + recorded_at: Tue, 06 Sep 2016 19:42:53 GMT - request: method: get uri: https://www.googleapis.com/customsearch/v1?cx=FAKE_GOOGLE_CUSTOM_SEARCH_ID&key=FAKE_GOOGLE_API_KEY&num=3&q=popcorn @@ -573,20 +622,20 @@ http_interactions: Accept-Encoding: - gzip,deflate Date: - - Thu, 01 Sep 2016 15:47:32 GMT + - Tue, 06 Sep 2016 19:42:53 GMT response: status: code: 200 message: OK headers: Expires: - - Thu, 01 Sep 2016 15:47:33 GMT + - Tue, 06 Sep 2016 19:42:53 GMT Date: - - Thu, 01 Sep 2016 15:47:33 GMT + - Tue, 06 Sep 2016 19:42:53 GMT Cache-Control: - private, max-age=0, must-revalidate, no-transform Etag: - - '"ZK6WcJ2_cdL-1Kol5cpaPQsD0mI/P561VS9TuANmLpW8FEE30DfwKgk"' + - '"ZK6WcJ2_cdL-1Kol5cpaPQsD0mI/ymOC0qB0jPEp3GXoUuaxDaHNLS4"' Vary: - Origin - X-Origin @@ -602,10 +651,8 @@ http_interactions: - 1; mode=block Server: - GSE - Alternate-Protocol: - - 443:quic Alt-Svc: - - quic=":443"; ma=2592000; v="36,35,34,33,32,31,30" + - quic=":443"; ma=2592000; v="36,35,34,33,32" Transfer-Encoding: - chunked body: @@ -636,8 +683,8 @@ http_interactions: "title": "mitlib_test" }, "searchInformation": { - "searchTime": 0.473405, - "formattedSearchTime": "0.47", + "searchTime": 0.272314, + "formattedSearchTime": "0.27", "totalResults": "1", "formattedTotalResults": "1" }, @@ -664,5 +711,5 @@ http_interactions: ] } http_version: - recorded_at: Thu, 01 Sep 2016 15:47:34 GMT + recorded_at: Tue, 06 Sep 2016 19:42:53 GMT recorded_with: VCR 3.0.3 diff --git a/test/vcr_cassettes/invalid_credentials.yml b/test/vcr_cassettes/invalid_credentials.yml index e177a2c7..9df57115 100644 --- a/test/vcr_cassettes/invalid_credentials.yml +++ b/test/vcr_cassettes/invalid_credentials.yml @@ -16,7 +16,7 @@ http_interactions: Host: - eds-api.ebscohost.com User-Agent: - - http.rb/2.0.1 + - http.rb/2.0.3 response: status: code: 400 @@ -35,12 +35,12 @@ http_interactions: X-Powered-By: - ASP.NET Date: - - Tue, 21 Jun 2016 18:51:30 GMT + - Tue, 06 Sep 2016 18:58:11 GMT Connection: - close body: encoding: UTF-8 string: '{"ErrorCode":1102,"Reason":"Invalid Credentials.","AdditionalDetail":null}' http_version: - recorded_at: Tue, 21 Jun 2016 18:51:30 GMT + recorded_at: Tue, 06 Sep 2016 18:58:12 GMT recorded_with: VCR 3.0.3 diff --git a/test/vcr_cassettes/no_results.yml b/test/vcr_cassettes/no_results.yml index e9ff0001..920e1254 100644 --- a/test/vcr_cassettes/no_results.yml +++ b/test/vcr_cassettes/no_results.yml @@ -16,7 +16,7 @@ http_interactions: Host: - eds-api.ebscohost.com User-Agent: - - http.rb/2.0.2 + - http.rb/2.0.3 response: status: code: 200 @@ -35,14 +35,14 @@ http_interactions: X-Powered-By: - ASP.NET Date: - - Fri, 22 Jul 2016 17:26:42 GMT + - Tue, 06 Sep 2016 20:03:30 GMT Connection: - close body: encoding: UTF-8 string: '{"AuthToken":"FakeAuthenticationtoken","AuthTimeout":"1800"}' - http_version: - recorded_at: Fri, 22 Jul 2016 17:26:42 GMT + http_version: + recorded_at: Tue, 06 Sep 2016 20:03:31 GMT - request: method: get uri: https://eds-api.ebscohost.com/edsapi/rest/CreateSession?guest=n&profile=apinoaleph @@ -59,7 +59,7 @@ http_interactions: Host: - eds-api.ebscohost.com User-Agent: - - http.rb/2.0.2 + - http.rb/2.0.3 response: status: code: 200 @@ -68,7 +68,7 @@ http_interactions: Cache-Control: - private Content-Length: - - '100' + - '102' Content-Type: - application/json; charset=utf-8 Server: @@ -78,20 +78,20 @@ http_interactions: X-Authenticationtoken: - FakeAuthenticationtoken X-Msg-Correlid: - - 88994fbf-d877-4c4d-9336-794e1ee106fa + - 9ef05769-d5d3-4df8-8106-d4ae91f20b6d X-Aspnet-Version: - 4.0.30319 X-Powered-By: - ASP.NET Date: - - Fri, 22 Jul 2016 17:26:42 GMT + - Tue, 06 Sep 2016 20:03:31 GMT Connection: - close body: encoding: UTF-8 string: '{"SessionToken":"FakeSessiontoken"}' - http_version: - recorded_at: Fri, 22 Jul 2016 17:26:42 GMT + http_version: + recorded_at: Tue, 06 Sep 2016 20:03:31 GMT - request: method: get uri: https://eds-api.ebscohost.com/edsapi/rest/Search?autosuggest=n&highlight=n&includefacets=n&pagenumber=1&query=popcornandorangejuice&resultsperpage=3&searchmode=all&sort=relevance&view=brief @@ -110,7 +110,7 @@ http_interactions: Host: - eds-api.ebscohost.com User-Agent: - - http.rb/2.0.2 + - http.rb/2.0.3 response: status: code: 200 @@ -119,7 +119,7 @@ http_interactions: Cache-Control: - private Content-Length: - - '6745' + - '6744' Content-Type: - application/json; charset=utf-8 Server: @@ -129,18 +129,18 @@ http_interactions: X-Authenticationtoken: - FakeAuthenticationtoken X-Msg-Correlid: - - c749cc55-96a9-4bc9-bad9-61e407059d7e + - 46332d4a-f0fa-455f-a2f6-1b3fc2191f87 X-Aspnet-Version: - 4.0.30319 X-Powered-By: - ASP.NET Date: - - Fri, 22 Jul 2016 17:26:42 GMT + - Tue, 06 Sep 2016 20:03:29 GMT Connection: - close body: encoding: UTF-8 - string: '{"SearchRequestGet":{"QueryString":"query-1=AND,popcornandorangejuice&sort=relevance&includefacets=n&searchmode=all&autosuggest=n&view=brief&resultsperpage=3&pagenumber=0&highlight=n","SearchCriteriaWithActions":{"QueriesWithAction":[{"Query":{"BooleanOperator":"AND","Term":"popcornandorangejuice"},"RemoveAction":"removequery(1)"}]}},"SearchResult":{"Statistics":{"TotalHits":0,"TotalSearchTime":100,"Databases":[{"Id":"eric","Label":"ERIC","Status":"0","Hits":0},{"Id":"bwh","Label":"","Status":"0","Hits":0},{"Id":"egh","Label":"Environment + string: '{"SearchRequestGet":{"QueryString":"query-1=AND,popcornandorangejuice&sort=relevance&includefacets=n&searchmode=all&autosuggest=n&view=brief&resultsperpage=3&pagenumber=0&highlight=n","SearchCriteriaWithActions":{"QueriesWithAction":[{"Query":{"BooleanOperator":"AND","Term":"popcornandorangejuice"},"RemoveAction":"removequery(1)"}]}},"SearchResult":{"Statistics":{"TotalHits":0,"TotalSearchTime":87,"Databases":[{"Id":"eric","Label":"ERIC","Status":"0","Hits":0},{"Id":"bwh","Label":"","Status":"0","Hits":0},{"Id":"egh","Label":"Environment Index","Status":"0","Hits":0},{"Id":"ecn","Label":"EconLit","Status":"0","Hits":0},{"Id":"cmedm","Label":"MEDLINE","Status":"0","Hits":0},{"Id":"ufh","Label":"Communication & Mass Media Complete","Status":"0","Hits":0},{"Id":"fyh","Label":"Women''s Studies International","Status":"0","Hits":0},{"Id":"bth","Label":"Business @@ -198,8 +198,8 @@ http_interactions: Education","Status":"0","Hits":0},{"Id":"edshld","Label":"Digital Access to Scholarship at Harvard (DASH)","Status":"0","Hits":0},{"Id":"edsjsr","Label":"JSTOR Journals","Status":"0","Hits":0}]},"Data":{"RecordFormat":"EP Display"}}}' - http_version: - recorded_at: Fri, 22 Jul 2016 17:26:43 GMT + http_version: + recorded_at: Tue, 06 Sep 2016 20:03:31 GMT - request: method: get uri: https://eds-api.ebscohost.com/edsapi/rest/endsession?sessiontoken=FakeSessiontoken @@ -218,7 +218,7 @@ http_interactions: Host: - eds-api.ebscohost.com User-Agent: - - http.rb/2.0.2 + - http.rb/2.0.3 response: status: code: 200 @@ -235,170 +235,18 @@ http_interactions: X-Authenticationtoken: - FakeAuthenticationtoken X-Msg-Correlid: - - fac21cdd-7428-4121-b9cd-e931589ad4b6 + - 0957a000-83e9-4847-a2b1-718e27e55332 X-Aspnet-Version: - 4.0.30319 X-Powered-By: - ASP.NET Date: - - Fri, 22 Jul 2016 17:26:42 GMT + - Tue, 06 Sep 2016 20:03:31 GMT Connection: - close body: encoding: UTF-8 string: '{"IsSuccessful":"y"}' - http_version: - recorded_at: Fri, 22 Jul 2016 17:26:43 GMT -- request: - method: get - uri: https://eds-api.ebscohost.com/edsapi/rest/CreateSession?guest=n&profile=apibarton - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - application/json - X-Authenticationtoken: - - FakeAuthenticationtoken - Connection: - - close - Host: - - eds-api.ebscohost.com - User-Agent: - - http.rb/2.0.2 - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - private - Content-Length: - - '100' - Content-Type: - - application/json; charset=utf-8 - Server: - - Microsoft-IIS/7.5 - X-Sessiontoken: - - FakeSessiontoken - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Msg-Correlid: - - f0a62fa6-65a2-4204-bb81-eb3671cd6c1a - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Fri, 22 Jul 2016 17:26:42 GMT - Connection: - - close - body: - encoding: UTF-8 - string: '{"SessionToken":"FakeSessiontoken"}' - http_version: - recorded_at: Fri, 22 Jul 2016 17:26:43 GMT -- request: - method: get - uri: https://eds-api.ebscohost.com/edsapi/rest/Search?autosuggest=n&highlight=n&includefacets=n&pagenumber=1&query=popcornandorangejuice&resultsperpage=3&searchmode=all&sort=relevance&view=brief - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - application/json - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Sessiontoken: - - FakeSessiontoken - Connection: - - close - Host: - - eds-api.ebscohost.com - User-Agent: - - http.rb/2.0.2 - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - private - Content-Length: - - '668' - Content-Type: - - application/json; charset=utf-8 - Server: - - Microsoft-IIS/7.5 - X-Sessiontoken: - - FakeSessiontoken - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Msg-Correlid: - - 0d5e8cfe-51a6-4b9c-9c9b-291e8b53fd0c - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Fri, 22 Jul 2016 17:26:42 GMT - Connection: - - close - body: - encoding: UTF-8 - string: '{"SearchRequestGet":{"QueryString":"query-1=AND,popcornandorangejuice&sort=relevance&includefacets=n&searchmode=all&autosuggest=n&view=brief&resultsperpage=3&pagenumber=0&highlight=n","SearchCriteriaWithActions":{"QueriesWithAction":[{"Query":{"BooleanOperator":"AND","Term":"popcornandorangejuice"},"RemoveAction":"removequery(1)"}]}},"SearchResult":{"Statistics":{"TotalHits":0,"TotalSearchTime":20,"Databases":[{"Id":"cat00916a","Label":"MIT - Barton Catalog","Status":"0","Hits":0},{"Id":"ir00145a","Label":"MIT DOME - for Discovery","Status":"0","Hits":0},{"Id":"cat01763a","Label":"MIT Course - Reserves","Status":"0","Hits":0}]},"Data":{"RecordFormat":"EP Display"}}}' - http_version: - recorded_at: Fri, 22 Jul 2016 17:26:43 GMT -- request: - method: get - uri: https://eds-api.ebscohost.com/edsapi/rest/endsession?sessiontoken=FakeSessiontoken - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - application/json - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Sessiontoken: - - FakeSessiontoken - Connection: - - close - Host: - - eds-api.ebscohost.com - User-Agent: - - http.rb/2.0.2 - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - private - Content-Length: - - '20' - Content-Type: - - application/json; charset=utf-8 - Server: - - Microsoft-IIS/7.5 - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Msg-Correlid: - - f9983207-55f4-4177-9c20-e78870fdaa48 - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Fri, 22 Jul 2016 17:26:42 GMT - Connection: - - close - body: - encoding: UTF-8 - string: '{"IsSuccessful":"y"}' - http_version: - recorded_at: Fri, 22 Jul 2016 17:26:43 GMT + http_version: + recorded_at: Tue, 06 Sep 2016 20:03:31 GMT recorded_with: VCR 3.0.3 diff --git a/test/vcr_cassettes/valid_eds_search_and_credentials.yml b/test/vcr_cassettes/popcorn_articles.yml similarity index 68% rename from test/vcr_cassettes/valid_eds_search_and_credentials.yml rename to test/vcr_cassettes/popcorn_articles.yml index db29ce7f..4038e5ca 100644 --- a/test/vcr_cassettes/valid_eds_search_and_credentials.yml +++ b/test/vcr_cassettes/popcorn_articles.yml @@ -35,14 +35,14 @@ http_interactions: X-Powered-By: - ASP.NET Date: - - Thu, 01 Sep 2016 15:52:39 GMT + - Tue, 06 Sep 2016 18:54:37 GMT Connection: - close body: encoding: UTF-8 string: '{"AuthToken":"FakeAuthenticationtoken","AuthTimeout":"1800"}' - http_version: - recorded_at: Thu, 01 Sep 2016 15:52:40 GMT + http_version: + recorded_at: Tue, 06 Sep 2016 18:54:38 GMT - request: method: get uri: https://eds-api.ebscohost.com/edsapi/rest/CreateSession?guest=n&profile=apinoaleph @@ -68,30 +68,36 @@ http_interactions: Cache-Control: - private Content-Length: - - '101' + - '100' Content-Type: - application/json; charset=utf-8 Server: - Microsoft-IIS/7.5 + X-Dynatrace: + - PT=591656366;PA=2120103681;SP=EDSAPI;PS=-1981931378 + - PT=591656366;PA=2120103681;SP=EDSAPI;PS=-1981931378 + Dynatrace: + - PT=591656366;PA=2120103681;SP=EDSAPI;PS=-1981931378 + - PT=591656366;PA=2120103681;SP=EDSAPI;PS=-1981931378 X-Sessiontoken: - FakeSessiontoken X-Authenticationtoken: - FakeAuthenticationtoken X-Msg-Correlid: - - bc246e88-2bbe-4f3b-9ad4-9a3878dd1526 + - b73fb6bf-bf76-4bf8-ac57-6978cc365d60 X-Aspnet-Version: - 4.0.30319 X-Powered-By: - ASP.NET Date: - - Thu, 01 Sep 2016 15:52:39 GMT + - Tue, 06 Sep 2016 18:54:37 GMT Connection: - close body: encoding: UTF-8 string: '{"SessionToken":"FakeSessiontoken"}' - http_version: - recorded_at: Thu, 01 Sep 2016 15:52:40 GMT + http_version: + recorded_at: Tue, 06 Sep 2016 18:54:38 GMT - request: method: get uri: https://eds-api.ebscohost.com/edsapi/rest/Search?autosuggest=n&highlight=n&includefacets=n&pagenumber=1&query=popcorn&resultsperpage=3&searchmode=all&sort=relevance&view=brief @@ -129,25 +135,25 @@ http_interactions: X-Authenticationtoken: - FakeAuthenticationtoken X-Msg-Correlid: - - 1f9d8ae4-ba18-4d3c-b037-6a9be0508d8d + - 47da7ecc-b862-43b8-9621-e4614308b528 X-Aspnet-Version: - 4.0.30319 X-Powered-By: - ASP.NET Date: - - Thu, 01 Sep 2016 15:52:39 GMT + - Tue, 06 Sep 2016 18:54:38 GMT Connection: - close body: encoding: UTF-8 - string: '{"SearchRequestGet":{"QueryString":"query-1=AND,popcorn&sort=relevance&includefacets=n&searchmode=all&autosuggest=n&view=brief&resultsperpage=3&pagenumber=1&highlight=n","SearchCriteriaWithActions":{"QueriesWithAction":[{"Query":{"BooleanOperator":"AND","Term":"popcorn"},"RemoveAction":"removequery(1)"}]}},"SearchResult":{"Statistics":{"TotalHits":39784,"TotalSearchTime":308,"Databases":[{"Id":"eric","Label":"ERIC","Status":"0","Hits":75},{"Id":"bwh","Label":"","Status":"0","Hits":1516},{"Id":"egh","Label":"Environment + string: '{"SearchRequestGet":{"QueryString":"query-1=AND,popcorn&sort=relevance&includefacets=n&searchmode=all&autosuggest=n&view=brief&resultsperpage=3&pagenumber=1&highlight=n","SearchCriteriaWithActions":{"QueriesWithAction":[{"Query":{"BooleanOperator":"AND","Term":"popcorn"},"RemoveAction":"removequery(1)"}]}},"SearchResult":{"Statistics":{"TotalHits":39812,"TotalSearchTime":296,"Databases":[{"Id":"eric","Label":"ERIC","Status":"0","Hits":75},{"Id":"bwh","Label":"","Status":"0","Hits":1518},{"Id":"egh","Label":"Environment Index","Status":"0","Hits":236},{"Id":"ecn","Label":"EconLit","Status":"0","Hits":20},{"Id":"cmedm","Label":"MEDLINE","Status":"0","Hits":471},{"Id":"ufh","Label":"Communication & Mass Media Complete","Status":"0","Hits":80},{"Id":"fyh","Label":"Women''s Studies International","Status":"0","Hits":19},{"Id":"bth","Label":"Business - Source Complete","Status":"0","Hits":1744},{"Id":"lxh","Label":"Library, Information + Source Complete","Status":"0","Hits":1749},{"Id":"lxh","Label":"Library, Information Science & Technology Abstracts","Status":"0","Hits":119},{"Id":"nih","Label":"The Nation Archive","Status":"0","Hits":4},{"Id":"mah","Label":"Music Index","Status":"0","Hits":80},{"Id":"a9h","Label":"","Status":"0","Hits":2114},{"Id":"ahl","Label":"America: - History & Life","Status":"0","Hits":15},{"Id":"hia","Label":"Historical Abstracts","Status":"0","Hits":4},{"Id":"8gh","Label":"GreenFILE","Status":"0","Hits":48},{"Id":"edsnbk","Label":"NewsBank","Status":"0","Hits":14558},{"Id":"edslns","Label":"LexisNexis + History & Life","Status":"0","Hits":15},{"Id":"hia","Label":"Historical Abstracts","Status":"0","Hits":4},{"Id":"8gh","Label":"GreenFILE","Status":"0","Hits":48},{"Id":"edsnbk","Label":"NewsBank","Status":"0","Hits":14576},{"Id":"edslns","Label":"LexisNexis U.S. Serial Set Digital Collection","Status":"0","Hits":0},{"Id":"hev","Label":"European Views of the Americas: 1493 to 1750","Status":"0","Hits":0},{"Id":"edsbl","Label":"British Library Document Supply Centre Inside Serials & Conference Proceedings","Status":"0","Hits":496},{"Id":"edsnba","Label":"NewsBank @@ -175,7 +181,7 @@ http_interactions: Periodicals Index Retrospective: 1913-1982 (H.W. Wilson)","Status":"0","Hits":55},{"Id":"edshvr","Label":"Hoover''s Company Profiles","Status":"0","Hits":29},{"Id":"edslex","Label":"LexisNexis Academic: Law Reviews","Status":"0","Hits":26},{"Id":"edsasp","Label":"Alexander - Street Press","Status":"0","Hits":610},{"Id":"asx","Label":"","Status":"0","Hits":1834},{"Id":"edo","Label":"","Status":"0","Hits":2590},{"Id":"edb","Label":"","Status":"0","Hits":2983},{"Id":"edsjpi","Label":"Japanese + Street Press","Status":"0","Hits":610},{"Id":"asx","Label":"","Status":"0","Hits":1834},{"Id":"edo","Label":"","Status":"0","Hits":2591},{"Id":"edb","Label":"","Status":"0","Hits":2985},{"Id":"edsjpi","Label":"Japanese Periodical Index - 雑誌記事索引","Status":"0","Hits":9},{"Id":"edsjst","Label":"J-STAGE","Status":"0","Hits":31},{"Id":"edsoao","Label":"Grove Art Online","Status":"0","Hits":0},{"Id":"edsoad","Label":"American National Biography Online","Status":"0","Hits":0},{"Id":"edsomo","Label":"Grove Music @@ -307,207 +313,8 @@ http_interactions: Dahe"}}},{"PersonEntity":{"Name":{"NameFull":"Hu, Chunhui"}}},{"PersonEntity":{"Name":{"NameFull":"Ren, Yangliu"}}},{"PersonEntity":{"Name":{"NameFull":"Li, Yuling"}}}],"IsPartOfRelationships":[{"BibEntity":{"Dates":[{"D":"20","M":"11","Text":"11\/20\/2015","Type":"published","Y":"2015"}],"Identifiers":[{"Type":"issn-print","Value":"19326203"}],"Numbering":[{"Type":"volume","Value":"10"},{"Type":"issue","Value":"11"}],"Titles":[{"TitleFull":"PLoS ONE","Type":"main"}]}}]}}}}]}}}' - http_version: - recorded_at: Thu, 01 Sep 2016 15:52:40 GMT -- request: - method: get - uri: https://eds-api.ebscohost.com/edsapi/rest/endsession?sessiontoken=FakeSessiontoken - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - application/json - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Sessiontoken: - - FakeSessiontoken - Connection: - - close - Host: - - eds-api.ebscohost.com - User-Agent: - - http.rb/2.0.3 - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - private - Content-Length: - - '20' - Content-Type: - - application/json; charset=utf-8 - Server: - - Microsoft-IIS/7.5 - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Msg-Correlid: - - 1d60ec55-1ee2-4cb1-98de-4c336fa84e35 - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Thu, 01 Sep 2016 15:52:39 GMT - Connection: - - close - body: - encoding: UTF-8 - string: '{"IsSuccessful":"y"}' - http_version: - recorded_at: Thu, 01 Sep 2016 15:52:40 GMT -- request: - method: get - uri: https://eds-api.ebscohost.com/edsapi/rest/CreateSession?guest=n&profile=apibarton - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - application/json - X-Authenticationtoken: - - FakeAuthenticationtoken - Connection: - - close - Host: - - eds-api.ebscohost.com - User-Agent: - - http.rb/2.0.3 - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - private - Content-Length: - - '100' - Content-Type: - - application/json; charset=utf-8 - Server: - - Microsoft-IIS/7.5 - X-Sessiontoken: - - FakeSessiontoken - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Msg-Correlid: - - f26d4d73-7dde-46d9-b6c8-941c3c78399b - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Thu, 01 Sep 2016 15:52:40 GMT - Connection: - - close - body: - encoding: UTF-8 - string: '{"SessionToken":"FakeSessiontoken"}' - http_version: - recorded_at: Thu, 01 Sep 2016 15:52:40 GMT -- request: - method: get - uri: https://eds-api.ebscohost.com/edsapi/rest/Search?autosuggest=n&highlight=n&includefacets=n&pagenumber=1&query=popcorn&resultsperpage=3&searchmode=all&sort=relevance&view=brief - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - application/json - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Sessiontoken: - - FakeSessiontoken - Connection: - - close - Host: - - eds-api.ebscohost.com - User-Agent: - - http.rb/2.0.3 - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - private - Content-Length: - - '7268' - Content-Type: - - application/json; charset=utf-8 - Server: - - Microsoft-IIS/7.5 - X-Sessiontoken: - - FakeSessiontoken - X-Authenticationtoken: - - FakeAuthenticationtoken - X-Msg-Correlid: - - 072a7be2-2750-4294-b14c-9710c2497ece - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Thu, 01 Sep 2016 15:52:40 GMT - Connection: - - close - body: - encoding: UTF-8 - string: '{"SearchRequestGet":{"QueryString":"query-1=AND,popcorn&sort=relevance&includefacets=n&searchmode=all&autosuggest=n&view=brief&resultsperpage=3&pagenumber=1&highlight=n","SearchCriteriaWithActions":{"QueriesWithAction":[{"Query":{"BooleanOperator":"AND","Term":"popcorn"},"RemoveAction":"removequery(1)"}]}},"SearchResult":{"Statistics":{"TotalHits":79,"TotalSearchTime":111,"Databases":[{"Id":"cat00916a","Label":"MIT - Barton Catalog","Status":"0","Hits":78},{"Id":"ir00145a","Label":"MIT DOME - for Discovery","Status":"0","Hits":1},{"Id":"cat01763a","Label":"MIT Course - Reserves","Status":"0","Hits":0}]},"Data":{"RecordFormat":"EP Display","Records":[{"ResultId":1,"Header":{"DbId":"cat00916a","DbLabel":"MIT - Barton Catalog","An":"mit.001739356","RelevancyScore":"2633","PubType":"Book","PubTypeId":"book"},"PLink":"http:\/\/search.ebscohost.com\/login.aspx?direct=true&site=eds-live&db=cat00916a&AN=mit.001739356","ImageInfo":[{"Size":"thumb","Target":"http:\/\/contentcafe2.btol.com\/ContentCafe\/jacket.aspx?UserID=ebsco-test&Password=ebsco-test&Return=T&Type=S&Value=9780752889351"},{"Size":"medium","Target":"http:\/\/contentcafe2.btol.com\/ContentCafe\/jacket.aspx?UserID=ebsco-test&Password=ebsco-test&Return=T&Type=M&Value=9780752889351"}],"CustomLinks":[{"Url":"https:\/\/library.mit.edu\/item\/001739356?","Name":"MIT - Barton Catalog URL (cat00916a)","Category":"libCatalog","Text":"View catalog - record","MouseOverText":"Go to Barton catalog to find this at the MIT Libraries"}],"FullText":{"Text":{"Availability":"0"}},"Items":[{"Name":"Title","Label":"Title","Group":"Ti","Data":"Popcorn - : fifty years of rock 'n' roll movies \/ Garry Mulholland."},{"Name":"Author","Label":"Authors","Group":"Au","Data":"<searchLink - fieldCode="AR" term="%22Mulholland%2C+Garry%22">Mulholland, - Garry<\/searchLink>"},{"Name":"TypePub","Label":"Publication Type","Group":"TypPub","Data":"Book"},{"Name":"Subject","Label":"Subject - Terms","Group":"Su","Data":"<searchLink fieldCode="DE" term="%22Rock+films+--+History+and+criticism%22">Rock - films -- History and criticism<\/searchLink>"}],"RecordInfo":{"BibRecord":{"BibEntity":{"Languages":[{"Text":"English"}],"Subjects":[{"SubjectFull":"Rock - films -- History and criticism","Type":"general"}],"Titles":[{"TitleFull":"Popcorn - : fifty years of rock ''n'' roll movies.","Type":"main"}]},"BibRelationships":{"HasContributorRelationships":[{"PersonEntity":{"Name":{"NameFull":"Mulholland, - Garry"}}}],"IsPartOfRelationships":[{"BibEntity":{"Dates":[{"D":"01","M":"01","Type":"published","Y":"2010"}],"Identifiers":[{"Type":"isbn-print","Value":"9780752889351"},{"Type":"isbn-print","Value":"0752889354"}],"Titles":[{"TitleFull":"Popcorn - : fifty years of rock ''n'' roll movies \/ Garry Mulholland.","Type":"main"}]}}]}}},"Holdings":[{"HoldingSimple":{"CopyInformationList":[{"Sublocation":"Hayden - Library - Stacks","ShelfLocator":"PN1995.9.M86 M855 2010"}]}}]},{"ResultId":2,"Header":{"DbId":"cat00916a","DbLabel":"MIT - Barton Catalog","An":"mit.001245816","RelevancyScore":"2147","PubType":"Book","PubTypeId":"book"},"PLink":"http:\/\/search.ebscohost.com\/login.aspx?direct=true&site=eds-live&db=cat00916a&AN=mit.001245816","CustomLinks":[{"Url":"https:\/\/library.mit.edu\/item\/001245816?","Name":"MIT - Barton Catalog URL (cat00916a)","Category":"libCatalog","Text":"View catalog - record","MouseOverText":"Go to Barton catalog to find this at the MIT Libraries"}],"FullText":{"Text":{"Availability":"0"}},"Items":[{"Name":"Title","Label":"Title","Group":"Ti","Data":"Popcorn - Moms : decoding representations of motherhood in American popular cinema, - 1979-1989 \/ by Robin Schneider Hauck."},{"Name":"Author","Label":"Authors","Group":"Au","Data":"<searchLink - fieldCode="AR" term="%22Hauck%2C+Robin+Schneider%22">Hauck, - Robin Schneider<\/searchLink>, 1969-"},{"Name":"TypePub","Label":"Publication - Type","Group":"TypPub","Data":"Book"},{"Name":"Author","Label":"Other Authors","Group":"Au","Data":"<searchLink - fieldCode="AR" term="%22Massachusetts+Institute+of+Technology%2E+Department+of+Comparative+Media+Studies%2E%22">Massachusetts - Institute of Technology. Department of Comparative Media Studies.<\/searchLink>"},{"Name":"TitleAlt","Label":"Other - Titles","Group":"TiAlt","Data":"Decoding representations of motherhood in - American popular cinema, 1979-1989."}],"RecordInfo":{"BibRecord":{"BibEntity":{"Languages":[{"Text":"English"}],"Titles":[{"TitleFull":"Popcorn - Moms : decoding representations of motherhood in American popular cinema, - 1979-1989.","Type":"main"}]},"BibRelationships":{"HasContributorRelationships":[{"PersonEntity":{"Name":{"NameFull":"Hauck, - Robin Schneider"}}}],"IsPartOfRelationships":[{"BibEntity":{"Dates":[{"D":"01","M":"01","Type":"published","Y":"1993"}],"Titles":[{"TitleFull":"Popcorn - Moms : decoding representations of motherhood in American popular cinema, - 1979-1989 \/ by Robin Schneider Hauck.","Type":"main"}]}}]}}},"Holdings":[{"HoldingSimple":{"CopyInformationList":[{"Sublocation":"Institute - Archives - Microforms","ShelfLocator":"Thesis CMS 2003 S.M. THESIS"},{"Sublocation":"Institute - Archives - Noncirculating Collection 3","ShelfLocator":"Thesis CMS 2003 S.M. - THESIS"},{"Sublocation":"Hayden Library - Humanities Microforms","ShelfLocator":"Thesis - CMS 2003 S.M. THESIS"},{"Sublocation":"Hayden Library - Stacks","ShelfLocator":"Thesis - CMS 2003 S.M. THESIS"}]}}]},{"ResultId":3,"Header":{"DbId":"cat00916a","DbLabel":"MIT - Barton Catalog","An":"mit.000346597","RelevancyScore":"2147","PubType":"Book","PubTypeId":"book"},"PLink":"http:\/\/search.ebscohost.com\/login.aspx?direct=true&site=eds-live&db=cat00916a&AN=mit.000346597","CustomLinks":[{"Url":"https:\/\/library.mit.edu\/item\/000346597?","Name":"MIT - Barton Catalog URL (cat00916a)","Category":"libCatalog","Text":"View catalog - record","MouseOverText":"Go to Barton catalog to find this at the MIT Libraries"}],"FullText":{"Text":{"Availability":"0"}},"Items":[{"Name":"Title","Label":"Title","Group":"Ti","Data":"Popcorn - Venus \/ Marjorie Rosen."},{"Name":"Author","Label":"Authors","Group":"Au","Data":"<searchLink - fieldCode="AR" term="%22Rosen%2C+Marjorie%22">Rosen, - Marjorie<\/searchLink>"},{"Name":"TypePub","Label":"Publication Type","Group":"TypPub","Data":"Book"},{"Name":"Subject","Label":"Subject - Terms","Group":"Su","Data":"<searchLink fieldCode="DE" term="%22Women+in+motion+pictures%22">Women - in motion pictures<\/searchLink>"}],"RecordInfo":{"BibRecord":{"BibEntity":{"Languages":[{"Text":"English"}],"Subjects":[{"SubjectFull":"Women - in motion pictures","Type":"general"}],"Titles":[{"TitleFull":"Popcorn Venus.","Type":"main"}]},"BibRelationships":{"HasContributorRelationships":[{"PersonEntity":{"Name":{"NameFull":"Rosen, - Marjorie"}}}],"IsPartOfRelationships":[{"BibEntity":{"Dates":[{"D":"01","M":"01","Type":"published","Y":"1974"}],"Identifiers":[{"Type":"isbn-print","Value":"0380001772"}],"Titles":[{"TitleFull":"Popcorn - Venus \/ Marjorie Rosen.","Type":"main"}]}}]}}},"Holdings":[{"HoldingSimple":{"CopyInformationList":[{"Sublocation":"Hayden - Library - Stacks","ShelfLocator":"PN1995.9.W6.R6 1974"}]}}]}]}}}' - http_version: - recorded_at: Thu, 01 Sep 2016 15:52:40 GMT + http_version: + recorded_at: Tue, 06 Sep 2016 18:54:39 GMT - request: method: get uri: https://eds-api.ebscohost.com/edsapi/rest/endsession?sessiontoken=FakeSessiontoken @@ -543,18 +350,18 @@ http_interactions: X-Authenticationtoken: - FakeAuthenticationtoken X-Msg-Correlid: - - 72a6d105-a2af-4687-8ec5-a37f32658131 + - 4421133e-ddfb-494d-b3a2-9895f067cbad X-Aspnet-Version: - 4.0.30319 X-Powered-By: - ASP.NET Date: - - Thu, 01 Sep 2016 15:52:40 GMT + - Tue, 06 Sep 2016 18:54:38 GMT Connection: - close body: encoding: UTF-8 string: '{"IsSuccessful":"y"}' - http_version: - recorded_at: Thu, 01 Sep 2016 15:52:40 GMT + http_version: + recorded_at: Tue, 06 Sep 2016 18:54:39 GMT recorded_with: VCR 3.0.3 diff --git a/test/vcr_cassettes/popcorn_non_articles.yml b/test/vcr_cassettes/popcorn_non_articles.yml new file mode 100644 index 00000000..05b2f696 --- /dev/null +++ b/test/vcr_cassettes/popcorn_non_articles.yml @@ -0,0 +1,245 @@ +--- +http_interactions: +- request: + method: post + uri: https://eds-api.ebscohost.com/authservice/rest/UIDAuth + body: + encoding: UTF-8 + string: '{"UserId":"FAKE_EDS_USER_ID","Password":"FAKE_EDS_PASSWORD"}' + headers: + Accept: + - application/json + Connection: + - close + Content-Type: + - application/json; charset=UTF-8 + Host: + - eds-api.ebscohost.com + User-Agent: + - http.rb/2.0.3 + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - private + Content-Length: + - '128' + Content-Type: + - application/json; charset=utf-8 + Server: + - Microsoft-IIS/7.5 + X-Aspnet-Version: + - 4.0.30319 + X-Powered-By: + - ASP.NET + Date: + - Tue, 06 Sep 2016 18:56:30 GMT + Connection: + - close + body: + encoding: UTF-8 + string: '{"AuthToken":"FakeAuthenticationtoken","AuthTimeout":"1800"}' + http_version: + recorded_at: Tue, 06 Sep 2016 18:56:33 GMT +- request: + method: get + uri: https://eds-api.ebscohost.com/edsapi/rest/CreateSession?guest=n&profile=apibarton + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/json + X-Authenticationtoken: + - FakeAuthenticationtoken + Connection: + - close + Host: + - eds-api.ebscohost.com + User-Agent: + - http.rb/2.0.3 + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - private + Content-Length: + - '100' + Content-Type: + - application/json; charset=utf-8 + Server: + - Microsoft-IIS/7.5 + X-Sessiontoken: + - FakeSessiontoken + X-Authenticationtoken: + - FakeAuthenticationtoken + X-Msg-Correlid: + - 3e8c3a67-48be-487e-8227-03bcc164ec88 + X-Aspnet-Version: + - 4.0.30319 + X-Powered-By: + - ASP.NET + Date: + - Tue, 06 Sep 2016 18:56:32 GMT + Connection: + - close + body: + encoding: UTF-8 + string: '{"SessionToken":"FakeSessiontoken"}' + http_version: + recorded_at: Tue, 06 Sep 2016 18:56:33 GMT +- request: + method: get + uri: https://eds-api.ebscohost.com/edsapi/rest/Search?autosuggest=n&highlight=n&includefacets=n&pagenumber=1&query=popcorn&resultsperpage=3&searchmode=all&sort=relevance&view=brief + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/json + X-Authenticationtoken: + - FakeAuthenticationtoken + X-Sessiontoken: + - FakeSessiontoken + Connection: + - close + Host: + - eds-api.ebscohost.com + User-Agent: + - http.rb/2.0.3 + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - private + Content-Length: + - '7268' + Content-Type: + - application/json; charset=utf-8 + Server: + - Microsoft-IIS/7.5 + X-Sessiontoken: + - FakeSessiontoken + X-Authenticationtoken: + - FakeAuthenticationtoken + X-Msg-Correlid: + - 2613b954-b5f0-4748-9e82-efde473f697a + X-Aspnet-Version: + - 4.0.30319 + X-Powered-By: + - ASP.NET + Date: + - Tue, 06 Sep 2016 18:56:33 GMT + Connection: + - close + body: + encoding: UTF-8 + string: '{"SearchRequestGet":{"QueryString":"query-1=AND,popcorn&sort=relevance&includefacets=n&searchmode=all&autosuggest=n&view=brief&resultsperpage=3&pagenumber=1&highlight=n","SearchCriteriaWithActions":{"QueriesWithAction":[{"Query":{"BooleanOperator":"AND","Term":"popcorn"},"RemoveAction":"removequery(1)"}]}},"SearchResult":{"Statistics":{"TotalHits":79,"TotalSearchTime":349,"Databases":[{"Id":"cat00916a","Label":"MIT + Barton Catalog","Status":"0","Hits":78},{"Id":"ir00145a","Label":"MIT DOME + for Discovery","Status":"0","Hits":1},{"Id":"cat01763a","Label":"MIT Course + Reserves","Status":"0","Hits":0}]},"Data":{"RecordFormat":"EP Display","Records":[{"ResultId":1,"Header":{"DbId":"cat00916a","DbLabel":"MIT + Barton Catalog","An":"mit.001739356","RelevancyScore":"2633","PubType":"Book","PubTypeId":"book"},"PLink":"http:\/\/search.ebscohost.com\/login.aspx?direct=true&site=eds-live&db=cat00916a&AN=mit.001739356","ImageInfo":[{"Size":"thumb","Target":"http:\/\/contentcafe2.btol.com\/ContentCafe\/jacket.aspx?UserID=ebsco-test&Password=ebsco-test&Return=T&Type=S&Value=9780752889351"},{"Size":"medium","Target":"http:\/\/contentcafe2.btol.com\/ContentCafe\/jacket.aspx?UserID=ebsco-test&Password=ebsco-test&Return=T&Type=M&Value=9780752889351"}],"CustomLinks":[{"Url":"https:\/\/library.mit.edu\/item\/001739356?","Name":"MIT + Barton Catalog URL (cat00916a)","Category":"libCatalog","Text":"View catalog + record","MouseOverText":"Go to Barton catalog to find this at the MIT Libraries"}],"FullText":{"Text":{"Availability":"0"}},"Items":[{"Name":"Title","Label":"Title","Group":"Ti","Data":"Popcorn + : fifty years of rock 'n' roll movies \/ Garry Mulholland."},{"Name":"Author","Label":"Authors","Group":"Au","Data":"<searchLink + fieldCode="AR" term="%22Mulholland%2C+Garry%22">Mulholland, + Garry<\/searchLink>"},{"Name":"TypePub","Label":"Publication Type","Group":"TypPub","Data":"Book"},{"Name":"Subject","Label":"Subject + Terms","Group":"Su","Data":"<searchLink fieldCode="DE" term="%22Rock+films+--+History+and+criticism%22">Rock + films -- History and criticism<\/searchLink>"}],"RecordInfo":{"BibRecord":{"BibEntity":{"Languages":[{"Text":"English"}],"Subjects":[{"SubjectFull":"Rock + films -- History and criticism","Type":"general"}],"Titles":[{"TitleFull":"Popcorn + : fifty years of rock ''n'' roll movies.","Type":"main"}]},"BibRelationships":{"HasContributorRelationships":[{"PersonEntity":{"Name":{"NameFull":"Mulholland, + Garry"}}}],"IsPartOfRelationships":[{"BibEntity":{"Dates":[{"D":"01","M":"01","Type":"published","Y":"2010"}],"Identifiers":[{"Type":"isbn-print","Value":"9780752889351"},{"Type":"isbn-print","Value":"0752889354"}],"Titles":[{"TitleFull":"Popcorn + : fifty years of rock ''n'' roll movies \/ Garry Mulholland.","Type":"main"}]}}]}}},"Holdings":[{"HoldingSimple":{"CopyInformationList":[{"Sublocation":"Hayden + Library - Stacks","ShelfLocator":"PN1995.9.M86 M855 2010"}]}}]},{"ResultId":2,"Header":{"DbId":"cat00916a","DbLabel":"MIT + Barton Catalog","An":"mit.001245816","RelevancyScore":"2147","PubType":"Book","PubTypeId":"book"},"PLink":"http:\/\/search.ebscohost.com\/login.aspx?direct=true&site=eds-live&db=cat00916a&AN=mit.001245816","CustomLinks":[{"Url":"https:\/\/library.mit.edu\/item\/001245816?","Name":"MIT + Barton Catalog URL (cat00916a)","Category":"libCatalog","Text":"View catalog + record","MouseOverText":"Go to Barton catalog to find this at the MIT Libraries"}],"FullText":{"Text":{"Availability":"0"}},"Items":[{"Name":"Title","Label":"Title","Group":"Ti","Data":"Popcorn + Moms : decoding representations of motherhood in American popular cinema, + 1979-1989 \/ by Robin Schneider Hauck."},{"Name":"Author","Label":"Authors","Group":"Au","Data":"<searchLink + fieldCode="AR" term="%22Hauck%2C+Robin+Schneider%22">Hauck, + Robin Schneider<\/searchLink>, 1969-"},{"Name":"TypePub","Label":"Publication + Type","Group":"TypPub","Data":"Book"},{"Name":"Author","Label":"Other Authors","Group":"Au","Data":"<searchLink + fieldCode="AR" term="%22Massachusetts+Institute+of+Technology%2E+Department+of+Comparative+Media+Studies%2E%22">Massachusetts + Institute of Technology. Department of Comparative Media Studies.<\/searchLink>"},{"Name":"TitleAlt","Label":"Other + Titles","Group":"TiAlt","Data":"Decoding representations of motherhood in + American popular cinema, 1979-1989."}],"RecordInfo":{"BibRecord":{"BibEntity":{"Languages":[{"Text":"English"}],"Titles":[{"TitleFull":"Popcorn + Moms : decoding representations of motherhood in American popular cinema, + 1979-1989.","Type":"main"}]},"BibRelationships":{"HasContributorRelationships":[{"PersonEntity":{"Name":{"NameFull":"Hauck, + Robin Schneider"}}}],"IsPartOfRelationships":[{"BibEntity":{"Dates":[{"D":"01","M":"01","Type":"published","Y":"1993"}],"Titles":[{"TitleFull":"Popcorn + Moms : decoding representations of motherhood in American popular cinema, + 1979-1989 \/ by Robin Schneider Hauck.","Type":"main"}]}}]}}},"Holdings":[{"HoldingSimple":{"CopyInformationList":[{"Sublocation":"Institute + Archives - Microforms","ShelfLocator":"Thesis CMS 2003 S.M. THESIS"},{"Sublocation":"Institute + Archives - Noncirculating Collection 3","ShelfLocator":"Thesis CMS 2003 S.M. + THESIS"},{"Sublocation":"Hayden Library - Humanities Microforms","ShelfLocator":"Thesis + CMS 2003 S.M. THESIS"},{"Sublocation":"Hayden Library - Stacks","ShelfLocator":"Thesis + CMS 2003 S.M. THESIS"}]}}]},{"ResultId":3,"Header":{"DbId":"cat00916a","DbLabel":"MIT + Barton Catalog","An":"mit.000346597","RelevancyScore":"2147","PubType":"Book","PubTypeId":"book"},"PLink":"http:\/\/search.ebscohost.com\/login.aspx?direct=true&site=eds-live&db=cat00916a&AN=mit.000346597","CustomLinks":[{"Url":"https:\/\/library.mit.edu\/item\/000346597?","Name":"MIT + Barton Catalog URL (cat00916a)","Category":"libCatalog","Text":"View catalog + record","MouseOverText":"Go to Barton catalog to find this at the MIT Libraries"}],"FullText":{"Text":{"Availability":"0"}},"Items":[{"Name":"Title","Label":"Title","Group":"Ti","Data":"Popcorn + Venus \/ Marjorie Rosen."},{"Name":"Author","Label":"Authors","Group":"Au","Data":"<searchLink + fieldCode="AR" term="%22Rosen%2C+Marjorie%22">Rosen, + Marjorie<\/searchLink>"},{"Name":"TypePub","Label":"Publication Type","Group":"TypPub","Data":"Book"},{"Name":"Subject","Label":"Subject + Terms","Group":"Su","Data":"<searchLink fieldCode="DE" term="%22Women+in+motion+pictures%22">Women + in motion pictures<\/searchLink>"}],"RecordInfo":{"BibRecord":{"BibEntity":{"Languages":[{"Text":"English"}],"Subjects":[{"SubjectFull":"Women + in motion pictures","Type":"general"}],"Titles":[{"TitleFull":"Popcorn Venus.","Type":"main"}]},"BibRelationships":{"HasContributorRelationships":[{"PersonEntity":{"Name":{"NameFull":"Rosen, + Marjorie"}}}],"IsPartOfRelationships":[{"BibEntity":{"Dates":[{"D":"01","M":"01","Type":"published","Y":"1974"}],"Identifiers":[{"Type":"isbn-print","Value":"0380001772"}],"Titles":[{"TitleFull":"Popcorn + Venus \/ Marjorie Rosen.","Type":"main"}]}}]}}},"Holdings":[{"HoldingSimple":{"CopyInformationList":[{"Sublocation":"Hayden + Library - Stacks","ShelfLocator":"PN1995.9.W6.R6 1974"}]}}]}]}}}' + http_version: + recorded_at: Tue, 06 Sep 2016 18:56:33 GMT +- request: + method: get + uri: https://eds-api.ebscohost.com/edsapi/rest/endsession?sessiontoken=FakeSessiontoken + body: + encoding: US-ASCII + string: '' + headers: + Accept: + - application/json + X-Authenticationtoken: + - FakeAuthenticationtoken + X-Sessiontoken: + - FakeSessiontoken + Connection: + - close + Host: + - eds-api.ebscohost.com + User-Agent: + - http.rb/2.0.3 + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - private + Content-Length: + - '20' + Content-Type: + - application/json; charset=utf-8 + Server: + - Microsoft-IIS/7.5 + X-Authenticationtoken: + - FakeAuthenticationtoken + X-Msg-Correlid: + - dbd7a231-b808-457d-a0e2-7a39cf55368f + X-Aspnet-Version: + - 4.0.30319 + X-Powered-By: + - ASP.NET + Date: + - Tue, 06 Sep 2016 18:56:32 GMT + Connection: + - close + body: + encoding: UTF-8 + string: '{"IsSuccessful":"y"}' + http_version: + recorded_at: Tue, 06 Sep 2016 18:56:33 GMT +recorded_with: VCR 3.0.3