umlaut 3.0.5 → 3.1.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (385) hide show
  1. checksums.yaml +15 -0
  2. data/README.md +48 -5
  3. data/app/assets/images/umlaut_icons.png +0 -0
  4. data/app/assets/images/umlaut_icons/famfamfam-book-go.png +0 -0
  5. data/app/assets/images/{famfamfam/book_open.png → umlaut_icons/famfamfam-book-open.png} +0 -0
  6. data/app/assets/images/umlaut_icons/famfamfam-book.png +0 -0
  7. data/app/assets/images/{famfamfam/cross.png → umlaut_icons/famfamfam-cross.png} +0 -0
  8. data/app/assets/images/umlaut_icons/famfamfam-error.png +0 -0
  9. data/app/assets/images/umlaut_icons/famfamfam-help.png +0 -0
  10. data/app/assets/images/umlaut_icons/famfamfam-information.png +0 -0
  11. data/app/assets/images/umlaut_icons/famfamfam-link.png +0 -0
  12. data/app/assets/images/umlaut_icons/famfamfam-page-sound.png +0 -0
  13. data/app/assets/images/umlaut_icons/famfamfam-page-text.png +0 -0
  14. data/app/assets/images/umlaut_icons/famfamfam-page-up.png +0 -0
  15. data/app/assets/images/{famfamfam/page_white.png → umlaut_icons/famfamfam-page-white.png} +0 -0
  16. data/app/assets/images/{famfamfam/readme.html → umlaut_icons/famfamfam-readme.html} +0 -0
  17. data/app/assets/images/{famfamfam/tiny_cross.png → umlaut_icons/famfamfam-tiny-cross.png} +0 -0
  18. data/app/assets/images/{list_closed.png → umlaut_icons/list-closed.png} +0 -0
  19. data/app/assets/images/{list_open.png → umlaut_icons/list-open.png} +0 -0
  20. data/app/assets/javascripts/umlaut.js +5 -4
  21. data/app/assets/javascripts/umlaut/ajax_windows.js +41 -23
  22. data/app/assets/javascripts/umlaut/expand_contract_toggle.js +21 -29
  23. data/app/assets/javascripts/umlaut/load_permalink.js +26 -0
  24. data/app/assets/javascripts/umlaut/search_autocomplete.js +103 -44
  25. data/app/assets/stylesheets/umlaut.css.scss +19 -0
  26. data/app/assets/stylesheets/umlaut/_admin.scss +14 -0
  27. data/app/assets/stylesheets/umlaut/_az.scss +29 -0
  28. data/app/assets/stylesheets/umlaut/_forms.scss +31 -0
  29. data/app/assets/stylesheets/umlaut/_icons.scss +64 -0
  30. data/app/assets/stylesheets/umlaut/_layout.scss +52 -0
  31. data/app/assets/stylesheets/umlaut/_misc.scss +59 -0
  32. data/app/assets/stylesheets/umlaut/_mixins.scss +65 -0
  33. data/app/assets/stylesheets/umlaut/_modal.scss +4 -0
  34. data/app/assets/stylesheets/umlaut/_resolve.scss +308 -0
  35. data/app/assets/stylesheets/umlaut/_results.scss +34 -0
  36. data/app/assets/stylesheets/umlaut/_search.scss +14 -0
  37. data/app/assets/stylesheets/umlaut/_spinner.scss +12 -0
  38. data/app/assets/stylesheets/umlaut/_variables.scss +72 -0
  39. data/app/controllers/export_email_controller.rb +22 -39
  40. data/app/controllers/journal_tocs_controller +90 -0
  41. data/app/controllers/js_helper_controller.rb +2 -3
  42. data/app/controllers/link_router_controller.rb +32 -43
  43. data/app/controllers/open_search_controller.rb +3 -4
  44. data/app/controllers/resolve_controller.rb +68 -107
  45. data/app/controllers/resource_controller.rb +14 -20
  46. data/app/controllers/search_controller.rb +75 -94
  47. data/app/controllers/search_methods/README.md +28 -0
  48. data/app/controllers/search_methods/sfx4.rb +50 -119
  49. data/app/controllers/search_methods/sfx4_solr/README.md +57 -0
  50. data/app/controllers/search_methods/sfx4_solr/local.rb +40 -0
  51. data/app/controllers/search_methods/sfx4_solr/searcher.rb +90 -0
  52. data/app/controllers/store_controller.rb +24 -30
  53. data/app/controllers/umlaut/controller_behavior.rb +45 -17
  54. data/app/controllers/umlaut/error_handling.rb +20 -25
  55. data/{lib → app/controllers}/umlaut_configurable.rb +35 -21
  56. data/app/controllers/umlaut_controller.rb +43 -46
  57. data/app/helpers/emailer_helper.rb +9 -16
  58. data/app/helpers/export_email_helper.rb +8 -8
  59. data/app/helpers/open_search_helper.rb +2 -3
  60. data/app/helpers/resolve_helper.rb +130 -100
  61. data/app/helpers/search_helper.rb +17 -5
  62. data/app/helpers/umlaut/footer_helper.rb +1 -1
  63. data/app/helpers/umlaut/helper.rb +34 -0
  64. data/app/helpers/umlaut/html_head_helper.rb +12 -21
  65. data/{lib → app/mixin_logic}/marc_helper.rb +1 -1
  66. data/{lib → app/mixin_logic}/metadata_helper.rb +6 -5
  67. data/{lib → app/mixin_logic}/umlaut_http.rb +0 -0
  68. data/{lib → app/mixin_logic}/xml_schema_helper.rb +0 -0
  69. data/app/models/collection.rb +97 -95
  70. data/{lib → app/models}/hip3/bib.rb +0 -0
  71. data/{lib → app/models}/hip3/bib_searcher.rb +0 -0
  72. data/{lib → app/models}/hip3/custom_field_lookup.rb +0 -0
  73. data/{lib → app/models}/hip3/holding.rb +0 -0
  74. data/{lib → app/models}/hip3/item.rb +0 -0
  75. data/{lib → app/models}/hip3/receipt.rb +0 -0
  76. data/{lib → app/models}/hip3/serial_copy.rb +0 -0
  77. data/app/models/permalink.rb +3 -8
  78. data/app/models/referent.rb +29 -21
  79. data/app/models/request.rb +19 -8
  80. data/app/models/service_response.rb +24 -3
  81. data/app/models/service_store.rb +108 -39
  82. data/app/models/service_store.rb-NEW +73 -0
  83. data/app/models/service_wave.rb +2 -0
  84. data/app/models/sfx4/abstract/README.md +68 -0
  85. data/app/models/sfx4/abstract/az_extra_info.rb +44 -0
  86. data/app/models/sfx4/abstract/az_letter_group.rb +24 -0
  87. data/app/models/sfx4/abstract/az_title.rb +96 -0
  88. data/app/models/sfx4/abstract/az_title_search.rb +24 -0
  89. data/app/models/sfx4/abstract/base.rb +77 -0
  90. data/app/models/sfx4/global/base.rb +24 -0
  91. data/app/models/sfx4/global/kb_objects.rb +34 -0
  92. data/app/models/sfx4/local/az_extra_info.rb +7 -0
  93. data/app/models/sfx4/local/az_letter_group.rb +7 -0
  94. data/app/models/sfx4/local/az_title.rb +7 -0
  95. data/app/models/sfx4/local/az_title_search.rb +7 -0
  96. data/app/models/sfx4/local/base.rb +26 -0
  97. data/{lib → app/presentation}/section_renderer.rb +0 -12
  98. data/app/referent_filters/dissertation_catch.rb +67 -0
  99. data/{lib → app/referent_filters}/referent_filter.rb +0 -0
  100. data/{lib → app}/service_adaptors/ajax_export.rb +0 -0
  101. data/{lib → app}/service_adaptors/amazon.rb +2 -0
  102. data/{lib → app}/service_adaptors/blacklight.rb +22 -10
  103. data/{lib → app}/service_adaptors/book_finder.rb +0 -0
  104. data/{lib → app}/service_adaptors/bx.rb +0 -0
  105. data/{lib → app}/service_adaptors/cover_thing.rb +0 -0
  106. data/{lib → app}/service_adaptors/dummy_service.rb +0 -0
  107. data/{lib → app}/service_adaptors/elsevier_cover.rb +0 -0
  108. data/{lib → app}/service_adaptors/email_export.rb +0 -0
  109. data/{lib → app}/service_adaptors/ezproxy.rb +0 -0
  110. data/{lib → app}/service_adaptors/google_book_search.rb +0 -0
  111. data/app/service_adaptors/google_scholar_link.rb +71 -0
  112. data/{lib → app}/service_adaptors/gpo.rb +0 -0
  113. data/{lib → app}/service_adaptors/hathi_trust.rb +0 -0
  114. data/{lib → app}/service_adaptors/hip3_service.rb +0 -0
  115. data/{lib → app}/service_adaptors/hip_holding_search.rb +0 -0
  116. data/{lib → app}/service_adaptors/internet_archive.rb +0 -0
  117. data/{lib → app}/service_adaptors/isbn_db.rb +0 -0
  118. data/{lib → app}/service_adaptors/isi.rb +22 -13
  119. data/{lib → app}/service_adaptors/jcr.rb +0 -0
  120. data/{lib → app}/service_adaptors/opac.rb +0 -0
  121. data/{lib → app}/service_adaptors/open_library.rb +0 -0
  122. data/{lib → app}/service_adaptors/open_library_cover.rb +0 -0
  123. data/{lib → app}/service_adaptors/pubmed.rb +0 -0
  124. data/{lib → app}/service_adaptors/request_to_fixture.rb +0 -0
  125. data/{lib → app}/service_adaptors/scopus.rb +0 -0
  126. data/{lib → app/service_adaptors}/service.rb +3 -3
  127. data/{lib → app}/service_adaptors/sfx.rb +154 -11
  128. data/{lib → app}/service_adaptors/sfx_backchannel_record.rb +0 -0
  129. data/app/service_adaptors/tr_link.rb +267 -0
  130. data/app/service_adaptors/tr_links.rb +278 -0
  131. data/{lib → app}/service_adaptors/txt_holding_export.rb +0 -0
  132. data/{lib → app}/service_adaptors/ulrichs_cover.rb +0 -0
  133. data/{lib → app}/service_adaptors/ulrichs_link.rb +0 -0
  134. data/{lib → app}/service_adaptors/worldcat.rb +0 -0
  135. data/{lib → app}/service_adaptors/worldcat_identities.rb +0 -0
  136. data/app/views/admin/service_errors/_dispatched_service.html.erb +13 -13
  137. data/app/views/admin/service_errors/index.html.erb +11 -21
  138. data/app/views/export_email/email.html.erb +17 -2
  139. data/app/views/export_email/send_email.html.erb +2 -1
  140. data/app/views/export_email/send_txt.html.erb +2 -1
  141. data/app/views/export_email/txt.html.erb +30 -2
  142. data/app/views/layouts/umlaut.html.erb +29 -49
  143. data/app/views/resolve/_background_progress.html.erb +43 -50
  144. data/app/views/resolve/_background_updater.html.erb +23 -36
  145. data/app/views/resolve/_citation.html.erb +63 -87
  146. data/app/views/resolve/_compact_citation.html.erb +15 -33
  147. data/app/views/resolve/_cover_image.html.erb +34 -43
  148. data/app/views/resolve/_fulltext.html.erb +29 -50
  149. data/app/views/resolve/_help.html.erb +17 -14
  150. data/app/views/resolve/_holding.html.erb +65 -82
  151. data/app/views/resolve/_manually_entered_warning.html.erb +7 -0
  152. data/app/views/resolve/_modal.html.erb +19 -0
  153. data/app/views/resolve/_related_items.html.erb +20 -35
  154. data/app/views/resolve/_search_inside.html.erb +34 -57
  155. data/app/views/resolve/_section_display.html.erb +34 -46
  156. data/app/views/resolve/_section_heading.html.erb +17 -0
  157. data/app/views/resolve/_service_errors.html.erb +27 -28
  158. data/app/views/resolve/_standard_response_item.html.erb +42 -72
  159. data/app/views/resolve/background_status.html.erb +19 -23
  160. data/app/views/resolve/get_permalink.html.erb +6 -0
  161. data/app/views/resolve/index.html.erb +47 -73
  162. data/app/views/search/_a_to_z.html.erb +9 -6
  163. data/app/views/search/_citation.html.erb +73 -94
  164. data/app/views/search/_pager.html.erb +6 -6
  165. data/app/views/search/books.html.erb +34 -102
  166. data/app/views/search/journal_search.html.erb +53 -90
  167. data/app/views/search/journals.html.erb +73 -167
  168. data/app/views/umlaut/_header.html.erb +9 -0
  169. data/app/views/umlaut/error.html.erb +44 -44
  170. data/config/locales/en.yml +5 -0
  171. data/lib/{CronTab.rb → cron_tab.rb} +0 -0
  172. data/lib/generators/templates/umlaut_services.yml +57 -43
  173. data/lib/generators/umlaut/install_generator.rb +12 -0
  174. data/lib/service_adaptors/README.md +0 -0
  175. data/lib/tasks/umlaut.rake +8 -24
  176. data/lib/umlaut.rb +1 -21
  177. data/lib/umlaut/version.rb +1 -1
  178. data/test/README.md +75 -0
  179. data/test/dummy/app/controllers/umlaut_controller.rb +3 -3
  180. data/test/dummy/config/application.rb +3 -0
  181. data/test/dummy/config/sunspot.yml +20 -0
  182. data/test/dummy/config/travis_database.yml +96 -0
  183. data/test/dummy/config/umlaut_services.yml +16 -23
  184. data/test/dummy/db/migrate/20120927163304_sfx4_global.rb +26 -0
  185. data/test/dummy/db/migrate/20120927164040_sfx4_local.rb +54 -0
  186. data/test/dummy/tmp/cache/assets/BBA/6A0/sprockets%2F2a335471966f33256b321f8324041981 +0 -0
  187. data/test/dummy/tmp/cache/assets/C2A/410/sprockets%2Fd654b74912b4773a2534616863fb6565 +0 -0
  188. data/test/dummy/tmp/cache/assets/C45/A30/sprockets%2F39494895e462697b478d3d0c79298a26 +0 -0
  189. data/test/dummy/tmp/cache/assets/C49/730/sprockets%2F212d35831188417b5131e3e693aa69a6 +0 -0
  190. data/test/dummy/tmp/cache/assets/C55/1D0/sprockets%2F5af2f2a3403040f736981863fd278529 +0 -0
  191. data/test/dummy/tmp/cache/assets/C5A/A80/sprockets%2F2328c7370b56b4151776981a5f6d394e +0 -0
  192. data/test/dummy/tmp/cache/assets/C5F/340/sprockets%2F99692920160b7a279b86a80415b79db7 +0 -0
  193. data/test/dummy/tmp/cache/assets/C70/4D0/sprockets%2F034ad2036e623081bd352800786dfe80 +0 -0
  194. data/test/dummy/tmp/cache/assets/C80/980/sprockets%2Fc94807409c1523d43e18d25f35d93c41 +0 -0
  195. data/test/dummy/tmp/cache/assets/C94/E20/sprockets%2F19579abc248373f419b1c3e287d74598 +0 -0
  196. data/test/dummy/tmp/cache/assets/C98/330/sprockets%2F0c81574ba94abc10657315d4190c201f +0 -0
  197. data/test/dummy/tmp/cache/assets/CA4/440/sprockets%2F0feb4425db6319d7d0582192a503671b +0 -0
  198. data/test/dummy/tmp/cache/assets/CA7/E80/sprockets%2F33310f455a870eaedd6d938e30620714 +0 -0
  199. data/test/dummy/tmp/cache/assets/CB8/3C0/sprockets%2F697cd846490fda9f0e20c558320610f8 +0 -0
  200. data/test/dummy/tmp/cache/assets/CBF/B60/sprockets%2F08ca89671549936265dcb673bf02e36f +0 -0
  201. data/test/dummy/tmp/cache/assets/CC7/F10/sprockets%2F939637f806eef3f0f21584659458ab2e +0 -0
  202. data/test/dummy/tmp/cache/assets/CC9/9F0/sprockets%2F306166316e2cafd13c15e62b51a2339d +0 -0
  203. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  204. data/test/dummy/tmp/cache/assets/CF7/2B0/sprockets%2F25a7c73655bd3598173b39d9f98bcd46 +0 -0
  205. data/test/dummy/tmp/cache/assets/CF8/DA0/sprockets%2Ff5b8c8499d3da954d392fa57739503c5 +0 -0
  206. data/test/dummy/tmp/cache/assets/CF9/590/sprockets%2F096bcc45cd31b3796fa2121cd203215f +0 -0
  207. data/test/dummy/tmp/cache/assets/CFE/080/sprockets%2F37fe9f4255baddbd549a659914929398 +0 -0
  208. data/test/dummy/tmp/cache/assets/D04/CC0/sprockets%2Fe9c1b92f2e437e1bbbe020d718739220 +0 -0
  209. data/test/dummy/tmp/cache/assets/D0B/090/sprockets%2F58009091c95e3ac328c91c68fca30e0e +0 -0
  210. data/test/dummy/tmp/cache/assets/D1A/B50/sprockets%2F2db5892438129fe94da8429b8be114ec +0 -0
  211. data/test/dummy/tmp/cache/assets/D2D/1A0/sprockets%2F376426b4896a3cff7969ce6c7b387e0e +0 -0
  212. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  213. data/test/dummy/tmp/cache/assets/D37/2B0/sprockets%2F40834fb07d7318c1fddd5003bd9e04f6 +0 -0
  214. data/test/dummy/tmp/cache/assets/D43/0D0/sprockets%2F682843a8d0795a5fbcfeb2f0c81727d0 +0 -0
  215. data/test/dummy/tmp/cache/assets/D46/F80/sprockets%2Fb15c08e749067d7aad9baf5e9388221c +0 -0
  216. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  217. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  218. data/test/dummy/tmp/cache/assets/D6C/7D0/sprockets%2F8a05d6981ec0d38c51739bef0b3a9c2b +0 -0
  219. data/test/dummy/tmp/cache/assets/D6E/CF0/sprockets%2F5661c6e4f0cea86fe4523f27261aade5 +0 -0
  220. data/test/dummy/tmp/cache/assets/D94/FF0/sprockets%2F3b56a1aa77de0d570c38a4a9d5f4b1d6 +0 -0
  221. data/test/dummy/tmp/cache/assets/D97/6B0/sprockets%2Fb070e8c799d1a4ad5e62e0a1ae3b83e6 +0 -0
  222. data/test/dummy/tmp/cache/assets/D9A/2F0/sprockets%2Fbba0f4b972dc53c15ce6c8c1993b82a4 +0 -0
  223. data/test/dummy/tmp/cache/assets/D9C/860/sprockets%2Fec2d9f20b270d70e698ff33e53c21fca +0 -0
  224. data/test/dummy/tmp/cache/assets/DA6/A80/sprockets%2F92e26d8e58d5bcc8b8f6c25d1b05b9c1 +0 -0
  225. data/test/dummy/tmp/cache/assets/DA8/BB0/sprockets%2F0cf1c7e9f966dce425517c0e2a844efe +0 -0
  226. data/test/dummy/tmp/cache/assets/DA9/BC0/sprockets%2Fcb9062b73291befe5e5bf2a70978dec8 +0 -0
  227. data/test/dummy/tmp/cache/assets/DB6/ED0/sprockets%2Ff4482d9b9f76fb65eef16430bde2f8e6 +0 -0
  228. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  229. data/test/dummy/tmp/cache/assets/DE8/790/sprockets%2Fd1333bde2b9aafcc712d11dd09ab35d8 +0 -0
  230. data/test/dummy/tmp/cache/assets/DF7/960/sprockets%2F99ac6db10b44a64fbba4ee847b35ba8b +0 -0
  231. data/test/dummy/tmp/cache/assets/DFD/300/sprockets%2Fabac9489cf7f1db8ef00d72a1571ee1e +0 -0
  232. data/test/dummy/tmp/cache/assets/E02/C10/sprockets%2F1463cadfce3fc70e61d482f9fcb75ac7 +0 -0
  233. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  234. data/test/dummy/tmp/cache/assets/E38/FE0/sprockets%2Fe1fc875efa817cbb94a5d8de25ea4e6b +0 -0
  235. data/test/dummy/tmp/cache/assets/E50/F00/sprockets%2Fec61afdbb1cc4df075e3dad46f0af571 +0 -0
  236. data/test/dummy/tmp/cache/assets/E5E/5F0/sprockets%2Feffaeb4d7f9bf4c0cc840ff320fde046 +0 -0
  237. data/test/dummy/tmp/cache/assets/E5F/960/sprockets%2Fdc007b6cad5c7ef08e33ec28cfff0ef6 +0 -0
  238. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_accordion.scssc +0 -0
  239. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_alerts.scssc +0 -0
  240. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_breadcrumbs.scssc +0 -0
  241. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_button-groups.scssc +0 -0
  242. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_buttons.scssc +0 -0
  243. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_carousel.scssc +0 -0
  244. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_close.scssc +0 -0
  245. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_code.scssc +0 -0
  246. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_component-animations.scssc +0 -0
  247. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_dropdowns.scssc +0 -0
  248. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_forms.scssc +0 -0
  249. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_grid.scssc +0 -0
  250. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_hero-unit.scssc +0 -0
  251. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_labels-badges.scssc +0 -0
  252. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_layouts.scssc +0 -0
  253. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_media.scssc +0 -0
  254. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_mixins.scssc +0 -0
  255. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_modals.scssc +0 -0
  256. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_navbar.scssc +0 -0
  257. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_navs.scssc +0 -0
  258. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_pager.scssc +0 -0
  259. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_pagination.scssc +0 -0
  260. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_popovers.scssc +0 -0
  261. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_progress-bars.scssc +0 -0
  262. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_reset.scssc +0 -0
  263. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_responsive-1200px-min.scssc +0 -0
  264. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_responsive-767px-max.scssc +0 -0
  265. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_responsive-768px-979px.scssc +0 -0
  266. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_responsive-navbar.scssc +0 -0
  267. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_responsive-utilities.scssc +0 -0
  268. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_scaffolding.scssc +0 -0
  269. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_sprites.scssc +0 -0
  270. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_tables.scssc +0 -0
  271. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_thumbnails.scssc +0 -0
  272. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_tooltip.scssc +0 -0
  273. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_type.scssc +0 -0
  274. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_utilities.scssc +0 -0
  275. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_variables.scssc +0 -0
  276. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/_wells.scssc +0 -0
  277. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/bootstrap.scssc +0 -0
  278. data/test/dummy/tmp/cache/sass/310d901c169042855feb8cf3903e1e2821d27f13/responsive.scssc +0 -0
  279. data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_admin.scssc +0 -0
  280. data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_az.scssc +0 -0
  281. data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_base.scssc +0 -0
  282. data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_forms.scssc +0 -0
  283. data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_icons.scssc +0 -0
  284. data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_misc.scssc +0 -0
  285. data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_mixins.scssc +0 -0
  286. data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_modal.scssc +0 -0
  287. data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_resolve.scssc +0 -0
  288. data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_results.scssc +0 -0
  289. data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_search.scssc +0 -0
  290. data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_spinner.scssc +0 -0
  291. data/test/dummy/tmp/cache/sass/3af72421a0fbed39d3047687ca0ad6e6e5545041/_variables.scssc +0 -0
  292. data/test/dummy/tmp/cache/sass/93d65682d6bddb0b2e6788c1232f4849af20a35e/bootstrap-responsive.scssc +0 -0
  293. data/test/dummy/tmp/cache/sass/93d65682d6bddb0b2e6788c1232f4849af20a35e/bootstrap.scssc +0 -0
  294. data/test/dummy/tmp/cache/sass/fb58c04fd15fcc38a8c4d91b7070bcfeaf1c3799/umlaut.css.scssc +0 -0
  295. data/test/fixtures/dispatched_services.yml +0 -4
  296. data/test/fixtures/permalinks.yml +23 -4
  297. data/test/fixtures/referent_values.yml +226 -1493
  298. data/test/fixtures/referents.yml +14 -137
  299. data/test/fixtures/requests.yml +22 -260
  300. data/test/fixtures/service_responses.yml +169 -5
  301. data/test/fixtures/sfx4/global/KB_OBJECTS.yml +46 -0
  302. data/test/fixtures/sfx4/local/AZ_EXTRA_INFO.yml +4802 -0
  303. data/test/fixtures/sfx4/local/AZ_LETTER_GROUP.yml +105 -0
  304. data/test/fixtures/sfx4/local/AZ_TITLE.yml +165 -0
  305. data/test/fixtures/sfx4/local/AZ_TITLE_SEARCH.yml +341 -0
  306. data/test/fixtures/sfx_urls.yml +3 -0
  307. data/test/functional/export_email_controller_test.rb +43 -0
  308. data/test/functional/link_router_controller_test.rb +16 -0
  309. data/test/functional/resolve_controller_test.rb +102 -0
  310. data/test/functional/search_controller_test.rb +40 -0
  311. data/test/functional/store_controller_test.rb +29 -0
  312. data/test/helper/list_with_limit_test.rb +90 -0
  313. data/test/integration/permalinks_test.rb +14 -0
  314. data/test/support/search_methods/test_case.rb +0 -0
  315. data/test/support/service_adaptors/test_case.rb +0 -0
  316. data/test/support/test_with_cassette.rb +37 -0
  317. data/test/test_helper.rb +76 -30
  318. data/test/unit/aws_product_sign_test.rb +2 -0
  319. data/test/unit/determine_services_test.rb +163 -0
  320. data/test/unit/google_book_search_test.rb +8 -25
  321. data/test/unit/google_scholar_link_test.rb +81 -0
  322. data/test/unit/internet_archive_test.rb +33 -0
  323. data/test/unit/permalink_test.rb +15 -0
  324. data/test/unit/service_store_test.rb +47 -0
  325. data/test/unit/service_test.rb +28 -13
  326. data/test/unit/sfx/sfx_target_roll_up_test.rb +369 -0
  327. data/test/unit/sfx4_search_test.rb +102 -0
  328. data/test/unit/sfx4_solr_search_test.rb +77 -0
  329. data/test/unit/sfx_test.rb +38 -0
  330. data/test/unit/worldcat_test.rb +7 -0
  331. data/test/vcr_cassettes/google_book_search/frankenstein_by_OCLC_number.yml +107 -0
  332. data/test/vcr_cassettes/internet_archive/momo_by_title_author.yml +116 -0
  333. data/test/vcr_cassettes/resolve/fulltext_with_edition_warning.yml +44 -0
  334. data/test/vcr_cassettes/resolve/no_holdings.yml +649 -0
  335. data/test/vcr_cassettes/resolve/nytimes_by_issn.yml +224 -0
  336. data/test/vcr_cassettes/sfx/nytimes_by_issn.yml +1395 -0
  337. data/test/vcr_cassettes/sfx4_solr/find_by_group.yml +109 -0
  338. data/test/vcr_cassettes/sfx4_solr/find_by_title_begins_with.yml +33 -0
  339. data/test/vcr_cassettes/sfx4_solr/find_by_title_contains.yml +34 -0
  340. data/test/vcr_cassettes/sfx4_solr/find_by_title_exact.yml +32 -0
  341. data/test/view/holding_test.rb +30 -0
  342. metadata +435 -179
  343. data/app/assets/images/export_bg_bot.gif +0 -0
  344. data/app/assets/images/export_bg_mid.gif +0 -0
  345. data/app/assets/images/export_bg_top.gif +0 -0
  346. data/app/assets/images/famfamfam/page_sound.gif +0 -0
  347. data/app/assets/images/famfamfam/page_text.gif +0 -0
  348. data/app/assets/images/famfamfam/page_up.gif +0 -0
  349. data/app/assets/images/ico_go.gif +0 -0
  350. data/app/assets/images/more_info.gif +0 -0
  351. data/app/assets/images/rails.png +0 -0
  352. data/app/assets/images/request.gif +0 -0
  353. data/app/assets/javascripts/umlaut/simple_visible_toggle.js +0 -8
  354. data/app/assets/stylesheets/umlaut.css +0 -900
  355. data/app/assets/stylesheets/umlaut/_background_progress_spinner.scss +0 -21
  356. data/app/assets/stylesheets/umlaut/_expand_contract.scss +0 -28
  357. data/app/controllers/search_methods/sfx3.rb +0 -148
  358. data/app/models/sfx_db.rb +0 -10
  359. data/app/models/sfx_db/az_additional_title.rb +0 -11
  360. data/app/models/sfx_db/az_letter_group.rb +0 -11
  361. data/app/models/sfx_db/az_title.rb +0 -40
  362. data/app/models/sfx_db/az_title_v2.rb +0 -34
  363. data/app/models/sfx_db/isbn.rb +0 -12
  364. data/app/models/sfx_db/issn.rb +0 -12
  365. data/app/models/sfx_db/object.rb +0 -35
  366. data/app/models/sfx_db/object_portfolio.rb +0 -6
  367. data/app/models/sfx_db/publisher.rb +0 -10
  368. data/app/models/sfx_db/sfx_db_base.rb +0 -58
  369. data/app/models/sfx_db/target.rb +0 -10
  370. data/app/models/sfx_db/target_service.rb +0 -10
  371. data/app/models/sfx_db/title.rb +0 -10
  372. data/app/views/export_email/_email.html.erb +0 -25
  373. data/app/views/export_email/_send_email.html.erb +0 -3
  374. data/app/views/export_email/_send_txt.html.erb +0 -3
  375. data/app/views/export_email/_txt.html.erb +0 -62
  376. data/lib/holding.rb +0 -32
  377. data/lib/opensearch_feed.rb +0 -398
  378. data/lib/opensearch_query.rb +0 -98
  379. data/lib/referent_filters/dissertation_catch.rb +0 -45
  380. data/lib/service_adaptors/journal_tocs.progress +0 -68
  381. data/lib/service_adaptors/primo_service.rb +0 -452
  382. data/lib/service_adaptors/primo_source.rb +0 -82
  383. data/lib/umlaut/default_configuration.rb +0 -5
  384. data/test/dummy/config/primo.yml +0 -271
  385. data/test/unit/primo_service_test.rb +0 -947
