hydra-head 3.0.0pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. data/.gitignore +71 -0
  2. data/.gitmodules +6 -0
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +257 -0
  5. data/README.textile +150 -0
  6. data/README_RAILS3_CHANGES.textile +42 -0
  7. data/Rakefile +5 -0
  8. data/TESTING.textile +85 -0
  9. data/app/controllers/assets_controller.rb +117 -0
  10. data/app/controllers/contributors_controller.rb +54 -0
  11. data/app/controllers/file_assets_controller.rb +152 -0
  12. data/app/controllers/permissions_controller.rb +137 -0
  13. data/app/controllers/user_sessions_controller.rb +14 -0
  14. data/app/helpers/article_metadata_helper.rb +80 -0
  15. data/app/helpers/blacklight_helper.rb +192 -0
  16. data/app/helpers/downloads_helper.rb +19 -0
  17. data/app/helpers/generic_content_objects_helper.rb +16 -0
  18. data/app/helpers/hydra_assets_helper.rb +75 -0
  19. data/app/helpers/hydra_djatoka_helper.rb +23 -0
  20. data/app/helpers/hydra_fedora_metadata_helper.rb +365 -0
  21. data/app/helpers/hydra_helper.rb +155 -0
  22. data/app/helpers/hydra_uploader_helper.rb +18 -0
  23. data/app/helpers/inline_editable_metadata_helper.rb +15 -0
  24. data/app/helpers/javascript_includes_helper.rb +93 -0
  25. data/app/helpers/release_process_helper.rb +32 -0
  26. data/app/models/audio_asset.rb +8 -0
  27. data/app/models/file_asset.rb +111 -0
  28. data/app/models/generic_content.rb +21 -0
  29. data/app/models/generic_image.rb +62 -0
  30. data/app/models/image_asset.rb +8 -0
  31. data/app/models/mods_asset.rb +6 -0
  32. data/app/models/role_mapper.rb +22 -0
  33. data/app/models/superuser.rb +6 -0
  34. data/app/models/video_asset.rb +8 -0
  35. data/app/views/_add_assets_links.html.erb +13 -0
  36. data/app/views/_brown_sidebar.html +15 -0
  37. data/app/views/_user_util_links.html.erb +31 -0
  38. data/app/views/catalog/_citation.html.erb +11 -0
  39. data/app/views/catalog/_constraints_element.html.erb +34 -0
  40. data/app/views/catalog/_delete_partials/_default.html.erb +29 -0
  41. data/app/views/catalog/_document_list.html.erb +11 -0
  42. data/app/views/catalog/_edit_partials/_default.html.erb +64 -0
  43. data/app/views/catalog/_edit_partials/_default_details.html.erb +15 -0
  44. data/app/views/catalog/_email_form.html.erb +9 -0
  45. data/app/views/catalog/_facets.html.erb +37 -0
  46. data/app/views/catalog/_flash_msg.html.erb +17 -0
  47. data/app/views/catalog/_home.html.erb +6 -0
  48. data/app/views/catalog/_home_text.html.erb +10 -0
  49. data/app/views/catalog/_index_partials/_default.html.erb +20 -0
  50. data/app/views/catalog/_index_partials/_default_details.html.erb +11 -0
  51. data/app/views/catalog/_index_partials/_default_group.html.erb +15 -0
  52. data/app/views/catalog/_search_form.html.erb +12 -0
  53. data/app/views/catalog/_show_partials/_default.html.erb +23 -0
  54. data/app/views/catalog/_show_partials/_default_details.html.erb +12 -0
  55. data/app/views/catalog/_show_partials/_facets.html.erb +52 -0
  56. data/app/views/catalog/_sms_form.html.erb +21 -0
  57. data/app/views/catalog/_sort_and_per_page.html.erb +22 -0
  58. data/app/views/catalog/_uva_tabs.html.erb +10 -0
  59. data/app/views/catalog/about.html.erb +0 -0
  60. data/app/views/catalog/show.html.erb +48 -0
  61. data/app/views/contributors/_add_contributor_split_button.html.erb +10 -0
  62. data/app/views/contributors/_edit_conference.html.erb +29 -0
  63. data/app/views/contributors/_edit_organization.html.erb +29 -0
  64. data/app/views/contributors/_edit_person.html.erb +42 -0
  65. data/app/views/contributors/_index.html.erb +12 -0
  66. data/app/views/contributors/_new.html.erb +10 -0
  67. data/app/views/contributors/_show_conference.html.erb +22 -0
  68. data/app/views/contributors/_show_organization.html.erb +29 -0
  69. data/app/views/contributors/_show_person.html.erb +17 -0
  70. data/app/views/contributors/new.html.erb +13 -0
  71. data/app/views/downloads/index.html.erb +1 -0
  72. data/app/views/file_assets/_deletable_result.html.erb +5 -0
  73. data/app/views/file_assets/_index.html.erb +15 -0
  74. data/app/views/file_assets/_new.html.erb +2 -0
  75. data/app/views/file_assets/_result.html.erb +16 -0
  76. data/app/views/file_assets/index.html.erb +5 -0
  77. data/app/views/fluid_infusion/_uploader.html.erb +81 -0
  78. data/app/views/fluid_infusion/_uploader_generic_content_objects.js.erb +38 -0
  79. data/app/views/fluid_infusion/_uploader_js.erb +45 -0
  80. data/app/views/generic_content_objects/_edit_description.html.erb +50 -0
  81. data/app/views/generic_content_objects/_new.html.erb +0 -0
  82. data/app/views/generic_content_objects/_show_description.html.erb +68 -0
  83. data/app/views/generic_content_objects/contributors/_edit_conference.html.erb +29 -0
  84. data/app/views/generic_content_objects/contributors/_edit_organization.html.erb +29 -0
  85. data/app/views/generic_content_objects/contributors/_edit_person.html.erb +37 -0
  86. data/app/views/generic_content_objects/contributors/_new.html.erb +10 -0
  87. data/app/views/generic_content_objects/contributors/_show_conference.html.erb +22 -0
  88. data/app/views/generic_content_objects/contributors/_show_organization.html.erb +22 -0
  89. data/app/views/generic_content_objects/contributors/_show_person.html.erb +38 -0
  90. data/app/views/generic_contents/_edit.html.erb +59 -0
  91. data/app/views/generic_contents/_index.html.erb +23 -0
  92. data/app/views/generic_contents/_show.html.erb +18 -0
  93. data/app/views/generic_contents/_show_content.html.erb +4 -0
  94. data/app/views/generic_images/_edit.html.erb +59 -0
  95. data/app/views/generic_images/_index.html.erb +24 -0
  96. data/app/views/generic_images/_show.html.erb +18 -0
  97. data/app/views/generic_images/_show_all.html.erb +14 -0
  98. data/app/views/generic_images/_show_content.html.erb +7 -0
  99. data/app/views/layouts/application.html.erb +57 -0
  100. data/app/views/layouts/hydra-head.html.erb +12 -0
  101. data/app/views/mods_assets/_edit.html.erb +49 -0
  102. data/app/views/mods_assets/_edit_description.html.erb +82 -0
  103. data/app/views/mods_assets/_edit_journal.html.erb +72 -0
  104. data/app/views/mods_assets/_index.html.erb +1 -0
  105. data/app/views/mods_assets/_index_list.html.erb +37 -0
  106. data/app/views/mods_assets/_index_table.html.erb +7 -0
  107. data/app/views/mods_assets/_progress_box.html.erb +82 -0
  108. data/app/views/mods_assets/_show.html.erb +44 -0
  109. data/app/views/mods_assets/_show_description.html.erb +44 -0
  110. data/app/views/mods_assets/_show_journal.html.erb +42 -0
  111. data/app/views/mods_assets/_show_permissions.html.erb +14 -0
  112. data/app/views/permissions/_edit_person_permissions.html.erb +35 -0
  113. data/app/views/permissions/_index.html.erb +55 -0
  114. data/app/views/permissions/_new.html.erb +18 -0
  115. data/app/views/permissions/index.html.erb +1 -0
  116. data/app/views/permissions/new.html.erb +1 -0
  117. data/app/views/shared/_delete_asset_confirmation.html.erb +17 -0
  118. data/app/views/user_sessions/_login_form.html.erb +10 -0
  119. data/app/views/user_sessions/logged_out.html.erb +1 -0
  120. data/config/routes.rb +12 -0
  121. data/fedora_conf/conf/fedora.fcfg +1021 -0
  122. data/hydra-head.gemspec +70 -0
  123. data/lib/application_controller.rb +25 -0
  124. data/lib/application_helper.rb +2 -0
  125. data/lib/engine.rb +30 -0
  126. data/lib/generators/hydra/head_generator.rb +152 -0
  127. data/lib/generators/hydra/templates/config/fedora.yml +17 -0
  128. data/lib/generators/hydra/templates/config/initializers/blacklight_config.rb +246 -0
  129. data/lib/generators/hydra/templates/config/initializers/fedora_config.rb +23 -0
  130. data/lib/generators/hydra/templates/config/initializers/hydra_config.rb +29 -0
  131. data/lib/generators/hydra/templates/config/role_map_cucumber.yml +10 -0
  132. data/lib/generators/hydra/templates/config/role_map_development.yml +12 -0
  133. data/lib/generators/hydra/templates/config/role_map_production.yml +2 -0
  134. data/lib/generators/hydra/templates/config/role_map_test.yml +15 -0
  135. data/lib/generators/hydra/templates/config/solr.yml +10 -0
  136. data/lib/generators/hydra/templates/config/solr_mappings.yml +22 -0
  137. data/lib/generators/hydra/templates/fedora_conf/conf/fedora.fcfg +1021 -0
  138. data/lib/generators/hydra/templates/migrations/add_user_attributes_table.rb +15 -0
  139. data/lib/generators/hydra/templates/migrations/create_superusers.rb +12 -0
  140. data/lib/generators/hydra/templates/solr_conf/conf/schema.xml +118 -0
  141. data/lib/generators/hydra/templates/solr_conf/conf/solrconfig.xml +332 -0
  142. data/lib/generators/hydra/templates/solr_conf/solr.xml +35 -0
  143. data/lib/hydra-head.rb +29 -0
  144. data/lib/hydra-head/engine.rb +9 -0
  145. data/lib/hydra-head/routes.rb +87 -0
  146. data/lib/hydra-head/version.rb +4 -0
  147. data/lib/hydra.rb +22 -0
  148. data/lib/hydra/access_controls_enforcement.rb +236 -0
  149. data/lib/hydra/access_controls_evaluation.rb +97 -0
  150. data/lib/hydra/assets_controller_helper.rb +144 -0
  151. data/lib/hydra/catalog.rb +64 -0
  152. data/lib/hydra/common_mods_index_methods.rb +42 -0
  153. data/lib/hydra/controller.rb +7 -0
  154. data/lib/hydra/file_assets_helper.rb +144 -0
  155. data/lib/hydra/fixtures.rb +43 -0
  156. data/lib/hydra/generic_content.rb +113 -0
  157. data/lib/hydra/generic_image.rb +100 -0
  158. data/lib/hydra/image.rb +177 -0
  159. data/lib/hydra/model_methods.rb +95 -0
  160. data/lib/hydra/model_mixins.rb +2 -0
  161. data/lib/hydra/model_mixins/common_metadata.rb +24 -0
  162. data/lib/hydra/model_mixins/mods_object.rb +16 -0
  163. data/lib/hydra/mods_article.rb +505 -0
  164. data/lib/hydra/mods_dataset.rb +165 -0
  165. data/lib/hydra/mods_generic_content.rb +494 -0
  166. data/lib/hydra/mods_image.rb +494 -0
  167. data/lib/hydra/repository_controller.rb +102 -0
  168. data/lib/hydra/rights_metadata.rb +189 -0
  169. data/lib/hydra/superuser_attributes.rb +12 -0
  170. data/lib/hydra/testing_server.rb +183 -0
  171. data/lib/hydra/user.rb +22 -0
  172. data/lib/mediashelf/active_fedora_helper.rb +72 -0
  173. data/lib/railties/all_tests.rake +23 -0
  174. data/lib/railties/hydra-fixtures.rake +184 -0
  175. data/lib/railties/hydra_jetty.rake +79 -0
  176. data/lib/railties/hyhead_cucumber.rake +127 -0
  177. data/lib/railties/hyhead_rspec.rake +137 -0
  178. data/lib/stanford/searchworks_helper.rb +1338 -0
  179. data/lib/stanford/solr_helper.rb +108 -0
  180. data/lib/uva/mods_index_methods.rb +24 -0
  181. data/solr_conf/conf/schema.xml +122 -0
  182. data/solr_conf/conf/solrconfig.xml +332 -0
  183. data/solr_conf/solr.xml +35 -0
  184. data/tasks/hydra-head-fixtures.rake +54 -0
  185. data/tasks/hydra-head.rake +247 -0
  186. data/tasks/hydra_jetty.rake +79 -0
  187. data/tasks/replicator.rake +27 -0
  188. data/tasks/solrizer-fedora.rake +53 -0
  189. data/tasks/solrizer.rake +13 -0
  190. data/test_support/etc/Gemfile +29 -0
  191. data/test_support/etc/rvmrc +32 -0
  192. data/test_support/features/button_add_assets.feature +22 -0
  193. data/test_support/features/button_add_generic_content.feature +11 -0
  194. data/test_support/features/button_add_image.feature +11 -0
  195. data/test_support/features/button_add_mods_asset.feature +11 -0
  196. data/test_support/features/contributor_add.feature +39 -0
  197. data/test_support/features/file_assets_list.feature +32 -0
  198. data/test_support/features/file_upload.feature +40 -0
  199. data/test_support/features/home_page.feature +9 -0
  200. data/test_support/features/html_validity.feature +47 -0
  201. data/test_support/features/mods_asset_contributors_edit.feature +80 -0
  202. data/test_support/features/mods_asset_create.feature +12 -0
  203. data/test_support/features/mods_asset_edit.feature +33 -0
  204. data/test_support/features/mods_asset_edit_without_permission.feature +10 -0
  205. data/test_support/features/mods_asset_search_result.feature +13 -0
  206. data/test_support/features/mods_asset_show.feature +39 -0
  207. data/test_support/features/permissions_add.feature +15 -0
  208. data/test_support/features/permissions_edit.feature +63 -0
  209. data/test_support/features/step_definitions/catalog_index_steps.rb +14 -0
  210. data/test_support/features/step_definitions/create_asset_steps.rb +7 -0
  211. data/test_support/features/step_definitions/edit_metadata_steps.rb +73 -0
  212. data/test_support/features/step_definitions/file_list_steps.rb +28 -0
  213. data/test_support/features/step_definitions/hydra_metadata_steps.rb +3 -0
  214. data/test_support/features/step_definitions/hydra_steps.rb +8 -0
  215. data/test_support/features/step_definitions/inline_editable_edit_steps.rb +77 -0
  216. data/test_support/features/step_definitions/search_steps.rb +88 -0
  217. data/test_support/features/step_definitions/searching_steps.rb +22 -0
  218. data/test_support/features/step_definitions/show_document_steps.rb +85 -0
  219. data/test_support/features/step_definitions/user_steps.rb +36 -0
  220. data/test_support/features/step_definitions/web_steps.rb +219 -0
  221. data/test_support/features/support/env.rb +55 -0
  222. data/test_support/features/support/paths.rb +80 -0
  223. data/test_support/features/switch_users.feature +14 -0
  224. data/test_support/features/view_catalog_index.feature +18 -0
  225. data/test_support/fixtures/empty_file.txt +0 -0
  226. data/test_support/fixtures/hydrangea_fixture_archivist_only_mods_article.foxml.xml +1212 -0
  227. data/test_support/fixtures/hydrangea_fixture_file_asset1.foxml.xml +4946 -0
  228. data/test_support/fixtures/hydrangea_fixture_mods_article1.foxml.xml +234 -0
  229. data/test_support/fixtures/hydrangea_fixture_mods_article2.foxml.xml +177 -0
  230. data/test_support/fixtures/hydrangea_fixture_mods_article3.foxml.xml +170 -0
  231. data/test_support/fixtures/hydrangea_fixture_mods_dataset1.foxml.xml +187 -0
  232. data/test_support/fixtures/hydrangea_fixture_uploaded_svg1.foxml.xml +676 -0
  233. data/test_support/fixtures/image.jp2 +0 -0
  234. data/test_support/fixtures/libra-oa_1.foxml.xml +2324 -0
  235. data/test_support/fixtures/libra-oa_2.foxml.xml +2422 -0
  236. data/test_support/spec/controllers/assets_controller_spec.rb +113 -0
  237. data/test_support/spec/controllers/catalog_controller_spec.rb +148 -0
  238. data/test_support/spec/controllers/catalog_controller_viewing_context_spec.rb +62 -0
  239. data/test_support/spec/controllers/contributors_controller_spec.rb +47 -0
  240. data/test_support/spec/controllers/file_assets_controller_spec.rb +189 -0
  241. data/test_support/spec/controllers/hydra_controller_spec.rb +15 -0
  242. data/test_support/spec/controllers/permissions_controller_spec.rb +80 -0
  243. data/test_support/spec/controllers/user_sessions_controller_spec.rb +35 -0
  244. data/test_support/spec/generators/hydra-head_generator_spec.rb +14 -0
  245. data/test_support/spec/helpers/access_controls_enforcement_spec.rb +212 -0
  246. data/test_support/spec/helpers/access_controls_evaluation_spec.rb +35 -0
  247. data/test_support/spec/helpers/assets_controller_helper_spec.rb +71 -0
  248. data/test_support/spec/helpers/blacklight_helper_spec.rb +64 -0
  249. data/test_support/spec/helpers/file_assets_helper_spec.rb +107 -0
  250. data/test_support/spec/helpers/hydra-repository_controller_spec.rb +32 -0
  251. data/test_support/spec/helpers/hydra_assets_helper_spec.rb +195 -0
  252. data/test_support/spec/helpers/hydra_djatoka_helper_spec.rb +32 -0
  253. data/test_support/spec/helpers/hydra_fedora_metadata_helper_spec.rb +215 -0
  254. data/test_support/spec/helpers/hydra_helper_spec.rb +73 -0
  255. data/test_support/spec/helpers/hydra_model_methods_spec.rb +95 -0
  256. data/test_support/spec/helpers/hydra_uploader_helper_spec.rb +18 -0
  257. data/test_support/spec/helpers/javascript_includes_helper_spec.rb +43 -0
  258. data/test_support/spec/integration/file_asset_spec.rb +150 -0
  259. data/test_support/spec/lib/active_fedora_helper_spec.rb +56 -0
  260. data/test_support/spec/lib/catalog_spec.rb +16 -0
  261. data/test_support/spec/lib/common_mods_index_methods_spec.rb +28 -0
  262. data/test_support/spec/models/audio_asset_spec.rb +23 -0
  263. data/test_support/spec/models/file_asset_spec.rb +42 -0
  264. data/test_support/spec/models/generic_content_spec.rb +29 -0
  265. data/test_support/spec/models/generic_image_spec.rb +58 -0
  266. data/test_support/spec/models/hydra_rights_metadata_spec.rb +162 -0
  267. data/test_support/spec/models/image_asset_spec.rb +23 -0
  268. data/test_support/spec/models/mods_asset_spec.rb +29 -0
  269. data/test_support/spec/models/role_mapper_spec.rb +22 -0
  270. data/test_support/spec/models/user_spec.rb +52 -0
  271. data/test_support/spec/models/video_asset_spec.rb +23 -0
  272. data/test_support/spec/rcov.opts +3 -0
  273. data/test_support/spec/spec.opts +4 -0
  274. data/test_support/spec/spec_helper.rb +44 -0
  275. data/test_support/spec/support/matchers/helper_matcher.rb +14 -0
  276. data/test_support/spec/support/matchers/solr_matchers.rb +60 -0
  277. data/test_support/spec/unit/hydra-head-engine_spec.rb +8 -0
  278. data/test_support/spec/unit/hydra-head_spec.rb +8 -0
  279. data/test_support/spec/utilities/hydra_testing_server_spec.rb +49 -0
  280. data/test_support/spec/views/uploader.html.erb_spec.rb +30 -0
  281. data/vendor/cache/RedCloth-4.2.3.gem +0 -0
  282. data/vendor/cache/abstract-1.0.0.gem +0 -0
  283. data/vendor/cache/actionmailer-3.0.9.gem +0 -0
  284. data/vendor/cache/actionpack-3.0.9.gem +0 -0
  285. data/vendor/cache/active-fedora-2.3.3.gem +0 -0
  286. data/vendor/cache/activemodel-3.0.9.gem +0 -0
  287. data/vendor/cache/activerecord-3.0.9.gem +0 -0
  288. data/vendor/cache/activeresource-3.0.9.gem +0 -0
  289. data/vendor/cache/activesupport-3.0.9.gem +0 -0
  290. data/vendor/cache/arel-2.0.10.gem +0 -0
  291. data/vendor/cache/blacklight-3.0.0.gem +0 -0
  292. data/vendor/cache/block_helpers-0.3.3.gem +0 -0
  293. data/vendor/cache/builder-2.1.2.gem +0 -0
  294. data/vendor/cache/capybara-1.0.0.gem +0 -0
  295. data/vendor/cache/childprocess-0.2.0.gem +0 -0
  296. data/vendor/cache/columnize-0.3.4.gem +0 -0
  297. data/vendor/cache/crack-0.1.8.gem +0 -0
  298. data/vendor/cache/cucumber-1.0.2.gem +0 -0
  299. data/vendor/cache/cucumber-rails-1.0.2.gem +0 -0
  300. data/vendor/cache/curb-0.7.15.gem +0 -0
  301. data/vendor/cache/daemons-1.1.4.gem +0 -0
  302. data/vendor/cache/database_cleaner-0.6.7.gem +0 -0
  303. data/vendor/cache/diff-lcs-1.1.2.gem +0 -0
  304. data/vendor/cache/equivalent-xml-0.2.7.gem +0 -0
  305. data/vendor/cache/erubis-2.6.6.gem +0 -0
  306. data/vendor/cache/facets-2.8.4.gem +0 -0
  307. data/vendor/cache/factory_girl-1.3.3.gem +0 -0
  308. data/vendor/cache/fastercsv-1.5.4.gem +0 -0
  309. data/vendor/cache/ffi-1.0.9.gem +0 -0
  310. data/vendor/cache/gherkin-2.4.5.gem +0 -0
  311. data/vendor/cache/haml-3.1.2.gem +0 -0
  312. data/vendor/cache/httparty-0.7.8.gem +0 -0
  313. data/vendor/cache/i18n-0.5.0.gem +0 -0
  314. data/vendor/cache/jettywrapper-0.0.10.gem +0 -0
  315. data/vendor/cache/json-1.5.3.gem +0 -0
  316. data/vendor/cache/json_pure-1.5.3.gem +0 -0
  317. data/vendor/cache/kaminari-0.12.4.gem +0 -0
  318. data/vendor/cache/launchy-2.0.3.gem +0 -0
  319. data/vendor/cache/linecache-0.46.gem +0 -0
  320. data/vendor/cache/logger-1.2.8.gem +0 -0
  321. data/vendor/cache/mail-2.2.19.gem +0 -0
  322. data/vendor/cache/marc-0.4.3.gem +0 -0
  323. data/vendor/cache/mediashelf-loggable-0.4.2.gem +0 -0
  324. data/vendor/cache/mime-types-1.16.gem +0 -0
  325. data/vendor/cache/mocha-0.9.12.gem +0 -0
  326. data/vendor/cache/multipart-post-1.1.2.gem +0 -0
  327. data/vendor/cache/nokogiri-1.5.0.gem +0 -0
  328. data/vendor/cache/om-1.2.5.gem +0 -0
  329. data/vendor/cache/polyglot-0.3.1.gem +0 -0
  330. data/vendor/cache/rack-1.2.3.gem +0 -0
  331. data/vendor/cache/rack-mount-0.6.14.gem +0 -0
  332. data/vendor/cache/rack-test-0.5.7.gem +0 -0
  333. data/vendor/cache/rails-3.0.9.gem +0 -0
  334. data/vendor/cache/railties-3.0.9.gem +0 -0
  335. data/vendor/cache/rake-0.9.2.gem +0 -0
  336. data/vendor/cache/rbx-require-relative-0.0.5.gem +0 -0
  337. data/vendor/cache/rcov-0.9.9.gem +0 -0
  338. data/vendor/cache/rdoc-3.8.gem +0 -0
  339. data/vendor/cache/rsolr-1.0.2.gem +0 -0
  340. data/vendor/cache/rsolr-ext-1.0.3.gem +0 -0
  341. data/vendor/cache/rspec-2.6.0.gem +0 -0
  342. data/vendor/cache/rspec-core-2.6.4.gem +0 -0
  343. data/vendor/cache/rspec-expectations-2.6.0.gem +0 -0
  344. data/vendor/cache/rspec-mocks-2.6.0.gem +0 -0
  345. data/vendor/cache/rspec-rails-2.6.1.gem +0 -0
  346. data/vendor/cache/ruby-debug-0.10.4.gem +0 -0
  347. data/vendor/cache/ruby-debug-base-0.10.4.gem +0 -0
  348. data/vendor/cache/rubyzip-0.9.4.gem +0 -0
  349. data/vendor/cache/sanitize-2.0.3.gem +0 -0
  350. data/vendor/cache/selenium-webdriver-0.2.2.gem +0 -0
  351. data/vendor/cache/solr-ruby-0.0.8.gem +0 -0
  352. data/vendor/cache/solrizer-1.1.0.gem +0 -0
  353. data/vendor/cache/solrizer-fedora-1.1.0.gem +0 -0
  354. data/vendor/cache/sqlite3-ruby-1.2.5.gem +0 -0
  355. data/vendor/cache/stomp-1.1.9.gem +0 -0
  356. data/vendor/cache/term-ansicolor-1.0.5.gem +0 -0
  357. data/vendor/cache/thor-0.14.6.gem +0 -0
  358. data/vendor/cache/treetop-1.4.9.gem +0 -0
  359. data/vendor/cache/trollop-1.16.2.gem +0 -0
  360. data/vendor/cache/tzinfo-0.3.29.gem +0 -0
  361. data/vendor/cache/unicode-0.4.0.gem +0 -0
  362. data/vendor/cache/will_paginate-2.3.15.gem +0 -0
  363. data/vendor/cache/xml-simple-1.1.0.gem +0 -0
  364. data/vendor/cache/xpath-0.1.4.gem +0 -0
  365. data/vendor/cache/yard-0.7.2.gem +0 -0
  366. metadata +1110 -0