@@ -1,82 +0,0 @@
1
- # == Overview
2
- # PrimoSource is a PrimoService that converts primo_source service types into Primo source holdings.
3
- # This mechanism allows linking to original data sources and expanded holdings information
4
- # based on those sources and can be implemented per source.
5
- # To create a Primo source holding, you first must create a local class representing the source in
6
- # module Exlibris::Primo::Source which extends Exlibris::Primo::Holding.
7
- # Two methods are then available for overriding:
8
- # :expand - expand holdings that may have been collapsed into a single availlibrary element
9
- # in Primo based on information from the source
10
- # default: [self]
11
- # :dedup? - if this data source contain duplicate holdings that need to be deduped, set to true
12
- # default: false
13
- # The following properties can also be overridden in the initialize method
14
- # :record_id, :source_id, :original_source_id, :source_record_id,
15
- # :availlibrary, :institution_code, :institution, :library_code, :library,
16
- # :status_code, :status, :id_one, :id_two, :origin, :display_type, :coverage, :notes,
17
- # :url, :request_url, :match_reliability, :request_link_supports_ajax_call, :source_data
18
- # PrimoSources are not for everyone as they require programming but they do allow further customization
19
- # and functionality as necessary.
20
- #
21
- # == Further Documentation
22
- # Exlibris::Primo::Holding provides further documentation related to creating local sources.
23
- #
24
- # ==Examples
25
- # Two examples of customized sources are:
26
- # * Exlibris::Primo::Source::Aleph
27
- # * Exlibris::Primo::Source::NYUAleph
28
- class PrimoSource < PrimoService
29
-
30
- # Overwrites PrimoService#new.
31
- def initialize(config)
32
- @service_types = ["holding"]
33
- @source_attributes = []
34
- super(config)
35
- end
36
-
37
- # Overwrites PrimoService#handle.
38
- def handle(request)
39
- primo_sources = request.get_service_type('primo_source', {})
40
- sources_seen = Array.new # for de-duplicating holdings from catalog.
41
- primo_sources.each do |primo_source|
42
- source = primo_source.view_data
43
- # There are some cases where source records may need to be de-duplicated against existing records
44
- # Check if we've already seen this record.
45
- seen_sources_key = source.source_id.to_s + source.source_record_id.to_s
46
- next if source.dedup? and sources_seen.include?(seen_sources_key)
47
- # If we get this far, record that we've seen this holding.
48
- sources_seen.push(seen_sources_key)
49
- # There may be multiple holdings mapped to one availlibrary here,
50
- # so we get the additional holdings and add them.
51
- source.expand.each do |holding|
52
- service_data = {}
53
- @holding_attributes.each do |attr|
54
- service_data[attr] = holding.method(attr).call
55
- end
56
- @source_attributes.each do |attr|
57
- service_data[attr.to_sym] = holding.method(attr.to_sym).call if holding.respond_to?(attr.to_sym)
58
- end
59
- service_data.merge!({
60
- :call_number => holding.call_number, :collection => holding.collection,
61
- :collection_str => "#{holding.library} #{holding.collection}",
62
- :coverage_str => holding.coverage.join("<br />"),
63
- :coverage_str_array => holding.coverage,
64
- # :expired determines whether we show the holding in this service
65
- # Since this is fresh, the data has not yet expired.
66
- :expired => false,
67
- # :latest determines whether we show the holding in other services, e.g. txt and email.
68
- # It persists for one more cycle than :expired so services that run after
69
- # this one, but in the same resolution request have access to the latest holding data.
70
- :latest => true
71
- })
72
- request.add_service_response(
73
- service_data.merge(
74
- :service=>self,
75
- :service_type_value => "holding"
76
- )
77
- )
78
- end
79
- end
80
- return request.dispatched(self, true)
81
- end
82
- end
@@ -1,5 +0,0 @@
1
- module Umlaut::DefaultConfiguration
2
-
3
-
4
-
5
- end
@@ -1,271 +0,0 @@
1
- libraries:
2
- "BAFC": "NYU Bobst Avery Fisher Center"
3
- "BARCH": "NYU Bobst University Archives"
4
- "BCHIL": "NYU Bobst Children&#39;s Literature"
5
- "BFALE": "NYU Bobst Fales"
6
- "BHS": "Brooklyn Historical Society"
7
- "BLCC": "NYU Bobst Library"
8
- "BOBST": "NYU Bobst"
9
- "BREF": "NYU Bobst Reference"
10
- "BREF6": "NYU Bobst 6th Floor Reference"
11
- "BTAM": "NYU Bobst Tamiment/Wagner Archives"
12
- "BWEB": "NYU Restricted Internet"
13
- "CARCH": "Cooper Union Archives"
14
- "CCLOS": "Cooper Union Closed Stacks"
15
- "CGEN": "Cooper Union General"
16
- "CMEZZ": "Cooper Union Mezzanine"
17
- "CMICRO": "Cooper Union Microform"
18
- "COUR": "NYU Courant"
19
- "CPER": "Cooper Union Periodicals"
20
- "CREF": "Cooper Union Reference"
21
- "CRES": "Cooper Union Reserves"
22
- "CU": "Cooper Union"
23
- "CWEB": "Cooper Union Restricted Internet Resources"
24
- "IFA": "NYU Inst Fine Arts"
25
- "IFAC": "NYU Inst Fine Arts Conservation"
26
- "ISAW": "NYU Inst Study Ancient World"
27
- "KEV": "NYU Kevorkian"
28
- "LAPI": "NYU La Pietra (Italy)"
29
- "NABUD": "NYU Abu Dhabi Library (UAE)"
30
- "NOFFS": "NYU Offsite Storage"
31
- "NSFO": "New School Fogelman Library"
32
- "NSGI": "New School Gimbel Library"
33
- "NSKE": "New School Kellen Archives Library"
34
- "NSOS": "New School Offsite Storage"
35
- "NSSC": "New School Scherman Library"
36
- "NYHS": "New-York Historical Society"
37
- "NYHSBR": "NYHS Broadsides"
38
- "NYHSLAN": "NYHS Landauer"
39
- "NYHSM": "New-York Historical Society"
40
- "NYHSMAPS": "NYHS Maps"
41
- "NYHSMSS": "NYHS Mss Collection"
42
- "NYHSPAM": "NYHS Pamphlets"
43
- "NYHSPR": "NYHS Print Room"
44
- "NYHSREF": "NYHS Reference"
45
- "NYSID": "New York School of Interior Design"
46
- "REI": "NYU Real Estate"
47
- "TWEB": "New School Restricted Internet"
48
- "WEB": "Unrestricted Internet Access"
49
- aleph_sub_library_codes:
50
- "BARCH": "BOBST"
51
- "BCHIL": "BOBST"
52
- "BHS": "KBHS"
53
- "BREF": "BOBST"
54
- "CARCH": "CU"
55
- "CCLOS": "CU"
56
- "CGEN": "CU"
57
- "CMEZZ": "CU"
58
- "CMICRO": "CU"
59
- "COUR": "NCOUR"
60
- "CPER": "CU"
61
- "CREF": "CU"
62
- "CRES": "CU"
63
- "CWEB": "CU"
64
- "IFA": "NIFA"
65
- "IFAC": "NIFAC"
66
- "ISAW": "NISAW"
67
- "KEV": "NKEV"
68
- "LAPI": "NLAPI"
69
- "NSFO": "TNSFO"
70
- "NSGI": "TNSGI"
71
- "NSKE": "TNSKE"
72
- "NSOS": "TNSOS"
73
- "NSSC": "TNSSC"
74
- "NYHSBR": "NYHS"
75
- "NYHSLAN": "NYHS"
76
- "NYHSM": "NYHS"
77
- "NYHSMAPS": "NYHS"
78
- "NYHSMSS": "NYHS"
79
- "NYHSPAM": "NYHS"
80
- "NYHSPR": "NYHS"
81
- "NYHSREF": "NYHS"
82
- "REI": "NREI"
83
- statuses:
84
- "available": "Available"
85
- "requested": "Requested"
86
- "unavailable": "Check Availability"
87
- "check_holdings": "Check Availability"
88
- "request_ill": "Request ILL"
89
- "billed_as_lost": "Request ILL"
90
- "offsite": "Offsite Available"
91
- "processing": "In Processing"
92
- "in_transit": "In Processing"
93
- "ask_afc": "Ask at Avery Fisher Center"
94
- "ask_archives": "Ask at NYU Archives"
95
- "ask_fales": "Ask at Fales"
96
- "ask_reference": "Ask at Reference"
97
- "ask_tam": "Ask at Tamiment"
98
- "at_bindery": "At Bindery"
99
- "on_order": "On Order"
100
- "on_exhibit": "On Exhibit"
101
-
102
- sources:
103
- nyu_aleph:
104
- base_url: "http://alephstage.library.nyu.edu"
105
- rest_url: "http://alephstage.library.nyu.edu:1891/rest-dlf"
106
- illiad_url: "http://illdev.library.nyu.edu"
107
- type: aleph
108
- class_name: NYUAleph
109
- local_base: "PRIMOCOMMON"
110
- "866$l_mappings":
111
- Bobst:
112
- sub_library: BOBST
113
- collection: MAIN
114
- NYHistSoc:
115
- sub_library: NYHS
116
- collection: MAIN
117
- Bobst Microform:
118
- sub_library: BOBST
119
- collection: MFORM
120
- Bobst Tamiment:
121
- sub_library: BTAM
122
- collection: TAM
123
- Bobst REF6:
124
- sub_library: BREF6
125
- collection: RF6
126
- Bobst REF6 IntlDocs:
127
- sub_library: BREF6
128
- collection: RF6IN
129
- Bobst SpecCol Downtown:
130
- sub_library: BFALE
131
- collection: FDOWN
132
- IFA:
133
- sub_library: NIFA
134
- collection: MAIN
135
- Cooper:
136
- sub_library: CU
137
- collection: MAIN
138
- Cooper Periodicals:
139
- sub_library: CU
140
- collection: PERIO
141
- Bobst SpecCol:
142
- sub_library: BFALE
143
- collection: FALES
144
- Bobst Tamiment Microfilm:
145
- sub_library: BTAM
146
- collection: MAIN
147
- Parsons:
148
- sub_library: TNSGI
149
- collection: MAIN
150
- NewSchool Reference:
151
- sub_library: TNSFO
152
- collection: REF
153
- NewSchool Periodicals:
154
- sub_library: TNSFO
155
- collection: PERIO
156
- Bobst REF1:
157
- sub_library: BOBST
158
- collection: REF1
159
- Courant:
160
- sub_library: NCOUR
161
- collection: MAIN
162
- NewSchool:
163
- sub_library: TNSFO
164
- collection: MAIN
165
- Courant Periodicals:
166
- sub_library: NCOUR
167
- collection: PERIO
168
- RealEstate:
169
- sub_library: NREI
170
- collection: MAIN
171
- ConservIFA:
172
- sub_library: NIFAC
173
- collection: MAIN
174
- Bobst REF9:
175
- sub_library: BOBST
176
- collection: REF9
177
- Cooper Reference:
178
- sub_library: CU
179
- collection: REF
180
- Bobst Offsite:
181
- sub_library: BOBST
182
- collection: MAIN
183
- NYIntDes:
184
- sub_library: NYSID
185
- collection: MAIN
186
- Cooper Mezzanine:
187
- sub_library: CU
188
- collection: MEZZ
189
- NYHistSoc Bella C. Landauer Collection of Business and Advertising Ephemera.:
190
- sub_library: NYHS
191
- collection: LANDA
192
- Bobst Tamiment Microform:
193
- sub_library: BTAM
194
- collection: MAIN
195
- Bobst Ref6:
196
- sub_library: BREF6
197
- collection: RF6
198
- Bobst Archives:
199
- sub_library: BOBST
200
- collection: ARCH
201
- Bobst REF6 IntlRef:
202
- sub_library: BREF6
203
- collection: RF6IR
204
- Brooklyn HistSoc Microform:
205
- sub_library: KBHS
206
- collection: MFORM
207
- IFA Periodicals:
208
- sub_library: NIFA
209
- collection: PERIO
210
- Parsons Reference:
211
- sub_library: TNSGI
212
- collection: REF
213
- N-YHistSoc Bella C. Landauer Collection of Business and Advertising Ephemera.:
214
- sub_library: NYHS
215
- collection: LANDA
216
- Mannes:
217
- sub_library: TNSSC
218
- collection: MAIN
219
- Bobst REF6 Index:
220
- sub_library: BREF6
221
- collection: RF6I
222
- Bobst REF6 Desk:
223
- sub_library: BREF6
224
- collection: RF6DR
225
- IFA Offsite:
226
- sub_library: NIFA
227
- collection: OFFSI
228
- Bobst REF6 USDocs:
229
- sub_library: BREF6
230
- collection: RF6US
231
- ConservIFA Periodicals:
232
- sub_library: NIFAC
233
- collection: PERIO
234
- Bobst REF6I Microform: ???
235
- Bobst REF6 Microform: ???
236
- Bobst REF6 Micro: ???
237
- statuses:
238
- available: ["On Shelf", "Available"]
239
- requested: ["Requested"]
240
- request_ill: ["Request ILL"]
241
- billed_as_lost: ["Billed as Lost", "Claimed Returned"]
242
- offsite: ["Offsite Available"]
243
- checked_out: !ruby/regexp '/([0-9]{2}\/[0-9]{2}\/[0-9]{2})/'
244
- unavailable: ["Unavailable"]
245
- processing: ["In Processing", "In Transit"]
246
- ask_afc: ["Ask at Avery Fisher Center"]
247
- ask_archives: ["Ask at NYU Archives"]
248
- ask_tam: ["Ask at Tamiment"]
249
- ask_fales: ["Ask at Fales"]
250
- ask_reference: ["Ask at Reference"]
251
- on_exhibit: ["On Exhibit"]
252
- #new_books: ["New Books Display", "New Books Display"]
253
- #sorting: ["Sorting Shelves", "Sorting Shelves", "Sorting Shelves"]
254
- #bound: "Bound"
255
- #order_initiated: "Order initiated"
256
- requestable_statuses: ["checked_out", "offsite", available_requestable, "Depository", "Offsite Available"]
257
- requestable_collections: ["checked_out", "offsite", available_requestable, "Depository", "Offsite Available"]
258
- COURSES:
259
- base_url: "http://alephstage.library.nyu.edu"
260
- rest_url: "http://alephstage.library.nyu.edu:1891/rest-dlf"
261
- illiad_url: "http://illdev.library.nyu.edu"
262
- type: aleph
263
- class_name: NYUAleph
264
- local_base: "PRIMOCOMMON"
265
- ADCOURSES:
266
- base_url: "http://alephstage.library.nyu.edu"
267
- rest_url: "http://alephstage.library.nyu.edu:1891/rest-dlf"
268
- illiad_url: "http://illdev.library.nyu.edu"
269
- type: aleph
270
- class_name: NYUAleph
271
- local_base: "PRIMOCOMMON"
@@ -1,947 +0,0 @@
1
- require 'test_helper'
2
- class PrimoServiceTest < ActiveSupport::TestCase
3
-
4
- nyu_only_tests(self.name) do
5
-
6
- fixtures :requests, :referents, :referent_values, :sfx_urls
7
- def setup
8
- @primo_definition = YAML.load( %{
9
- type: PrimoService
10
- priority: 2 # After SFX, to get SFX metadata enhancement
11
- status: active
12
- base_url: http://bobcat.library.nyu.edu
13
- vid: NYU
14
- institution: NYU
15
- holding_search_institution: NYU
16
- holding_search_text: Search for this title in BobCat.
17
- suppress_holdings: [ !ruby/regexp '/\$\$LBWEB/', !ruby/regexp '/\$\$LNWEB/', !ruby/regexp '/\$\$LTWEB/', !ruby/regexp '/\$\$LWEB/', !ruby/regexp '/\$\$1Restricted Internet Resources/' ]
18
- ez_proxy: !ruby/regexp '/https\:\/\/ezproxy\.library\.nyu\.edu\/login\?url=/'
19
- service_types:
20
- - primo_source
21
- - holding_search
22
- - fulltext
23
- - table_of_contents
24
- - referent_enhance
25
- - cover_image
26
- })
27
-
28
- @base_url = @primo_definition["base_url"]
29
- @vid = @primo_definition["vid"]
30
- @institution = @primo_definition["institution"]
31
-
32
- @primo_default = ServiceStore.instantiate_service!(
33
- YAML.load(%{
34
- type: PrimoService
35
- service_id: NYUPrimo
36
- priority: 2 # After SFX, to get SFX metadata enhancement
37
- status: active
38
- base_url: http://bobcat.library.nyu.edu
39
- vid: NYU
40
- institution: NYU
41
- holding_search_institution: NYU
42
- holding_search_text: Search for this title in BobCat.
43
- suppress_holdings: [ !ruby/regexp '/\$\$LBWEB/', !ruby/regexp '/\$\$LNWEB/', !ruby/regexp '/\$\$LTWEB/', !ruby/regexp '/\$\$LWEB/', !ruby/regexp '/\$\$1Restricted Internet Resources/' ]
44
- ez_proxy: !ruby/regexp '/https\:\/\/ezproxy\.library\.nyu\.edu\/login\?url=/'
45
- service_types:
46
- - holding
47
- - holding_search
48
- - fulltext
49
- - table_of_contents
50
- - referent_enhance
51
- - cover_image
52
- }), nil)
53
-
54
- @primo_tns = ServiceStore.instantiate_service!(
55
- YAML.load(%{
56
- type: PrimoService
57
- priority: 2 # After SFX, to get SFX metadata enhancement
58
- status: active
59
- base_url: http://bobcat.library.nyu.edu
60
- vid: NS
61
- institution: NS
62
- holding_search_institution: NS
63
- holding_search_text: Search for this title in BobCat.
64
- suppress_holdings: [ !ruby/regexp '/\$\$LBWEB/', !ruby/regexp '/\$\$LNWEB/', !ruby/regexp '/\$\$LTWEB/', !ruby/regexp '/\$\$LWEB/', !ruby/regexp '/\$\$1Restricted Internet Resources/' ]
65
- ez_proxy: !ruby/regexp '/https\:\/\/ezproxy\.library\.nyu\.edu\/login\?url=/'
66
- primo_config: tns_primo.yml
67
- service_types:
68
- - primo_source
69
- - holding_search
70
- - fulltext
71
- - table_of_contents
72
- - referent_enhance
73
- - cover_image
74
- }), nil)
75
-
76
-
77
-
78
- @holding_search_institution =
79
- @primo_minimum = PrimoService.new({
80
- "priority"=>1, "service_id" => "Primo",
81
- "base_url" => @base_url, "vid" => @vid, "institution" => @institution,
82
- "holding_search_institution" => @primo_definition["holding_search_institution"] })
83
- @primo_old_minimum = PrimoService.new({
84
- "priority"=>1, "service_id" => "Primo",
85
- "base_path" => @base_url, "base_view_id" => @vid, "institution" => @institution })
86
- @primo_minimum_no_config = PrimoService.new({
87
- "priority"=>1, "service_id" => "Primo",
88
- "base_url" => @base_url, "vid" => @vid, "institution" => @institution,
89
- "holding_search_institution" => @primo_definition["holding_search_institution"],
90
- "primo_config" => "missing_config.yml" })
91
- end
92
-
93
- def test_primo_service_benchmarks
94
- request = requests(:primo_id_request)
95
- Benchmark.bmbm do |results|
96
- results.report("PrimoService Minimum Config:") {
97
- (1..10).each {
98
- @primo_minimum.handle(request)
99
- }
100
- }
101
- results.report("PrimoService Default Config:") {
102
- (1..10).each {
103
- @primo_default.handle(request)
104
- }
105
- }
106
- end
107
- end
108
- #
109
- # def test_to_primo_source_benchmarks
110
- # request = requests(:primo_id_request)
111
- # @primo_default.handle(request)
112
- # service_type = request.get_service_type('primo_source', {}).first
113
- # Benchmark.bmbm do |results|
114
- # results.report("PrimoService :to_primo_source via view data - NYUAleph:") {
115
- # (1..10).each {
116
- # service_type.view_data
117
- # }
118
- # }
119
- # service_response = service_type.service_response
120
- # results.report("PrimoService :to_primo_source - NYUAleph:") {
121
- # (1..10).each {
122
- # @primo_default.to_primo_source(service_response)
123
- # }
124
- # }
125
- # end
126
- # end
127
- #
128
- # def test_primo_source_benchmarks
129
- # request = requests(:primo_id_request)
130
- # @primo_default.handle(request)
131
- # primo_source = ServiceList.instance.instantiate!("NYU_Primo_Source", nil)
132
- # Benchmark.bmbm do |results|
133
- # results.report("PrimoSource - NYUAleph:") {
134
- # (1..10).each {
135
- # primo_source.handle(request)
136
- # }
137
- # }
138
- # end
139
- # end
140
- #
141
- # def test_source_expand_benchmarks
142
- # request = requests(:primo_id_request)
143
- # @primo_default.handle(request)
144
- # primo_source = request.get_service_type('primo_source', {}).first.view_data
145
- # Benchmark.bmbm do |results|
146
- # results.report("PrimoSource :expand - NYUAleph:") {
147
- # (1..10).each {
148
- # primo_source.expand
149
- # }
150
- # }
151
- # end
152
- # end
153
-
154
- def test_primo_service_minimum
155
- request = requests(:primo_id_request)
156
- @primo_minimum.handle(request)
157
- request.referent.referent_values.reset
158
- request.dispatched_services.reset
159
- request.service_responses.reset
160
- test_data = {
161
- "aulast" => "Greene",
162
- "aufirst" => "Graham,",
163
- "au" => "Greene, Graham, 1904-1991",
164
- "title" => "Travels with my aunt",
165
- "btitle" => "Travels with my aunt",
166
- "place" => "New York",
167
- "pub" => "Penguin Books",
168
- "oclcnum" => "56781200",
169
- "lccn" => "2004559272"
170
- }
171
- test_data.each { |key, value|
172
- assert_equal(
173
- value,
174
- request.referent.metadata[key],
175
- "#{key} different than expected.")
176
- }
177
- holdings = request.get_service_type('holding')
178
- assert_equal(
179
- 1, holdings.length)
180
- test_data = {
181
- :record_id => "nyu_aleph000062856",
182
- :source_id => "nyu_aleph",
183
- :original_source_id => "NYU01",
184
- :source_record_id => "000062856",
185
- :institution_code => "NYU",
186
- :institution => "NYU",
187
- :library_code => "BOBST",
188
- :library => "NYU Bobst",
189
- :status_code => "check_holdings",
190
- :status => "Check Availability",
191
- :id_one => "Main Collection",
192
- :id_two => "(PR6013.R44 T7 2004 )",
193
- :collection => "Main Collection",
194
- :call_number => "(PR6013.R44 T7 2004 )",
195
- :origin => nil,
196
- :display_type => "book",
197
- :coverage => [],
198
- :notes => "",
199
- :url => "#{@base_url}/primo_library/libweb/action/dlDisplay.do?docId=nyu_aleph000062856&institution=NYU&vid=#{@vid}",
200
- :request_url => nil,
201
- :match_reliability => ServiceResponse::MatchExact,
202
- :request_link_supports_ajax_call => false }
203
- test_data.each { |key, value|
204
- assert_equal(
205
- value,
206
- holdings.first.view_data[key],
207
- "#{key} different than expected.")
208
- }
209
- end
210
-
211
- def test_primo_service_minimum_no_config
212
- request = requests(:primo_id_request)
213
- @primo_minimum_no_config.handle(request)
214
- request.referent.referent_values.reset
215
- request.dispatched_services.reset
216
- request.service_responses.reset
217
- test_data = {
218
- "aulast" => "Greene",
219
- "aufirst" => "Graham,",
220
- "au" => "Greene, Graham, 1904-1991",
221
- "title" => "Travels with my aunt",
222
- "btitle" => "Travels with my aunt",
223
- "place" => "New York",
224
- "pub" => "Penguin Books",
225
- "oclcnum" => "56781200",
226
- "lccn" => "2004559272"
227
- }
228
- test_data.each { |key, value|
229
- assert_equal(
230
- value,
231
- request.referent.metadata[key],
232
- "#{key} different than expected.")
233
- }
234
- holdings = request.get_service_type('holding')
235
- assert_equal(
236
- 1, holdings.length)
237
- test_data = {
238
- :record_id => "nyu_aleph000062856",
239
- :source_id => "nyu_aleph",
240
- :original_source_id => "NYU01",
241
- :source_record_id => "000062856",
242
- :institution_code => "NYU",
243
- :institution => "NYU",
244
- :library_code => "BOBST",
245
- :library => "BOBST",
246
- :status_code => "check_holdings",
247
- :status => "check_holdings",
248
- :id_one => "Main Collection",
249
- :id_two => "(PR6013.R44 T7 2004 )",
250
- :collection => "Main Collection",
251
- :call_number => "(PR6013.R44 T7 2004 )",
252
- :origin => nil,
253
- :display_type => "book",
254
- :coverage => [],
255
- :notes => "",
256
- :url => "#{@base_url}/primo_library/libweb/action/dlDisplay.do?docId=nyu_aleph000062856&institution=NYU&vid=#{@vid}",
257
- :request_url => nil,
258
- :match_reliability => ServiceResponse::MatchExact,
259
- :request_link_supports_ajax_call => false }
260
- test_data.each { |key, value|
261
- assert_equal(
262
- value,
263
- holdings.first.view_data[key],
264
- "#{key} different than expected.")
265
- }
266
- end
267
-
268
- def test_primo_service_legacy_settings_minimum
269
- request = requests(:primo_id_request)
270
- @primo_old_minimum.handle(request)
271
- request.referent.referent_values.reset
272
- request.dispatched_services.reset
273
- request.service_responses.reset
274
- test_data = {
275
- "aulast" => "Greene",
276
- "aufirst" => "Graham,",
277
- "au" => "Greene, Graham, 1904-1991",
278
- "title" => "Travels with my aunt",
279
- "btitle" => "Travels with my aunt",
280
- "place" => "New York",
281
- "pub" => "Penguin Books",
282
- "oclcnum" => "56781200",
283
- "lccn" => "2004559272"
284
- }
285
- test_data.each { |key, value|
286
- assert_equal(
287
- value,
288
- request.referent.metadata[key],
289
- "#{key} different than expected.")
290
- }
291
- holdings = request.get_service_type('holding')
292
- assert_equal(
293
- 1, holdings.length)
294
- test_data = {
295
- :record_id => "nyu_aleph000062856",
296
- :source_id => "nyu_aleph",
297
- :original_source_id => "NYU01",
298
- :source_record_id => "000062856",
299
- :institution_code => "NYU",
300
- :institution => "NYU",
301
- :library_code => "BOBST",
302
- :library => "NYU Bobst",
303
- :status_code => "check_holdings",
304
- :status => "Check Availability",
305
- :id_one => "Main Collection",
306
- :id_two => "(PR6013.R44 T7 2004 )",
307
- :collection => "Main Collection",
308
- :call_number => "(PR6013.R44 T7 2004 )",
309
- :origin => nil,
310
- :display_type => "book",
311
- :coverage => [],
312
- :notes => "",
313
- :url => "#{@base_url}/primo_library/libweb/action/dlDisplay.do?docId=nyu_aleph000062856&institution=NYU&vid=#{@vid}",
314
- :request_url => nil,
315
- :match_reliability => ServiceResponse::MatchExact,
316
- :request_link_supports_ajax_call => false }
317
- test_data.each { |key, value|
318
- assert_equal(
319
- value,
320
- holdings.first.view_data[key],
321
- "#{key} different than expected.")
322
- }
323
- end
324
-
325
- # def test_available_nyu_aleph
326
- # # Available
327
- # request = requests(:primo_id_request)
328
- # @primo_default.handle(request)
329
- # request.dispatched_services.reset
330
- # request.service_types.reset
331
- # primo_sources = request.get_service_type('primo_source')
332
- # assert_equal(
333
- # 1, primo_sources.length)
334
- # primo_source = ServiceList.instance.instantiate!("NYU_Primo_Source", nil)
335
- # primo_source.handle(request)
336
- # request.dispatched_services.reset
337
- # request.service_types.reset
338
- # holdings = request.get_service_type('holding')
339
- # assert_equal(
340
- # 1, holdings.length)
341
- # test_data = {
342
- # :record_id => "nyu_aleph000062856",
343
- # :source_id => "nyu_aleph",
344
- # :original_source_id => "NYU01",
345
- # :source_record_id => "000062856",
346
- # :institution_code => "NYU",
347
- # :institution => "NYU",
348
- # :library_code => "BOBST",
349
- # :library => "NYU Bobst",
350
- # :status_code => "available",
351
- # :status => "Available",
352
- # :id_one => "Main Collection",
353
- # :id_two => "(PR6013.R44 T7 2004)",
354
- # :collection => "Main Collection",
355
- # :call_number => "(PR6013.R44 T7 2004)",
356
- # :origin => nil,
357
- # :display_type => "book",
358
- # :coverage => [],
359
- # :notes => "",
360
- # :url => "http://alephstage.library.nyu.edu/F?func=item-global&doc_library=NYU01&local_base=PRIMOCOMMON&doc_number=000062856&sub_library=BOBST",
361
- # :request_url => "http://alephstage.library.nyu.edu/F?func=item-global&doc_library=NYU01&local_base=PRIMOCOMMON&doc_number=000062856&sub_library=BOBST",
362
- # :match_reliability => ServiceResponse::MatchExact,
363
- # :request_link_supports_ajax_call => true }
364
- # test_data.each { |key, value|
365
- # assert_equal(
366
- # value,
367
- # holdings.first.view_data[key],
368
- # "#{key} different than expected.")
369
- # }
370
- # source_data = {
371
- # :aleph_doc_library => "NYU01",
372
- # :aleph_sub_library => "NYU Bobst",
373
- # :aleph_sub_library_code => "BOBST",
374
- # :aleph_collection => "Main Collection",
375
- # :aleph_call_number => "(PR6013.R44 T7 2004)",
376
- # :aleph_doc_number => "000062856",
377
- # :aleph_url => "http://alephstage.library.nyu.edu",
378
- # :illiad_url => "http://illiaddev.library.nyu.edu",
379
- # :aleph_sub_library_code => "BOBST",
380
- # :aleph_item_id => "NYU50000062856000010",
381
- # :aleph_item_adm_library => "NYU50",
382
- # :aleph_item_sub_library_code => "BOBST",
383
- # :aleph_item_collection_code => "MAIN",
384
- # :aleph_item_doc_number => "000062856",
385
- # :aleph_item_sequence_number => "1.0",
386
- # :aleph_item_barcode => "31142041146104",
387
- # :aleph_item_status_code => "01",
388
- # :aleph_item_process_status_code => nil,
389
- # :aleph_item_circulation_status => "On Shelf",
390
- # :aleph_item_location => "PR6013.R44&nbsp;T7 2004",
391
- # :aleph_item_description => nil,
392
- # :aleph_item_hol_doc_number => "002992203"
393
- # }
394
- # source_data.each { |key, value|
395
- # assert_equal(
396
- # value,
397
- # holdings.first.view_data[:source_data][key],
398
- # "#{key} different than expected.")
399
- # }
400
- # end
401
- #
402
- # def test_available_tns_aleph
403
- # # Available
404
- # request = requests(:primo_id_request)
405
- # @primo_tns.handle(request)
406
- # request.dispatched_services.reset
407
- # request.service_types.reset
408
- # primo_sources = request.get_service_type('primo_source')
409
- # assert_equal(
410
- # 1, primo_sources.length)
411
- # primo_source = ServiceList.instance.instantiate!("NYU_Primo_Source", nil)
412
- # primo_source.handle(request)
413
- # request.dispatched_services.reset
414
- # request.service_types.reset
415
- # holdings = request.get_service_type('holding')
416
- # assert_equal(
417
- # 1, holdings.length)
418
- # test_data = {
419
- # :record_id => "nyu_aleph000062856",
420
- # :source_id => "nyu_aleph",
421
- # :original_source_id => "NYU01",
422
- # :source_record_id => "000062856",
423
- # :institution_code => "NYU",
424
- # :institution => "NYU",
425
- # :library_code => "BOBST",
426
- # :library => "NYU Bobst",
427
- # :status_code => "available",
428
- # :status => "Available",
429
- # :id_one => "Main Collection",
430
- # :id_two => "(PR6013.R44 T7 2004)",
431
- # :collection => "Main Collection",
432
- # :call_number => "(PR6013.R44 T7 2004)",
433
- # :origin => nil,
434
- # :display_type => "book",
435
- # :coverage => [],
436
- # :notes => "",
437
- # :url => "http://alephstage.library.nyu.edu/F?func=item-global&doc_library=NYU01&local_base=PRIMOCOMMON&doc_number=000062856&sub_library=BOBST",
438
- # :request_url => nil,
439
- # :match_reliability => ServiceResponse::MatchExact,
440
- # :request_link_supports_ajax_call => true }
441
- # test_data.each { |key, value|
442
- # assert_equal(
443
- # value,
444
- # holdings.first.view_data[key],
445
- # "#{key} different than expected.")
446
- # }
447
- # source_data = {
448
- # :aleph_doc_library => "NYU01",
449
- # :aleph_sub_library => "NYU Bobst",
450
- # :aleph_sub_library_code => "BOBST",
451
- # :aleph_collection => "Main Collection",
452
- # :aleph_call_number => "(PR6013.R44 T7 2004)",
453
- # :aleph_doc_number => "000062856",
454
- # :aleph_url => "http://alephstage.library.nyu.edu",
455
- # :illiad_url => "http://illiaddev.library.nyu.edu",
456
- # :aleph_sub_library_code => "BOBST",
457
- # :aleph_item_id => "NYU50000062856000010",
458
- # :aleph_item_adm_library => "NYU50",
459
- # :aleph_item_sub_library_code => "BOBST",
460
- # :aleph_item_collection_code => "MAIN",
461
- # :aleph_item_doc_number => "000062856",
462
- # :aleph_item_sequence_number => "1.0",
463
- # :aleph_item_barcode => "31142041146104",
464
- # :aleph_item_status_code => "01",
465
- # :aleph_item_process_status_code => nil,
466
- # :aleph_item_circulation_status => "On Shelf",
467
- # :aleph_item_location => "PR6013.R44&nbsp;T7 2004",
468
- # :aleph_item_description => nil,
469
- # :aleph_item_hol_doc_number => "002992203"
470
- # }
471
- # source_data.each { |key, value|
472
- # assert_equal(
473
- # value,
474
- # holdings.first.view_data[:source_data][key],
475
- # "#{key} different than expected.")
476
- # }
477
- # end
478
- #
479
- # def test_checked_out_nyu_aleph
480
- # request = requests(:primo_checked_out_request)
481
- # @primo_default.handle(request)
482
- # request.referent.referent_values.reset
483
- # request.dispatched_services.reset
484
- # request.service_types.reset
485
- # primo_sources = request.get_service_type('primo_source')
486
- # assert_equal(
487
- # 1, primo_sources.length)
488
- # primo_source = ServiceList.instance.instantiate!("NYU_Primo_Source", nil)
489
- # primo_source.handle(request)
490
- # request.dispatched_services.reset
491
- # request.service_types.reset
492
- # holdings = request.get_service_type('holding')
493
- # assert_equal(
494
- # 1, holdings.length)
495
- # test_data = {
496
- # :record_id => "nyu_aleph000742457",
497
- # :source_id => "nyu_aleph",
498
- # :original_source_id => "NYU01",
499
- # :source_record_id => "000742457",
500
- # :institution_code => "NYU",
501
- # :institution => "NYU",
502
- # :library_code => "BOBST",
503
- # :library => "NYU Bobst",
504
- # :status_code => "checked_out",
505
- # :status => "Due: 08/25/11",
506
- # :id_one => "Main Collection",
507
- # :id_two => "(DR557 .J86 2001)",
508
- # :collection => "Main Collection",
509
- # :call_number => "(DR557 .J86 2001)",
510
- # :origin => nil,
511
- # :display_type => "book",
512
- # :coverage => [],
513
- # :notes => "",
514
- # :url => "http://alephstage.library.nyu.edu/F?func=item-global&doc_library=NYU01&local_base=PRIMOCOMMON&doc_number=000742457&sub_library=BOBST",
515
- # :request_url => "http://alephstage.library.nyu.edu/F?func=item-global&doc_library=NYU01&local_base=PRIMOCOMMON&doc_number=000742457&sub_library=BOBST",
516
- # :match_reliability => ServiceResponse::MatchExact,
517
- # :request_link_supports_ajax_call => true }
518
- # test_data.each { |key, value|
519
- # assert_equal(
520
- # value,
521
- # holdings.first.view_data[key],
522
- # "#{key} different than expected.")
523
- # }
524
- # source_data = {
525
- # :aleph_doc_library => "NYU01",
526
- # :aleph_sub_library => "NYU Bobst",
527
- # :aleph_sub_library_code => "BOBST",
528
- # :aleph_collection => "Main Collection",
529
- # :aleph_call_number => "(DR557 .J86 2001)",
530
- # :aleph_doc_number => "000742457",
531
- # :aleph_url => "http://alephstage.library.nyu.edu",
532
- # :illiad_url => "http://illiaddev.library.nyu.edu",
533
- # :aleph_sub_library_code => "BOBST",
534
- # :aleph_item_id => "NYU50000742457000010",
535
- # :aleph_item_adm_library => "NYU50",
536
- # :aleph_item_sub_library_code => "BOBST",
537
- # :aleph_item_collection_code => "MAIN",
538
- # :aleph_item_doc_number => "000742457",
539
- # :aleph_item_sequence_number => "1.0",
540
- # :aleph_item_barcode => "31142031951646",
541
- # :aleph_item_status_code => "01",
542
- # :aleph_item_process_status_code => nil,
543
- # :aleph_item_circulation_status => "08/25/11",
544
- # :aleph_item_location => "DR557&nbsp;.J86 2001",
545
- # :aleph_item_description => nil,
546
- # :aleph_item_hol_doc_number => "002815266"
547
- # }
548
- # source_data.each { |key, value|
549
- # assert_equal(
550
- # value,
551
- # holdings.first.view_data[:source_data][key],
552
- # "#{key} different than expected.")
553
- # }
554
- # end
555
- #
556
- # def test_in_process_nyu_aleph
557
- # request = requests(:primo_bobst_in_processing_request)
558
- # @primo_default.handle(request)
559
- # request.referent.referent_values.reset
560
- # request.dispatched_services.reset
561
- # request.service_types.reset
562
- # primo_sources = request.get_service_type('primo_source')
563
- # assert_equal(
564
- # 1, primo_sources.length)
565
- # primo_source = ServiceList.instance.instantiate!("NYU_Primo_Source", nil)
566
- # primo_source.handle(request)
567
- # request.dispatched_services.reset
568
- # request.service_types.reset
569
- # holdings = request.get_service_type('holding')
570
- # assert_equal(
571
- # 1, holdings.length)
572
- # test_data = {
573
- # :record_id => "nyu_aleph002723601",
574
- # :source_id => "nyu_aleph",
575
- # :original_source_id => "NYU01",
576
- # :source_record_id => "002723601",
577
- # :institution_code => "NYU",
578
- # :institution => "NYU",
579
- # :library_code => "BOBST",
580
- # :library => "NYU Bobst",
581
- # :status_code => "overridden_by_nyu_aleph",
582
- # :status => "In Processing",
583
- # :id_one => "Main Collection",
584
- # :id_two => "(PN691 .B78 1983)",
585
- # :collection => "Main Collection",
586
- # :call_number => "(PN691 .B78 1983)",
587
- # :origin => nil,
588
- # :display_type => "book",
589
- # :coverage => [],
590
- # :notes => "",
591
- # :url => "http://alephstage.library.nyu.edu/F?func=item-global&doc_library=NYU01&local_base=PRIMOCOMMON&doc_number=002723601&sub_library=BOBST",
592
- # :request_url => "http://alephstage.library.nyu.edu/F?func=item-global&doc_library=NYU01&local_base=PRIMOCOMMON&doc_number=002723601&sub_library=BOBST",
593
- # :match_reliability => ServiceResponse::MatchExact,
594
- # :request_link_supports_ajax_call => true }
595
- # test_data.each { |key, value|
596
- # assert_equal(
597
- # value,
598
- # holdings.first.view_data[key],
599
- # "#{key} different than expected.")
600
- # }
601
- # source_data = {
602
- # :aleph_doc_library => "NYU01",
603
- # :aleph_sub_library => "NYU Bobst",
604
- # :aleph_sub_library_code => "BOBST",
605
- # :aleph_collection => "Main Collection",
606
- # :aleph_call_number => "(PN691 .B78 1983)",
607
- # :aleph_doc_number => "002723601",
608
- # :aleph_url => "http://alephstage.library.nyu.edu",
609
- # :illiad_url => "http://illiaddev.library.nyu.edu",
610
- # :aleph_sub_library_code => "BOBST",
611
- # :aleph_item_id => "NYU50002723601000010",
612
- # :aleph_item_adm_library => "NYU50",
613
- # :aleph_item_sub_library_code => "BOBST",
614
- # :aleph_item_collection_code => "MAIN",
615
- # :aleph_item_doc_number => "002723601",
616
- # :aleph_item_sequence_number => "1.0",
617
- # :aleph_item_barcode => "31142011075952",
618
- # :aleph_item_status_code => "01",
619
- # :aleph_item_process_status_code => "BD",
620
- # :aleph_item_circulation_status => "At Bindery",
621
- # :aleph_item_location => "PN691&nbsp;.B78 1983",
622
- # :aleph_item_description => nil,
623
- # :aleph_item_hol_doc_number => "000631538"
624
- # }
625
- # source_data.each { |key, value|
626
- # assert_equal(
627
- # value,
628
- # holdings.first.view_data[:source_data][key],
629
- # "#{key} different than expected.")
630
- # }
631
- # end
632
- #
633
- # def test_journal1_nyu_aleph
634
- # request = requests(:primo_journal1_request)
635
- # @primo_default.handle(request)
636
- # request.referent.referent_values.reset
637
- # request.dispatched_services.reset
638
- # request.service_types.reset
639
- # primo_sources = request.get_service_type('primo_source')
640
- # assert_equal(
641
- # 4, primo_sources.length)
642
- # primo_source = ServiceList.instance.instantiate!("NYU_Primo_Source", nil)
643
- # primo_source.handle(request)
644
- # request.dispatched_services.reset
645
- # request.service_types.reset
646
- # holdings = request.get_service_type('holding')
647
- # assert_equal(
648
- # 4, holdings.length)
649
- # test_data = {
650
- # :record_id => "nyu_aleph002895625",
651
- # :source_id => "nyu_aleph",
652
- # :original_source_id => "NYU01",
653
- # :source_record_id => "002895625",
654
- # :institution_code => "NYU",
655
- # :institution => "NYU",
656
- # :library_code => "BOBST",
657
- # :library => "NYU Bobst",
658
- # :status_code => "check_holdings",
659
- # :status => "Check Availability",
660
- # :id_one => "Main Collection",
661
- # :id_two => "(ML1 .M819 )",
662
- # :collection => "Main Collection",
663
- # :call_number => "(ML1 .M819 )",
664
- # :origin => nil,
665
- # :display_type => "journal",
666
- # :coverage => ["Available in Main Collection: VOLUMES: 1-89 (YEARS: 1915-2006)"],
667
- # :notes => "",
668
- # :url => "http://alephstage.library.nyu.edu/F?func=item-global&doc_library=NYU01&local_base=PRIMOCOMMON&doc_number=002895625&sub_library=BOBST",
669
- # :request_url => nil,
670
- # :match_reliability => ServiceResponse::MatchExact,
671
- # :request_link_supports_ajax_call => false }
672
- # test_data.each { |key, value|
673
- # assert_equal(
674
- # value,
675
- # holdings.first.view_data[key],
676
- # "#{key} different than expected.")
677
- # }
678
- # source_data = {
679
- # :aleph_doc_library => "NYU01",
680
- # :aleph_sub_library => "NYU Bobst",
681
- # :aleph_sub_library_code => "BOBST",
682
- # :aleph_collection => "Main Collection",
683
- # :aleph_call_number => "(ML1 .M819 )",
684
- # :aleph_doc_number => "002895625",
685
- # :aleph_sub_library_code => "BOBST"
686
- # }
687
- # source_data.each { |key, value|
688
- # assert_equal(
689
- # value,
690
- # holdings.first.view_data[:source_data][key],
691
- # "#{key} different than expected.")
692
- # }
693
- # end
694
- #
695
- # def test_journal1_tns_aleph
696
- # request = requests(:primo_journal1_request)
697
- # @primo_tns.handle(request)
698
- # request.referent.referent_values.reset
699
- # request.dispatched_services.reset
700
- # request.service_types.reset
701
- # primo_sources = request.get_service_type('primo_source')
702
- # assert_equal(
703
- # 4, primo_sources.length)
704
- # primo_source = ServiceList.instance.instantiate!("NYU_Primo_Source", nil)
705
- # primo_source.handle(request)
706
- # request.dispatched_services.reset
707
- # request.service_types.reset
708
- # holdings = request.get_service_type('holding')
709
- # assert_equal(
710
- # 4, holdings.length)
711
- # test_data = {
712
- # :record_id => "nyu_aleph002895625",
713
- # :source_id => "nyu_aleph",
714
- # :original_source_id => "NYU01",
715
- # :source_record_id => "002895625",
716
- # :institution_code => "NYU",
717
- # :institution => "NYU",
718
- # :library_code => "BOBST",
719
- # :library => "NYU Bobst",
720
- # :status_code => "check_holdings",
721
- # :status => "Check Availability",
722
- # :id_one => "Main Collection",
723
- # :id_two => "(ML1 .M819 )",
724
- # :collection => "Main Collection",
725
- # :call_number => "(ML1 .M819 )",
726
- # :origin => nil,
727
- # :display_type => "journal",
728
- # :coverage => ["Available in Main Collection: VOLUMES: 1-89 (YEARS: 1915-2006)"],
729
- # :notes => "",
730
- # :url => "http://alephstage.library.nyu.edu/F?func=item-global&doc_library=NYU01&local_base=PRIMOCOMMON&doc_number=002895625&sub_library=BOBST",
731
- # :request_url => nil,
732
- # :match_reliability => ServiceResponse::MatchExact,
733
- # :request_link_supports_ajax_call => false }
734
- # test_data.each { |key, value|
735
- # assert_equal(
736
- # value,
737
- # holdings.first.view_data[key],
738
- # "#{key} different than expected.")
739
- # }
740
- # source_data = {
741
- # :aleph_doc_library => "NYU01",
742
- # :aleph_sub_library => "NYU Bobst",
743
- # :aleph_sub_library_code => "BOBST",
744
- # :aleph_collection => "Main Collection",
745
- # :aleph_call_number => "(ML1 .M819 )",
746
- # :aleph_doc_number => "002895625",
747
- # :aleph_sub_library_code => "BOBST"
748
- # }
749
- # source_data.each { |key, value|
750
- # assert_equal(
751
- # value,
752
- # holdings.first.view_data[:source_data][key],
753
- # "#{key} different than expected.")
754
- # }
755
- # end
756
- #
757
- # def test_journal2_nyu_aleph
758
- # # Journal 2
759
- # request = requests(:primo_journal2_request)
760
- # @primo_default.handle(request)
761
- # request.referent.referent_values.reset
762
- # request.dispatched_services.reset
763
- # request.service_types.reset
764
- # # record_id = request.referent.metadata["primo"]
765
- # assert_equal("Macomb", request.referent.metadata["place"]);
766
- # assert_equal("Center for Business and Economic Research, Western Illinois University]", request.referent.metadata["pub"]);
767
- # primo_sources = request.get_service_type('primo_source')
768
- # assert(1 <= primo_sources.length)
769
- # primo_source = ServiceList.instance.instantiate!("NYU_Primo_Source", nil)
770
- # primo_source.handle(request)
771
- # request.dispatched_services.reset
772
- # request.service_types.reset
773
- # holdings = request.get_service_type('holding')
774
- # assert(1 <= holdings.length)
775
- # assert_equal(primo_sources.length, holdings.length)
776
- # assert_equal("NYU", holdings.first.view_data[:institution])
777
- # assert_equal("NYU Bobst", holdings.first.view_data[:library])
778
- # assert_equal("Main Collection", holdings.first.view_data[:id_one])
779
- # assert_equal("http://alephstage.library.nyu.edu/F?func=item-global&doc_library=NYU01&local_base=PRIMOCOMMON&doc_number=002736245&sub_library=BOBST", holdings.first.view_data[:url])
780
- # assert_equal("(HB1 .J55 )", holdings.first.view_data[:id_two])
781
- # assert_equal("Check Availability", holdings.first.view_data[:status])
782
- # end
783
- #
784
- # def test_journal3_nyu_aleph
785
- # # Journal 3
786
- # request = requests(:primo_journal3_request)
787
- # @primo_default.handle(request)
788
- # request.referent.referent_values.reset
789
- # request.dispatched_services.reset
790
- # request.service_types.reset
791
- # # record_id = request.referent.metadata["primo"]
792
- # assert_equal("Sydney", request.referent.metadata["place"]);
793
- # assert_equal("Association for the Journal of Religious History]", request.referent.metadata["pub"]);
794
- # primo_sources = request.get_service_type('primo_source')
795
- # assert_equal(0, primo_sources.length)
796
- # primo_source = ServiceList.instance.instantiate!("NYU_Primo_Source", nil)
797
- # primo_source.handle(request)
798
- # request.dispatched_services.reset
799
- # request.service_types.reset
800
- # holdings = request.get_service_type('holding')
801
- # assert_equal(0, holdings.length)
802
- # assert_equal(primo_sources.length, holdings.length)
803
- # end
804
- #
805
- # def test_journal4_nyu_aleph
806
- # # Journal 4
807
- # request = requests(:primo_journal4_request)
808
- # @primo_default.handle(request)
809
- # request.referent.referent_values.reset
810
- # request.dispatched_services.reset
811
- # request.service_types.reset
812
- # # record_id = request.referent.metadata["primo"]
813
- # assert_equal("Waltham, MA", request.referent.metadata["place"]);
814
- # assert_equal("Published for the Board by the Massachusetts Medical Society", request.referent.metadata["pub"]);
815
- # primo_sources = request.get_service_type('primo_source')
816
- # assert_equal(0, primo_sources.length)
817
- # primo_source = ServiceList.instance.instantiate!("NYU_Primo_Source", nil)
818
- # primo_source.handle(request)
819
- # request.dispatched_services.reset
820
- # request.service_types.reset
821
- # holdings = request.get_service_type('holding')
822
- # assert_equal(0, holdings.length)
823
- # assert_equal(primo_sources.length, holdings.length)
824
- # end
825
- #
826
- # def test_journal5_nyu_aleph
827
- # request = requests(:primo_journal5_request)
828
- # @primo_default.handle(request)
829
- # request.referent.referent_values.reset
830
- # request.dispatched_services.reset
831
- # request.service_types.reset
832
- # # record_id = request.referent.metadata["primo"]
833
- # primo_sources = request.get_service_type('primo_source')
834
- # assert_equal(1, primo_sources.length)
835
- # primo_source = ServiceList.instance.instantiate!("NYU_Primo_Source", nil)
836
- # primo_source.handle(request)
837
- # request.dispatched_services.reset
838
- # request.service_types.reset
839
- # holdings = request.get_service_type('holding')
840
- # assert_equal(1, holdings.length)
841
- # assert_equal(primo_sources.length, holdings.length)
842
- # end
843
- #
844
- # def test_bobst_genre_discrepancy
845
- # request = requests(:primo_bobst_problem1_request)
846
- # @primo_default.handle(request)
847
- # request.dispatched_services.reset
848
- # request.service_types.reset
849
- # primo_sources = request.get_service_type('primo_source')
850
- # assert_equal(
851
- # 1, primo_sources.length)
852
- # primo_source = ServiceList.instance.instantiate!("NYU_Primo_Source", nil)
853
- # primo_source.handle(request)
854
- # request.dispatched_services.reset
855
- # request.service_types.reset
856
- # holdings = request.get_service_type('holding')
857
- # assert_equal(
858
- # 1, holdings.length)
859
- # test_data = {
860
- # :record_id => "nyu_aleph000509288",
861
- # :source_id => "nyu_aleph",
862
- # :original_source_id => "NYU01",
863
- # :source_record_id => "000509288",
864
- # :institution_code => "NYU",
865
- # :institution => "NYU",
866
- # :library_code => "BOBST",
867
- # :library => "NYU Bobst",
868
- # :status_code => "available",
869
- # :status => "Available",
870
- # :id_one => "Main Collection",
871
- # :id_two => "(ML410.J33 M47 2005a)",
872
- # :collection => "Main Collection",
873
- # :call_number => "(ML410.J33 M47 2005a)",
874
- # :origin => nil,
875
- # :display_type => "book",
876
- # :coverage => [],
877
- # :notes => "",
878
- # :url => "http://alephstage.library.nyu.edu/F?func=item-global&doc_library=NYU01&local_base=PRIMOCOMMON&doc_number=000509288&sub_library=BOBST",
879
- # :request_url => "http://alephstage.library.nyu.edu/F?func=item-global&doc_library=NYU01&local_base=PRIMOCOMMON&doc_number=000509288&sub_library=BOBST",
880
- # :match_reliability => ServiceResponse::MatchExact,
881
- # :request_link_supports_ajax_call => true }
882
- # test_data.each { |key, value|
883
- # assert_equal(
884
- # value,
885
- # holdings.first.view_data[key],
886
- # "#{key} different than expected.")
887
- # }
888
- # source_data = {
889
- # :aleph_doc_library => "NYU01",
890
- # :aleph_sub_library => "NYU Bobst",
891
- # :aleph_sub_library_code => "BOBST",
892
- # :aleph_collection => "Main Collection",
893
- # :aleph_call_number => "(ML410.J33 M47 2005a)",
894
- # :aleph_doc_number => "000509288",
895
- # :aleph_url => "http://alephstage.library.nyu.edu",
896
- # :illiad_url => "http://illiaddev.library.nyu.edu",
897
- # :aleph_sub_library_code => "BOBST",
898
- # :aleph_item_id => "NYU50000509288000010",
899
- # :aleph_item_adm_library => "NYU50",
900
- # :aleph_item_sub_library_code => "BOBST",
901
- # :aleph_item_collection_code => "MAIN",
902
- # :aleph_item_doc_number => "000509288",
903
- # :aleph_item_sequence_number => "1.0",
904
- # :aleph_item_barcode => "31142045676163",
905
- # :aleph_item_status_code => "01",
906
- # :aleph_item_process_status_code => nil,
907
- # :aleph_item_circulation_status => "On Shelf",
908
- # :aleph_item_location => "ML410.J33&nbsp;M47 2005a",
909
- # :aleph_item_description => nil,
910
- # :aleph_item_hol_doc_number => "003227224"
911
- # }
912
- # source_data.each { |key, value|
913
- # assert_equal(
914
- # value,
915
- # holdings.first.view_data[:source_data][key],
916
- # "#{key} different than expected.")
917
- # }
918
- # end
919
- #
920
- # def test_critical_inquiry_bug
921
- # request = requests(:critical_inquiry_request)
922
- # @primo_default.handle(request)
923
- # request.dispatched_services.reset
924
- # request.service_types.reset
925
- # primo_sources = request.get_service_type('primo_source')
926
- # assert_equal(
927
- # 4, primo_sources.length)
928
- # primo_source = ServiceList.instance.instantiate!("NYU_Primo_Source", nil)
929
- # primo_source.handle(request)
930
- # request.dispatched_services.reset
931
- # request.service_types.reset
932
- # holdings = request.get_service_type('holding')
933
- # assert_equal(
934
- # 4, holdings.length)
935
- # end
936
- #
937
- # def test_sfx_owner_but_fulltext_empty
938
- # request = requests(:sfx_owner_but_fulltext_empty_request)
939
- # @primo_default.handle(request)
940
- # request.dispatched_services.reset
941
- # request.service_types.reset
942
- # fulltext = request.get_service_type('fulltext')
943
- # assert_equal(0, fulltext.length)
944
- # end
945
-
946
- end
947
- end