@@ -0,0 +1,13 @@
1
+ namespace :solrizer do
2
+
3
+ desc 'Generic solrization task -- invalid for hydra-head'
4
+ task :solrize do
5
+ puts "Nobody here. Possibly you meant to run rake solrizer:fedora:solrize PID=..."
6
+ end
7
+
8
+ desc 'Generic solrization task -- invalid for hydra-head'
9
+ task :solrize_objects do
10
+ puts "Nobody here. Possibly you meant to run rake solrizer:fedora:solrize_objects"
11
+ end
12
+
13
+ end
@@ -0,0 +1,29 @@
1
+ # This Gemfile comes from hydra-head/test_support/etc/Gemfile
2
+ # It's copied into the hydra-head test app by the rake hyhead:setup_test_app task
3
+
4
+ source 'http://rubygems.org'
5
+
6
+ gem 'rails', '>=3.0.4'
7
+
8
+ gem 'sqlite3-ruby', :require => 'sqlite3'
9
+ gem 'blacklight', '3.0.0'
10
+ gem 'hydra-head', :path => '../../'
11
+ gem 'devise'
12
+
13
+ # For testing
14
+ group :development, :test do
15
+ gem 'solrizer-fedora', '>=1.1.0'
16
+ gem 'ruby-debug'
17
+ gem 'rspec'
18
+ gem 'rspec-rails', '>=2.5.0'
19
+ gem 'mocha'
20
+ #gem 'generator_spec'
21
+ gem 'cucumber-rails'
22
+ gem 'database_cleaner'
23
+ gem 'capybara'
24
+ #gem 'webrat'
25
+ #gem 'aruba'
26
+ gem 'factory_girl'
27
+ gem 'bcrypt-ruby'
28
+ end
29
+
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # This is an RVM Project .rvmrc file, used to automatically load the ruby
4
+ # development environment upon cd'ing into the directory
5
+
6
+ ruby_string="ree-1.8.7"
7
+ gemset_name="hyhead-testapp"
8
+
9
+ # Install rubies when used instead of only displaying a warning and exiting
10
+ rvm_install_on_use_flag=1
11
+
12
+ # Specify our desired <ruby>[@<gemset>], the @gemset name is optional.
13
+ environment_id="${ruby_string}@${gemset_name}"
14
+
15
+ # First, attempt to load the desired environment directly from the environment
16
+ # file. This is very fast and efficient compared to running through the entire
17
+ # CLI and selector. If you want feedback on which environment was used then
18
+ # insert the word 'use' after --create as this triggers verbose mode.
19
+ #
20
+ if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
21
+ && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]] ; then
22
+ \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
23
+ else
24
+ # If the environment file has not yet been created, use the RVM CLI to select.
25
+ rvm --create "$environment_id"
26
+ fi
27
+
28
+ # Ensure that Bundler is installed, install it if it is not.
29
+ if ! (command -v bundle > /dev/null) ; then
30
+ printf "The rubygem 'bundler' is not installed, installing it now.\n"
31
+ gem install bundler
32
+ fi
@@ -0,0 +1,22 @@
1
+ @create @split_button @add_asset
2
+ Feature: Create Asset or Dataset Split Button
3
+ In order to create new Assets or Datasets
4
+ As an editor
5
+ I want to see a button that will let me create a new Article or Dataset
6
+
7
+ Scenario: Editor views the search results page and sees the buttons to add assets
8
+ Given I am logged in as "archivist1@example.com"
9
+ Given I am on the base search page
10
+ Then I should see "Add a Basic MODS Asset" within "a.create_asset"
11
+ Then I should see "Add an Image"
12
+ Then I should see "Add Generic Content"
13
+ # Then I should see a link to add a "mods_asset" asset
14
+ # Then I should see a link to add a "generic_image" asset
15
+ # Then I should see a link to add a "generic_content" asset
16
+
17
+ # Need to build this out more
18
+ Scenario: Non-editor views the search results page and sees the buttons to add assets which link to login then create an asset
19
+ Given I am on the base search page
20
+ Then I should see "Add a Basic MODS Asset" within "a.create_asset"
21
+ Then I should see "Add an Image"
22
+ Then I should see "Add Generic Content"
@@ -0,0 +1,11 @@
1
+ @create @split_button @add_asset
2
+ Feature: Button to Add Generic Content
3
+ In order to create Generic Content objects
4
+ As a person with submit permissions
5
+ I want to see a button for adding Generic Content
6
+
7
+ Scenario: button to add articles on home page
8
+ Given I am logged in as "archivist1@example.com"
9
+ When I am on the home page
10
+ When I follow "Add Generic Content"
11
+ Then I should see "Created a Generic Content with pid "
@@ -0,0 +1,11 @@
1
+ @create @split_button @add_asset
2
+ Feature: Button to Add Images
3
+ In order to create Images
4
+ As a person with submit permissions
5
+ I want to see a button for adding Images
6
+
7
+ Scenario: button to add articles on home page
8
+ Given I am logged in as "archivist1@example.com"
9
+ When I am on the home page
10
+ When I follow "Add an Image"
11
+ Then I should see "Created a Generic Image with pid "
@@ -0,0 +1,11 @@
1
+ @create @split_button @add_asset
2
+ Feature: Button to Add Mods Assets
3
+ In order to create Mods Assets
4
+ As a person with submit permissions
5
+ I want to see a button for adding MODS Assets
6
+
7
+ Scenario: button to add articles on home page
8
+ Given I am logged in as "archivist1@example.com"
9
+ When I am on the home page
10
+ When I follow "Add a Basic MODS Asset"
11
+ Then I should see "Created a Mods Asset with pid "
@@ -0,0 +1,39 @@
1
+ @edit @contributors
2
+ Feature: Add a Contributor
3
+ In order to associate new people, organizations and conferences with an item
4
+ As a person with edit permissions
5
+ I want to add a new contributor
6
+
7
+ # These are breaking with complaints that "Only get requests are allowed. (ActionController::MethodNotAllowed)"
8
+ # This error only occurs in cucumber, not in real browser testing.
9
+
10
+ @nojs
11
+ Scenario: Add a person without javascript
12
+ Given I am logged in as "archivist1@example.com"
13
+ And I am on the edit document page for hydrangea:fixture_mods_article1
14
+ When I follow "Add a Person"
15
+ And I fill in the following:
16
+ | Computing ID | 098556 |
17
+ | First Name | Myra |
18
+ | Last Name | Breckenridge |
19
+ | Department | Posture and Empathy |
20
+ | Institution | Academy for Aspiring Young Actors and Actresses |
21
+ # And I press "Add Person"
22
+ # Then I should be on the edit document page for hydrus:test_object1
23
+ # And the following should contain:
24
+ # | Computing ID | 098556 |
25
+ # | First Name | Myra |
26
+ # | Last Name | Breckenridge |
27
+ # | Department | Posture and Empathy |
28
+ # | Institution | Academy for Aspiring Young Actors and Actresses |
29
+
30
+ @nojs
31
+ Scenario: Add an organization without javascript
32
+ Given I am logged in as "archivist1@example.com"
33
+ And I am on the edit document page for hydrangea:fixture_mods_article1
34
+ When I follow "Add an Organization"
35
+ And I fill in "Organization" with "American Film Academy"
36
+ # And I press "Add Organization"
37
+ # Then I should be on the edit document page for hydrus:test_object1
38
+ # And the "Organization" field should contain "American Film Academy"
39
+
@@ -0,0 +1,32 @@
1
+ @file_assets
2
+ Feature: List files for a document
3
+ In order to see and manage the files uploaded into a document
4
+ As an editor or non-editor
5
+ I want to see a list of the current files with specified column headings and metadata
6
+ # "Primary" column: Identifies which file is the primary file for the Article submission type
7
+ # "File" column: displays icon identifying file type along with the file name
8
+ # "Description": text describing the file
9
+ # "Size" of file
10
+ # "Uploaded" date and time (YYYY-MM-DD H:MM [A/P])
11
+ # Summary information at bottom of table:
12
+ # In the file column - total number of files
13
+ # In the size column - total size of all uploaded files
14
+ Background:
15
+ Given that "hydrangea:fixture_uploaded_svg1" has been loaded into fedora
16
+
17
+ Scenario: Editor views the file list
18
+ Given I am logged in as "archivist1@example.com"
19
+ And I am on the file list page for hydrangea:fixture_mods_article1
20
+ Then I should see a "th" element containing "File"
21
+ Then I should see a link to "the file asset hydrangea:fixture_uploaded_svg1" with label "OM_MANI_PADME_HUM-bw.svg" in the file assets list
22
+ Then I should see "Delete this ActiveFedora::Base" in the file assets list
23
+
24
+ Scenario: Non-editor views the file list
25
+ Given I am logged in as "permissionlessdude@example.com"
26
+ And I am on the file list page for hydrangea:fixture_mods_article1
27
+ Then I should see a "th" element containing "File"
28
+ Then I should see a link to "the file asset hydrangea:fixture_uploaded_svg1" with label "OM_MANI_PADME_HUM-bw.svg"
29
+ Then I should not see "Delete this ActiveFedora::Base" in the file assets list
30
+
31
+
32
+
@@ -0,0 +1,40 @@
1
+ @file_assets
2
+ Feature: Upload file into a document
3
+ In order to add files to a document
4
+ As an editor
5
+ I want to upload files in the edit form
6
+
7
+ @nojs
8
+ Scenario: Upload files on dataset edit page
9
+ Given I am logged in as "archivist1@example.com"
10
+ And I am on the edit document page for hydrangea:fixture_mods_dataset1
11
+ And I attach the file "test_support/fixtures/image.jp2" to "Filedata"
12
+ When I press "Upload File"
13
+ Then I should see "The file image.jp2 has been saved"
14
+ And I should see a link to "image.jp2" in the file assets list
15
+
16
+ Scenario: Upload files on article edit page
17
+ Given I am logged in as "archivist1@example.com"
18
+ And I am on the edit document page for hydrangea:fixture_mods_article1
19
+ And I attach the file "test_support/fixtures/image.jp2" to "Filedata"
20
+ When I press "Upload File"
21
+ Then I should see "The file image.jp2 has been saved"
22
+ And I should see a link to "image.jp2" in the file assets list
23
+
24
+ @nojs
25
+ Scenario: Upload files on file assets list page
26
+ Given I am logged in as "archivist1@example.com"
27
+ And I am on the file asset list page for hydrangea:fixture_mods_dataset1
28
+ Then show me the page
29
+ And I attach the file "test_support/fixtures/image.jp2" to "Filedata"
30
+ When I press "Upload File"
31
+ Then I should see "The file image.jp2 has been saved"
32
+ And I should see a link to "image.jp2" in the file assets list
33
+
34
+ Scenario: Upload files on file asset creation page
35
+ Given I am logged in as "archivist1@example.com"
36
+ And I am on the file asset creation page for hydrangea:fixture_mods_dataset1
37
+ And I attach the file "test_support/fixtures/image.jp2" to "Filedata"
38
+ When I press "Upload File"
39
+ Then I should see "The file image.jp2 has been saved"
40
+ And I should see a link to "image.jp2" in the file assets list
@@ -0,0 +1,9 @@
1
+ @catalog
2
+ Feature: Homepage
3
+ As a user
4
+ In order to begin using the application
5
+ I want to visit the homepage
6
+
7
+ Scenario: Visiting home page
8
+ Given I am on the home page
9
+ Then I should see "Search"
@@ -0,0 +1,47 @@
1
+ Feature: HTML validity
2
+ In order to verify that the application in HTML5 valid
3
+ As a user
4
+ I want to the pages to conform to the W3C HTML5 validation
5
+
6
+ Scenario: Home page (unauthenticated)
7
+ When I am on the home page
8
+ Then the page should be HTML5 valid
9
+
10
+ Scenario: Home page (authenticated)
11
+ Given I am logged in as "archivist1@example.com"
12
+ When I am on the home page
13
+ Then the page should be HTML5 valid
14
+
15
+ Scenario: Search Results (unauthenticated)
16
+ Given I am on the home page
17
+ And I fill in "q" with "fixture"
18
+ When I press "submit"
19
+ When I follow "ARTICLE"
20
+ Then I should see "TITLE OF HOST JOURNAL"
21
+ And the page should be HTML5 valid
22
+
23
+ Scenario: Search Results (authenticated)
24
+ Given I am logged in as "archivist1@example.com"
25
+ When I am on the home page
26
+ And I fill in "q" with "fixture"
27
+ And I press "submit"
28
+ And I follow "ARTICLE"
29
+ Then I should see "TITLE OF HOST JOURNAL"
30
+ And the page should be HTML5 valid
31
+
32
+ Scenario: Record view browse (unauthenticated)
33
+ Given I am on the show document page for hydrangea:fixture_mods_article2
34
+ Then I should see "TITLE OF HOST JOURNAL"
35
+ And the page should be HTML5 valid
36
+
37
+ Scenario: Record view browse (authenticated)
38
+ Given I am logged in as "archivist1@example.com"
39
+ When I am on the show document page for hydrangea:fixture_mods_article2
40
+ Then I should see "TITLE OF HOST JOURNAL"
41
+ And the page should be HTML5 valid
42
+
43
+ Scenario: Record view edit (authenticated)
44
+ Given I am logged in as "archivist1@example.com"
45
+ When I am on the edit document page for hydrangea:fixture_mods_article2
46
+ Then I should see "TITLE OF HOST JOURNAL"
47
+ And the page should be HTML5 valid
@@ -0,0 +1,80 @@
1
+ @contributors
2
+ Feature: Edit Article Contributors
3
+ As a person with edit permissions
4
+ In order to manage the contributor entries (names) in a MODS document
5
+ I want to see and edit the contributors associated with an article
6
+
7
+ Scenario: Viewing contributors in edit mode
8
+ Given I am logged in as "archivist1@example.com"
9
+ And I am on the edit document page for hydrangea:fixture_mods_article1
10
+ Then the "First Name" field should contain "GIVEN NAMES"
11
+ And the "Last Name" field should contain "FAMILY NAME"
12
+ # And I should see "Author" within "select[rel=person_0_role_text]"
13
+ # And the "role" field for "the 1st person" entry should contain "Author"
14
+ And the "Institution" field should contain "FACULTY, UNIVERSITY"
15
+ # And I should see a delete contributor button for "the 1st person entry in hydrangea:fixture_mods_article1" # first person entry is not deletable
16
+
17
+ # Then the "First Name" field for "person_1" should contain "Henrietta"
18
+ # And the "Last Name" field for "person_1" should contain "Lacks"
19
+ # And the "Role" field for "person_1" should contain "Contributor"
20
+ # And the "Institution" field for "person_1" should contain "Baltimore"
21
+ Then I should see "Henrietta"
22
+ And I should see "Lacks"
23
+ # And I should see "Contributor" within "select[rel=person_1_role_text]" # Author roles are implicit
24
+ And I should see "Baltimore"
25
+ And I should see a delete contributor button for "the 2nd person entry in hydrangea:fixture_mods_article1"
26
+
27
+ Then I should see "NSF"
28
+ And I should see "Funder" within "select[rel=organization_0_role_text]"
29
+ And I should see a delete contributor button for "the 1st organization entry in hydrangea:fixture_mods_article1"
30
+
31
+ Then I should see "some conference"
32
+ And I should see "Host" within "select[rel=conference_0_role_text]"
33
+ And I should see a delete contributor button for "the 1st conference entry in hydrangea:fixture_mods_article1"
34
+
35
+ @local
36
+ Scenario: Viewing contributors in edit mode
37
+ Given I am logged in as "archivist1@example.com"
38
+ And I am on the edit document page for libra-oa:1
39
+ Then the "First Name" field should contain "Mary"
40
+ And the "Last Name" field should contain "Gibson"
41
+ And the "Institution" field should contain "University of Virginia"
42
+
43
+ Scenario: Viewing contributors in browse mode
44
+ Given I am logged in as "archivist1@example.com"
45
+ And I am on the show document page for hydrangea:fixture_mods_article1
46
+ Then I should see "GIVEN NAMES" within "#contributors_list"
47
+ And I should see "FAMILY NAME" within "#contributors_list"
48
+ # And I should see "Creator" within "#contributor_role" # Authors role is implicit
49
+ # And the "role" field for "the 1st person" entry should contain "Author"
50
+ And I should see "FACULTY, UNIVERSITY" within "#contributors_list"
51
+ And I should not see a delete contributor button for "the 1st person entry in hydrangea:fixture_mods_article1"
52
+
53
+ # Then the "First Name" field for "person_1" should contain "Henrietta"
54
+ # And the "Last Name" field for "person_1" should contain "Lacks"
55
+ # And the "Role" field for "person_1" should contain "Contributor"
56
+ # And the "Institution" field for "person_1" should contain "Baltimore"
57
+ Then I should see "Henrietta"
58
+ And I should see "Lacks"
59
+ # And I should see "Contributor" within "#person_1 #contributor_role" # Authors role is implicit
60
+ And I should see "Baltimore"
61
+ And I should not see a delete contributor button for "the 2nd person entry in hydrangea:fixture_mods_article1"
62
+
63
+ Then I should see "NSF"
64
+ And I should see "Funder" within "#organization_0"
65
+ And I should not see a delete contributor button for "the 1st organization entry in hydrangea:fixture_mods_article1"
66
+
67
+ Then I should see "some conference"
68
+ And I should see "Host" within "#conference_0"
69
+ And I should not see a delete contributor button for "the 1st conference entry in hydrangea:fixture_mods_article1"
70
+
71
+ @local
72
+ Scenario: Viewing contributors in browse mode
73
+ Given I am logged in as "archivist1@example.com"
74
+ And I am on the show document page for libra-oa:1
75
+ Then I should see "Mary Gibson" within "#contributors_list"
76
+ And I should see "Author" within ".contributor_role"
77
+ And I should see "University of Virginia" within "#contributors_list"
78
+ And I should not see a delete contributor button for "the 1st person entry in libra-oa:1"
79
+
80
+
@@ -0,0 +1,12 @@
1
+ @new @dataset
2
+ Feature: Add a new Dataset
3
+ In order to publish a Dataset
4
+ As a Depositor
5
+ I want to submit a new MODS Asset
6
+
7
+ Scenario: Visit New MODS Asset Page
8
+ Given I am logged in as "archivist1@example.com"
9
+ And I am on the home page
10
+ And I create a new mods_asset
11
+ Then I should see "Describe the Asset"
12
+ And the "title_info_main_title" field should contain ""
@@ -0,0 +1,33 @@
1
+ @edit @articles
2
+ Feature: Edit a document
3
+ In order to [goal]
4
+ [stakeholder]
5
+ wants [behaviour]
6
+
7
+ Scenario: Visit Document Edit Page
8
+ Given I am logged in as "archivist1@example.com"
9
+ And I am on the edit document page for hydrangea:fixture_mods_article1
10
+ Then I should see "ARTICLE TITLE" within "#title_fieldset"
11
+ And I should see a "Save Description" button
12
+
13
+ Scenario: Visit Document Edit Page and see the file assets
14
+ Given I am logged in as "archivist1@example.com"
15
+ And I am on the edit document page for libra-oa:1
16
+ Then I should see "The Smallest Victims of the " within "#title_fieldset"
17
+ Then I should see "gibson.pdf" within "tr.file_asset"
18
+ And I should see a delete button for "libra-oa:1"
19
+
20
+ Scenario: Viewing browse/edit buttons
21
+ Given I am logged in as "archivist1@example.com"
22
+ And I am on the edit document page for hydrangea:fixture_mods_article1
23
+ Then I should see a "span" tag with a "class" attribute of "edit-browse"
24
+
25
+
26
+ # the mockups for Libra did not have a delete confirmation
27
+ @overwritten
28
+ Scenario: Delete Confirmation on Edit Page
29
+ Given I am logged in as "archivist1@example.com"
30
+ And I am on the edit document page for hydrangea:fixture_mods_article1
31
+ Then I should see a "div" tag with an "id" attribute of "delete_dialog_container"
32
+ And I should see "Permanently delete"
33
+