hydra-head 4.1.3 → 5.0.0.pre1
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.
- metadata +28 -617
- data/.gitignore +0 -73
- data/.gitmodules +0 -4
- data/Gemfile +0 -14
- data/HISTORY.textile +0 -99
- data/INSTALL_PREREQ.textile +0 -3
- data/LICENSE +0 -14
- data/README.textile +0 -129
- data/Rakefile +0 -5
- data/app/assets/images/hydra/powered_by_hydra.png +0 -0
- data/app/assets/images/hydra/search-button.png +0 -0
- data/app/assets/javascripts/date-picker/booking/index.html +0 -368
- data/app/assets/javascripts/date-picker/calendarHTML.txt +0 -84
- data/app/assets/javascripts/date-picker/css/datepicker.css +0 -511
- data/app/assets/javascripts/date-picker/css/demo.css +0 -229
- data/app/assets/javascripts/date-picker/index.html +0 -798
- data/app/assets/javascripts/date-picker/js/datepicker.js +0 -2898
- data/app/assets/javascripts/date-picker/js/datepicker.packed.js +0 -1
- data/app/assets/javascripts/date-picker/js/lang/ar.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/cs.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/da.js +0 -10
- data/app/assets/javascripts/date-picker/js/lang/de.js +0 -10
- data/app/assets/javascripts/date-picker/js/lang/en.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/eo.js +0 -13
- data/app/assets/javascripts/date-picker/js/lang/es.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/et.js +0 -23
- data/app/assets/javascripts/date-picker/js/lang/fi.js +0 -7
- data/app/assets/javascripts/date-picker/js/lang/fr.js +0 -69
- data/app/assets/javascripts/date-picker/js/lang/he.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/hu.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/id.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/it.js +0 -11
- data/app/assets/javascripts/date-picker/js/lang/kr.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/lt.js +0 -8
- data/app/assets/javascripts/date-picker/js/lang/lv.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/nl.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/no.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/pl.js +0 -10
- data/app/assets/javascripts/date-picker/js/lang/pt-br.js +0 -11
- data/app/assets/javascripts/date-picker/js/lang/pt.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/ru.js +0 -11
- data/app/assets/javascripts/date-picker/js/lang/se.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/si.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/tr.js +0 -9
- data/app/assets/javascripts/date-picker/language/index.html +0 -240
- data/app/assets/javascripts/date-picker/media/Thumbs.db +0 -0
- data/app/assets/javascripts/date-picker/media/backstripes.gif +0 -0
- data/app/assets/javascripts/date-picker/media/bg_header.jpg +0 -0
- data/app/assets/javascripts/date-picker/media/bullet1.gif +0 -0
- data/app/assets/javascripts/date-picker/media/bullet2.gif +0 -0
- data/app/assets/javascripts/date-picker/media/cal-grey.gif +0 -0
- data/app/assets/javascripts/date-picker/media/cal.gif +0 -0
- data/app/assets/javascripts/date-picker/media/gradient-e5e5e5-ffffff.gif +0 -0
- data/app/assets/javascripts/hydra/hydra-head.js +0 -195
- data/app/assets/javascripts/hydra/mediashelf.datepicker.js +0 -39
- data/app/assets/javascripts/hydra/mediashelf.placeholder.js +0 -67
- data/app/assets/javascripts/jquery.form.js +0 -1076
- data/app/assets/javascripts/jquery.ui.datepicker.js +0 -1793
- data/app/assets/javascripts/spin.min.js +0 -2
- data/app/assets/stylesheets/hydra/html_refactor.css +0 -79
- data/app/assets/stylesheets/hydra/hydrangea-split-button.css +0 -18
- data/app/assets/stylesheets/hydra/hydrangea.css +0 -288
- data/app/assets/stylesheets/hydra/ie-styles.css +0 -149
- data/app/assets/stylesheets/hydra/styles.css +0 -946
- data/app/assets/stylesheets/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_217bc0_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_469bdd_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/jquery-ui-1.8.5.custom.css +0 -572
- data/app/controllers/downloads_controller.rb +0 -20
- data/app/controllers/hydra/application_controller.rb +0 -5
- data/app/controllers/hydra/assets_controller.rb +0 -12
- data/app/controllers/hydra/contributors_controller.rb +0 -115
- data/app/controllers/hydra/file_assets_controller.rb +0 -3
- data/app/controllers/hydra/permissions_controller.rb +0 -117
- data/app/controllers/user_sessions_controller.rb +0 -13
- data/app/helpers/application_helper.rb +0 -3
- data/app/helpers/article_metadata_helper.rb +0 -4
- data/app/helpers/blacklight_helper.rb +0 -4
- data/app/helpers/downloads_helper.rb +0 -4
- data/app/helpers/facets_helper.rb +0 -4
- data/app/helpers/generic_content_objects_helper.rb +0 -4
- data/app/helpers/hydra/application_helper_behavior.rb +0 -8
- data/app/helpers/hydra/article_metadata_helper_behavior.rb +0 -95
- data/app/helpers/hydra/blacklight_helper_behavior.rb +0 -128
- data/app/helpers/hydra/downloads_helper_behavior.rb +0 -24
- data/app/helpers/hydra/facets_helper_behavior.rb +0 -34
- data/app/helpers/hydra/generic_content_objects_helper_behavior.rb +0 -17
- data/app/helpers/hydra/hydra_assets_helper_behavior.rb +0 -76
- data/app/helpers/hydra/hydra_fedora_metadata_helper_behavior.rb +0 -379
- data/app/helpers/hydra/hydra_helper_behavior.rb +0 -195
- data/app/helpers/hydra/hydra_uploader_helper_behavior.rb +0 -23
- data/app/helpers/hydra/inline_editable_metadata_helper_behavior.rb +0 -21
- data/app/helpers/hydra/javascript_includes_helper_behavior.rb +0 -94
- data/app/helpers/hydra/personalization_helper_behavior.rb +0 -49
- data/app/helpers/hydra/release_process_helper_behavior.rb +0 -37
- data/app/helpers/hydra_assets_helper.rb +0 -4
- data/app/helpers/hydra_fedora_metadata_helper.rb +0 -4
- data/app/helpers/hydra_helper.rb +0 -4
- data/app/helpers/hydra_uploader_helper.rb +0 -4
- data/app/helpers/inline_editable_metadata_helper.rb +0 -4
- data/app/helpers/javascript_includes_helper.rb +0 -4
- data/app/helpers/personalization_helper.rb +0 -4
- data/app/helpers/release_process_helper.rb +0 -4
- data/app/models/file_asset.rb +0 -5
- data/app/models/generic_content.rb +0 -26
- data/app/models/generic_image.rb +0 -67
- data/app/models/hydra/datastream/properties.rb +0 -24
- data/app/models/mods_asset.rb +0 -24
- data/app/models/superuser.rb +0 -14
- data/app/models/user_attribute.rb +0 -37
- data/app/models/uses_default_partials.rb +0 -23
- data/app/views/_add_assets_links.html.erb +0 -14
- data/app/views/_flash_msg.html.erb +0 -5
- data/app/views/_user_util_links.html.erb +0 -31
- data/app/views/catalog/_citation.html.erb +0 -11
- data/app/views/catalog/_constraints_element.html.erb +0 -34
- data/app/views/catalog/_delete_partials/_default.html.erb +0 -22
- data/app/views/catalog/_document_list.html.erb +0 -11
- data/app/views/catalog/_edit_partials/_default.html.erb +0 -57
- data/app/views/catalog/_edit_partials/_default_details.html.erb +0 -13
- data/app/views/catalog/_facets.html.erb +0 -37
- data/app/views/catalog/_home.html.erb +0 -6
- data/app/views/catalog/_home_text.html.erb +0 -4
- data/app/views/catalog/_index_partials/_default.html.erb +0 -20
- data/app/views/catalog/_index_partials/_default_details.html.erb +0 -14
- data/app/views/catalog/_index_partials/_default_group.html.erb +0 -15
- data/app/views/catalog/_opensearch_response_metadata.html.erb +0 -2
- data/app/views/catalog/_show_partials/_default.html.erb +0 -21
- data/app/views/catalog/_show_partials/_default_details.html.erb +0 -15
- data/app/views/catalog/_show_partials/_facets.html.erb +0 -52
- data/app/views/catalog/_sms_form.html.erb +0 -21
- data/app/views/catalog/_sort_and_per_page.html.erb +0 -23
- data/app/views/catalog/_uva_tabs.html.erb +0 -10
- data/app/views/catalog/about.html.erb +0 -0
- data/app/views/catalog/show.html.erb +0 -40
- data/app/views/contributors/_add_contributor_split_button.html.erb +0 -10
- data/app/views/contributors/_edit_conference.html.erb +0 -29
- data/app/views/contributors/_edit_organization.html.erb +0 -29
- data/app/views/contributors/_edit_person.html.erb +0 -39
- data/app/views/contributors/_index.html.erb +0 -11
- data/app/views/contributors/_new.html.erb +0 -10
- data/app/views/contributors/_show_conference.html.erb +0 -12
- data/app/views/contributors/_show_organization.html.erb +0 -21
- data/app/views/contributors/_show_person.html.erb +0 -17
- data/app/views/contributors/new.html.erb +0 -14
- data/app/views/downloads/index.html.erb +0 -1
- data/app/views/generic_content_objects/_contributor_form.html.erb +0 -11
- data/app/views/generic_content_objects/_description_form.html.erb +0 -7
- data/app/views/generic_content_objects/_edit_description.html.erb +0 -23
- data/app/views/generic_content_objects/_new.html.erb +0 -0
- data/app/views/generic_content_objects/_show_description.html.erb +0 -41
- data/app/views/generic_contents/_edit.html.erb +0 -10
- data/app/views/generic_contents/_index.html.erb +0 -21
- data/app/views/generic_contents/_show.html.erb +0 -6
- data/app/views/generic_contents/_show_content.html.erb +0 -7
- data/app/views/generic_images/_edit.html.erb +0 -36
- data/app/views/generic_images/_index.html.erb +0 -24
- data/app/views/generic_images/_show.html.erb +0 -13
- data/app/views/generic_images/_show_all.html.erb +0 -14
- data/app/views/generic_images/_show_content.html.erb +0 -7
- data/app/views/hydra/file_assets/_asset_saved_flash.html.erb +0 -2
- data/app/views/hydra/file_assets/_deletable_result.html.erb +0 -5
- data/app/views/hydra/file_assets/_file_assets_form.html.erb +0 -11
- data/app/views/hydra/file_assets/_index.html.erb +0 -29
- data/app/views/hydra/file_assets/_new.html.erb +0 -6
- data/app/views/hydra/file_assets/_result.html.erb +0 -11
- data/app/views/hydra/file_assets/index.html.erb +0 -5
- data/app/views/hydra/permissions/_edit_person_permissions.html.erb +0 -30
- data/app/views/hydra/permissions/_index.html.erb +0 -46
- data/app/views/hydra/permissions/_new.html.erb +0 -14
- data/app/views/hydra/permissions/_permissions_form.html.erb +0 -23
- data/app/views/hydra/permissions/index.html.erb +0 -1
- data/app/views/hydra/permissions/new.html.erb +0 -1
- data/app/views/layouts/hydra-head.html.erb +0 -47
- data/app/views/mods_assets/_additional_info_form.html.erb +0 -44
- data/app/views/mods_assets/_contributor_form.html.erb +0 -14
- data/app/views/mods_assets/_edit.html.erb +0 -10
- data/app/views/mods_assets/_edit_description.html.erb +0 -73
- data/app/views/mods_assets/_edit_journal.html.erb +0 -57
- data/app/views/mods_assets/_index.html.erb +0 -1
- data/app/views/mods_assets/_index_list.html.erb +0 -37
- data/app/views/mods_assets/_index_table.html.erb +0 -7
- data/app/views/mods_assets/_progress_box.html.erb +0 -82
- data/app/views/mods_assets/_publication_form.html.erb +0 -13
- data/app/views/mods_assets/_show.html.erb +0 -39
- data/app/views/mods_assets/_show_additional_info.html.erb +0 -17
- data/app/views/mods_assets/_show_contributors.html.erb +0 -7
- data/app/views/mods_assets/_show_description.html.erb +0 -35
- data/app/views/mods_assets/_show_file_assets.html.erb +0 -22
- data/app/views/mods_assets/_show_journal.html.erb +0 -42
- data/app/views/mods_assets/_show_permissions.html.erb +0 -15
- data/app/views/mods_assets/_show_publication.html.erb +0 -8
- data/app/views/shared/_delete_asset_confirmation.html.erb +0 -17
- data/app/views/user_sessions/_login_form.html.erb +0 -10
- data/app/views/user_sessions/logged_out.html.erb +0 -1
- data/config/fedora.yml +0 -15
- data/config/jetty.yml +0 -6
- data/config/locales/hydra.en.yml +0 -7
- data/config/role_map_cucumber.yml +0 -10
- data/config/role_map_development.yml +0 -12
- data/config/role_map_production.yml +0 -2
- data/config/role_map_test.yml +0 -14
- data/config/routes.rb +0 -12
- data/config/solr.yml +0 -9
- data/config/solr_mappings.yml +0 -22
- data/db/migrate/20101105214243_add_user_attributes_table.rb +0 -15
- data/db/migrate/20101108192527_create_superusers.rb +0 -12
- data/fedora_conf/conf/development/fedora.fcfg +0 -1021
- data/fedora_conf/conf/test/fedora.fcfg +0 -1021
- data/hydra-head.gemspec +0 -41
- data/init.rb +0 -4
- data/install.rb +0 -1
- data/lib/application_helper.rb +0 -3
- data/lib/generators/hydra/assets_generator.rb +0 -50
- data/lib/generators/hydra/cucumber_support_generator.rb +0 -29
- data/lib/generators/hydra/head_generator.rb +0 -165
- data/lib/generators/hydra/hyhead_fixtures_generator.rb +0 -27
- data/lib/generators/hydra/templates/catalog_controller.rb +0 -162
- data/lib/generators/hydra/templates/config/fedora.yml +0 -14
- data/lib/generators/hydra/templates/config/initializers/action_dispatch_http_upload_monkey_patch.rb +0 -12
- data/lib/generators/hydra/templates/config/initializers/hydra_config.rb +0 -44
- data/lib/generators/hydra/templates/config/role_map_cucumber.yml +0 -10
- data/lib/generators/hydra/templates/config/role_map_development.yml +0 -12
- data/lib/generators/hydra/templates/config/role_map_production.yml +0 -2
- data/lib/generators/hydra/templates/config/role_map_test.yml +0 -15
- data/lib/generators/hydra/templates/config/solr.yml +0 -10
- data/lib/generators/hydra/templates/config/solr_mappings.yml +0 -22
- data/lib/generators/hydra/templates/fedora_conf/conf/development/fedora.fcfg +0 -1021
- data/lib/generators/hydra/templates/fedora_conf/conf/test/fedora.fcfg +0 -1021
- data/lib/generators/hydra/templates/migrations/create_superusers.rb +0 -12
- data/lib/generators/hydra/templates/solr_conf/conf/schema.xml +0 -124
- data/lib/generators/hydra/templates/solr_conf/conf/solrconfig.xml +0 -394
- data/lib/generators/hydra/templates/solr_conf/solr.xml +0 -35
- data/lib/hydra-head.rb +0 -29
- data/lib/hydra-head/controller.rb +0 -29
- data/lib/hydra-head/engine.rb +0 -29
- data/lib/hydra-head/routes.rb +0 -90
- data/lib/hydra-head/version.rb +0 -4
- data/lib/hydra.rb +0 -52
- data/lib/hydra/assets.rb +0 -7
- data/lib/hydra/assets_controller_helper.rb +0 -122
- data/lib/hydra/catalog.rb +0 -11
- data/lib/hydra/controller.rb +0 -26
- data/lib/hydra/controller/assets_controller_behavior.rb +0 -143
- data/lib/hydra/controller/catalog_controller_behavior.rb +0 -56
- data/lib/hydra/controller/controller_behavior.rb +0 -59
- data/lib/hydra/controller/file_assets_behavior.rb +0 -144
- data/lib/hydra/controller/repository_controller_behavior.rb +0 -119
- data/lib/hydra/controller/upload_behavior.rb +0 -139
- data/lib/hydra/file_assets.rb +0 -11
- data/lib/hydra/file_assets_helper.rb +0 -12
- data/lib/hydra/generic_content.rb +0 -130
- data/lib/hydra/generic_image.rb +0 -112
- data/lib/hydra/generic_user_attributes.rb +0 -41
- data/lib/hydra/global_configurable.rb +0 -46
- data/lib/hydra/model_methods.rb +0 -104
- data/lib/hydra/model_mixins.rb +0 -8
- data/lib/hydra/model_mixins/common_metadata.rb +0 -25
- data/lib/hydra/model_mixins/solr_document_extension.rb +0 -24
- data/lib/hydra/models/file_asset.rb +0 -78
- data/lib/hydra/repository_controller.rb +0 -28
- data/lib/hydra/rights_metadata.rb +0 -194
- data/lib/hydra/solr.rb +0 -9
- data/lib/hydra/submission_workflow.rb +0 -138
- data/lib/hydra/superuser_attributes.rb +0 -19
- data/lib/hydra/ui.rb +0 -6
- data/lib/hydra/ui/controller.rb +0 -46
- data/lib/hydra/workflow.rb +0 -5
- data/lib/hydra/workflow/controller.rb +0 -3
- data/lib/mediashelf/active_fedora_helper.rb +0 -73
- data/lib/prev_next_links.rb +0 -33
- data/lib/railties/active-fedora.rake +0 -1
- data/lib/railties/hydra-fixtures.rake +0 -50
- data/lib/railties/hydra_jetty.rake +0 -53
- data/lib/user_attributes_loader.rb +0 -26
- data/solr/conf/schema.xml +0 -116
- data/solr/conf/solrconfig.xml +0 -311
- data/solr/solr.xml +0 -35
- data/solr_conf/conf/schema.xml +0 -124
- data/solr_conf/conf/solrconfig.xml +0 -394
- data/solr_conf/solr.xml +0 -35
- data/tasks/active-fedora.rake +0 -1
- data/tasks/hydra-head-fixtures.rake +0 -58
- data/tasks/hydra-head.rake +0 -209
- data/tasks/hydra_jetty.rake +0 -53
- data/tasks/hyhead_rspec.rake +0 -57
- data/tasks/replicator.rake +0 -27
- data/tasks/solrizer-fedora.rake +0 -53
- data/tasks/solrizer.rake +0 -13
- data/test_support/etc/Gemfile +0 -46
- data/test_support/etc/common_metadata_asset.rb +0 -18
- data/test_support/features/absent_model_edit.feature +0 -27
- data/test_support/features/absent_model_search_result.feature +0 -18
- data/test_support/features/absent_model_show.feature +0 -27
- data/test_support/features/button_add_assets.feature +0 -22
- data/test_support/features/button_add_generic_content.feature +0 -11
- data/test_support/features/button_add_image.feature +0 -11
- data/test_support/features/button_add_mods_asset.feature +0 -11
- data/test_support/features/button_delete_asset.feature +0 -13
- data/test_support/features/contributor_add.feature +0 -44
- data/test_support/features/default_partials_edit.feature +0 -27
- data/test_support/features/default_partials_search_result.feature +0 -22
- data/test_support/features/default_partials_show.feature +0 -24
- data/test_support/features/file_upload.feature +0 -80
- data/test_support/features/generic_content_create.feature +0 -7
- data/test_support/features/generic_content_edit.feature +0 -21
- data/test_support/features/generic_content_search_result.feature +0 -22
- data/test_support/features/generic_content_show.feature +0 -20
- data/test_support/features/generic_image_create.feature +0 -7
- data/test_support/features/generic_image_edit.feature +0 -21
- data/test_support/features/generic_image_search_result.feature +0 -22
- data/test_support/features/generic_image_show.feature +0 -20
- data/test_support/features/home_page.feature +0 -9
- data/test_support/features/html_validity.feature +0 -43
- data/test_support/features/mods_asset_contributors_edit.feature +0 -88
- data/test_support/features/mods_asset_create.feature +0 -17
- data/test_support/features/mods_asset_edit.feature +0 -65
- data/test_support/features/mods_asset_edit_without_permission.feature +0 -15
- data/test_support/features/mods_asset_search_result.feature +0 -24
- data/test_support/features/mods_asset_show.feature +0 -90
- data/test_support/features/nonexistent_object_show.feature +0 -9
- data/test_support/features/permissions_add.feature +0 -16
- data/test_support/features/permissions_edit.feature +0 -65
- data/test_support/features/step_definitions/catalog_index_steps.rb +0 -14
- data/test_support/features/step_definitions/create_asset_steps.rb +0 -3
- data/test_support/features/step_definitions/edit_metadata_steps.rb +0 -72
- data/test_support/features/step_definitions/file_list_steps.rb +0 -36
- data/test_support/features/step_definitions/html_validity_steps.rb +0 -64
- data/test_support/features/step_definitions/hydra_metadata_steps.rb +0 -3
- data/test_support/features/step_definitions/hydra_steps.rb +0 -8
- data/test_support/features/step_definitions/inline_editable_edit_steps.rb +0 -77
- data/test_support/features/step_definitions/search_steps.rb +0 -88
- data/test_support/features/step_definitions/searching_steps.rb +0 -22
- data/test_support/features/step_definitions/show_document_steps.rb +0 -89
- data/test_support/features/step_definitions/user_steps.rb +0 -42
- data/test_support/features/step_definitions/web_steps.rb +0 -223
- data/test_support/features/support/env.rb +0 -57
- data/test_support/features/support/paths.rb +0 -85
- data/test_support/features/switch_users.feature +0 -14
- data/test_support/features/view_catalog_index.feature +0 -18
- data/test_support/fixtures/empty_file.txt +0 -0
- data/test_support/fixtures/hydra_test_default_partials.foxml.xml +0 -80
- data/test_support/fixtures/hydra_test_generic_content.foxml.xml +0 -138
- data/test_support/fixtures/hydra_test_generic_image.foxml.xml +0 -395
- data/test_support/fixtures/hydra_test_no_model.foxml.xml +0 -79
- data/test_support/fixtures/hydrangea_fixture_archivist_only_mods_article.foxml.xml +0 -1212
- data/test_support/fixtures/hydrangea_fixture_file_asset1.foxml.xml +0 -4946
- data/test_support/fixtures/hydrangea_fixture_mods_article1.foxml.xml +0 -234
- data/test_support/fixtures/hydrangea_fixture_mods_article2.foxml.xml +0 -177
- data/test_support/fixtures/hydrangea_fixture_mods_article3.foxml.xml +0 -170
- data/test_support/fixtures/hydrangea_fixture_mods_dataset1.foxml.xml +0 -187
- data/test_support/fixtures/hydrangea_fixture_uploaded_svg1.foxml.xml +0 -676
- data/test_support/fixtures/hydrus_admin_class1.foxml.xml +0 -176
- data/test_support/fixtures/image.jp2 +0 -0
- data/test_support/fixtures/libra-oa_1.foxml.xml +0 -2324
- data/test_support/fixtures/libra-oa_2.foxml.xml +0 -2422
- data/test_support/fixtures/libra-oa_7.foxml.xml +0 -1735
- data/test_support/fixtures/small_file.txt +0 -1
- data/test_support/spec/controllers/catalog_controller_spec.rb +0 -138
- data/test_support/spec/controllers/catalog_controller_viewing_context_spec.rb +0 -67
- data/test_support/spec/controllers/catalog_valid_html_spec.rb +0 -123
- data/test_support/spec/controllers/contributors_controller_spec.rb +0 -67
- data/test_support/spec/controllers/file_assets_controller_spec.rb +0 -194
- data/test_support/spec/controllers/hydra-assets_controller_spec.rb +0 -151
- data/test_support/spec/controllers/hydra_controller_spec.rb +0 -43
- data/test_support/spec/controllers/hydra_ui_controller_spec.rb +0 -21
- data/test_support/spec/controllers/permissions_controller_spec.rb +0 -39
- data/test_support/spec/controllers/user_sessions_controller_spec.rb +0 -35
- data/test_support/spec/factories.rb +0 -11
- data/test_support/spec/helpers/access_controls_enforcement_spec.rb +0 -119
- data/test_support/spec/helpers/access_controls_evaluation_spec.rb +0 -26
- data/test_support/spec/helpers/assets_controller_helper_spec.rb +0 -63
- data/test_support/spec/helpers/blacklight_helper_spec.rb +0 -60
- data/test_support/spec/helpers/file_assets_helper_spec.rb +0 -116
- data/test_support/spec/helpers/generic_content_objects_helper_spec.rb +0 -17
- data/test_support/spec/helpers/hydra-repository_controller_spec.rb +0 -54
- data/test_support/spec/helpers/hydra_assets_helper_spec.rb +0 -143
- data/test_support/spec/helpers/hydra_fedora_metadata_helper_spec.rb +0 -255
- data/test_support/spec/helpers/hydra_helper_spec.rb +0 -105
- data/test_support/spec/helpers/hydra_model_methods_spec.rb +0 -88
- data/test_support/spec/helpers/hydra_uploader_helper_spec.rb +0 -26
- data/test_support/spec/helpers/javascript_includes_helper_spec.rb +0 -51
- data/test_support/spec/integration/file_asset_spec.rb +0 -68
- data/test_support/spec/lib/catalog_spec.rb +0 -23
- data/test_support/spec/lib/global_configurable_spec.rb +0 -98
- data/test_support/spec/lib/hydra_submission_workflow_spec.rb +0 -141
- data/test_support/spec/lib/model_methods_spec.rb +0 -29
- data/test_support/spec/models/file_asset_spec.rb +0 -25
- data/test_support/spec/models/generic_content_spec.rb +0 -39
- data/test_support/spec/models/generic_image_spec.rb +0 -75
- data/test_support/spec/models/mods_asset_spec.rb +0 -20
- data/test_support/spec/models/solr_document_spec.rb +0 -17
- data/test_support/spec/models/user_spec.rb +0 -94
- data/test_support/spec/rcov.opts +0 -3
- data/test_support/spec/spec.opts +0 -4
- data/test_support/spec/spec_helper.rb +0 -63
- data/test_support/spec/support/matchers/helper_matcher.rb +0 -14
- data/test_support/spec/support/matchers/solr_matchers.rb +0 -60
- data/test_support/spec/unit/hydra-head-engine_spec.rb +0 -8
- data/test_support/spec/unit/hydra-head_spec.rb +0 -8
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# See cucumber tests (ie. /features/edit_document.feature) for more tests, including ones that test the edit method & view
|
|
5
|
-
# You can run the cucumber tests with
|
|
6
|
-
#
|
|
7
|
-
# cucumber --tags @edit
|
|
8
|
-
# or
|
|
9
|
-
# rake cucumber
|
|
10
|
-
|
|
11
|
-
describe Hydra::AssetsController do
|
|
12
|
-
before :all do
|
|
13
|
-
@behavior = Hydra::AssetsController.deprecation_behavior
|
|
14
|
-
Hydra::AssetsController.deprecation_behavior = :silence
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
after :all do
|
|
18
|
-
Hydra::AssetsController.deprecation_behavior = @behavior
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
before do
|
|
22
|
-
@user = FactoryGirl.create(:user)
|
|
23
|
-
sign_in @user
|
|
24
|
-
controller.stubs(:enforce_access_controls).returns(true)
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
it "should use DocumentController" do
|
|
28
|
-
controller.should be_an_instance_of(Hydra::AssetsController)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
describe "new" do
|
|
32
|
-
before do
|
|
33
|
-
@user = FactoryGirl.create(:user)
|
|
34
|
-
sign_in @user
|
|
35
|
-
@asset = ModsAsset.new
|
|
36
|
-
ModsAsset.stubs(:new).returns(@asset)
|
|
37
|
-
end
|
|
38
|
-
it "should create and redirect with a flash message" do
|
|
39
|
-
get :new, :content_type=>'mods_asset'
|
|
40
|
-
response.should redirect_to edit_catalog_path(@asset, :new_asset=>true)
|
|
41
|
-
flash[:notice].should == "Created a Mods Asset with pid #{@asset.pid}. Now it's ready to be edited."
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
describe "update" do
|
|
46
|
-
it "should update the object with the attributes provided" do
|
|
47
|
-
mock_document = ModsAsset.new
|
|
48
|
-
mock_document.stubs(:pid => '_PID_')
|
|
49
|
-
mock_document.stubs(:update_from_computing_id).returns(nil)
|
|
50
|
-
controller.expects(:check_embargo_date_format).returns(nil)
|
|
51
|
-
|
|
52
|
-
ModsAsset.expects(:find).with("_PID_").returns(mock_document)
|
|
53
|
-
|
|
54
|
-
simple_request_params = {"asset"=>{
|
|
55
|
-
"descMetadata"=>{
|
|
56
|
-
"subject"=>{"0"=>"subject1", "1"=>"subject2", "2"=>"subject3"}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
mock_document.expects(:update_datastream_attributes).with("descMetadata"=>{"subject"=>{"0"=>"subject1", "1"=>"subject2", "2"=>"subject3"}}).returns({"subject"=>{"2"=>"My Topic"}})
|
|
62
|
-
mock_document.expects(:save)
|
|
63
|
-
controller.stubs(:display_release_status_notice)
|
|
64
|
-
put :update, {:id=>"_PID_"}.merge(simple_request_params)
|
|
65
|
-
|
|
66
|
-
response.should redirect_to catalog_path(mock_document.pid, :viewing_context=>"browse")
|
|
67
|
-
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
it "should support updating OM::XML datastreams" do
|
|
71
|
-
mock_document = ModsAsset.new
|
|
72
|
-
mock_document.stubs(:pid => '_PID_')
|
|
73
|
-
mock_document.stubs(:update_from_computing_id).returns(nil)
|
|
74
|
-
ModsAsset.expects(:find).with("_PID_").returns(mock_document)
|
|
75
|
-
|
|
76
|
-
update_method_args = [ "descMetadata" => { [{:person=>0}, :role] => {"0"=>"role1","1"=>"role2","2"=>"role3"} } ]
|
|
77
|
-
mock_document.expects(:update_datastream_attributes).with( *update_method_args ).returns({"person_0_role"=>{"0"=>"role1","1"=>"role2","2"=>"role3"}})
|
|
78
|
-
mock_document.expects(:save)
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
nokogiri_request_params = {
|
|
82
|
-
"id"=>"_PID_",
|
|
83
|
-
"content_type"=>"mods_asset",
|
|
84
|
-
"field_selectors"=>{
|
|
85
|
-
"descMetadata"=>{
|
|
86
|
-
"person_0_role"=>[{":person"=>"0"}, "role"]
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
"asset"=>{
|
|
90
|
-
"descMetadata"=>{
|
|
91
|
-
"person_0_role"=>{"0"=>"role1", "1"=>"role2", "2"=>"role3"}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
controller.stubs(:display_release_status_notice)
|
|
96
|
-
put :update, nokogiri_request_params
|
|
97
|
-
# put :update, :id=>"_PID_", "content_type"=>"mods_asset", "datastream"=>"descMetadata", "field_name"=>"person_0_last_name","parent_select"=>[{":person"=>"0"}, ":last_name"], "child_index"=>"0", "value"=>"Sample New Value"
|
|
98
|
-
response.should redirect_to edit_catalog_path(mock_document.pid, :wf_step=>"publication")
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
it "should handle complete updates of many fields in many datastreams" do
|
|
102
|
-
pending("This is failing intermittently. See https://jira.duraspace.org/browse/HYDRUS-166 for more info")
|
|
103
|
-
request_params = {"id"=>"hydrangea:fixture_mods_article3", "content_type"=>"mods_asset", "action"=>"update", "_method"=>"put"}
|
|
104
|
-
request_params["field_selectors"] = {"descMetadata"=>{"person_0_computing_id"=>[{"person"=>"0"}, "computing_id"], "journal_0_issue_start_page"=>[{"journal"=>"0"}, "issue", "start_page"], "person_1_description"=>[{"person"=>"1"}, "description"], "person_1_institution"=>[{"person"=>"1"}, "institution"], "journal_0_origin_info_publisher"=>[{"journal"=>"0"}, "origin_info", "publisher"], "abstract"=>["abstract"], "person_0_last_name"=>[{"person"=>"0"}, "last_name"], "person_0_description"=>[{"person"=>"0"}, "description"], "journal_0_issue_volume"=>[{"journal"=>"0"}, "issue", "volume"], "title_info_main_title"=>["title_info", "main_title"], "location_url"=>["location", "url"], "note"=>["note"], "person_1_last_name"=>[{"person"=>"1"}, "last_name"], "subject_topic"=>["subject", "topic"], "person_0_institution"=>[{"person"=>"0"}, "institution"], "person_1_first_name"=>[{"person"=>"1"}, "first_name"], "person_1"=>[{"person"=>"1"}], "journal_0_title_info_main_title"=>[{"journal"=>"0"}, "title_info", "main_title"], "journal_0_issue_level"=>[{"journal"=>"0"}, "issue", "level"], "journal_0_issue_end_page"=>[{"journal"=>"0"}, "issue", "end_page"], "peer_reviewed"=>["peer_reviewed"], "person_0_first_name"=>[{"person"=>"0"}, "first_name"], "person_1_computing_id"=>[{"person"=>"1"}, "computing_id"], "journal_0_issn"=>[{"journal"=>"0"}, "issn"], "journal_0_issue_publication_date"=>[{"journal"=>"0"}, "issue", "publication_date"]}, "rightsMetadata"=>{"embargo_embargo_release_date"=>["embargo", "embargo_release_date"]}, "properties"=>{"release_to"=>["release_to"]}}
|
|
105
|
-
request_params["asset"] = {"descMetadata"=>{"person_0_computing_id"=>{"0"=>""}, "journal_0_issue_start_page"=>{"0"=>"195"}, "person_1_description"=>{"0"=>""}, "person_1_institution"=>{"0"=>"Baltimore"}, "journal_0_origin_info_publisher"=>{"0"=>"PUBLISHER"}, "abstract"=>{"0"=>"ABSTRACT"}, "person_0_last_name"=>{"0"=>"Smith"}, "person_0_description"=>{"0"=>""}, "journal_0_issue_volume"=>{"0"=>"2 "}, "title_info_main_title"=>{"0"=>"Test Article"}, "location_url"=>{"0"=>"http://example.com/foo"}, "note"=>{"0"=>""}, "person_1_last_name"=>{"0"=>"Lacks"}, "subject_topic"=>{"0"=>"TOPIC 1", "1"=>"TOPIC 2", "2"=>"CONTROLLED TERM"}, "person_0_institution"=>{"0"=>"FACULTY, UNIVERSITY"}, "person_1_first_name"=>{"0"=>"Henrietta"}, "journal_0_title_info_main_title"=>{"0"=>"The Journal of Mock Object"}, "journal_0_issue_level"=>{"0"=>""}, "journal_0_issue_end_page"=>{"0"=>"230"}, "person_0_first_name"=>{"0"=>"John"}, "person_1_computing_id"=>{"0"=>""}, "journal_0_issn"=>{"0"=>"1234-5678"}, "journal_0_issue_publication_date"=>{"0"=>"FEB. 2007"}}, "rightsMetadata"=>{"embargo_embargo_release_date"=>{"0"=>""}}, "properties"=>{"released"=>{"0"=>"true"}, "release_to"=>{"0"=>"public"}}}
|
|
106
|
-
expected_response = {"descMetadata"=>{"journal_0_issue_start_page"=>{"0"=>"195"}, "person_0_computing_id"=>{"-1"=>""}, "abstract"=>{"0"=>"ABSTRACT"}, "journal_0_origin_info_publisher"=>{"0"=>"PUBLISHER"}, "person_1_description"=>{"-1"=>""}, "person_1_institution"=>{"0"=>"Baltimore"}, "journal_0_issue_volume"=>{"0"=>"2 "}, "person_0_description"=>{"-1"=>""}, "person_0_last_name"=>{"0"=>"Smith"}, "title_info_main_title"=>{"0"=>"Test Article"}, "note"=>{"-1"=>""}, "location_url"=>{"0"=>"http://example.com/foo"}, "person_1_last_name"=>{"0"=>"Lacks"}, "subject_topic"=>{"0"=>"TOPIC 1", "1"=>"TOPIC 2", "2"=>"CONTROLLED TERM"}, "journal_0_issue_end_page"=>{"0"=>"230"}, "journal_0_title_info_main_title"=>{"0"=>"The Journal of Mock Object"}, "journal_0_issue_level"=>{"-1"=>""}, "person_1_first_name"=>{"0"=>"Henrietta"}, "person_0_institution"=>{"0"=>"FACULTY, UNIVERSITY"}, "journal_0_issn"=>{"0"=>"1234-5678"}, "person_0_first_name"=>{"0"=>"John"}, "person_1_computing_id"=>{"-1"=>""}, "journal_0_issue_publication_date"=>{"0"=>"FEB. 2007"}}, "rightsMetadata"=>{"embargo_embargo_release_date"=>{"-1"=>""}}, "properties"=>{:released=>{"0"=>"true"}, [:release_to]=>{}, :release_to=>{"0"=>"public"}}}
|
|
107
|
-
|
|
108
|
-
post :update, request_params
|
|
109
|
-
expected_response.each_pair do |datastream_name, fields|
|
|
110
|
-
fields.each_pair do |field_pointer, value|
|
|
111
|
-
assigns[:response][datastream_name][field_pointer].should == value
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
end
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
describe "destroy" do
|
|
118
|
-
it "should delete the asset identified by pid" do
|
|
119
|
-
mock_document = mock("asset", :delete)
|
|
120
|
-
mock_document.expects(:destroy_child_assets).returns([])
|
|
121
|
-
ActiveFedora::Base.expects(:find).with("__PID__", :cast=>true).returns(mock_document)
|
|
122
|
-
# stub out authorize!
|
|
123
|
-
controller.expects(:authorize!).with(:destroy, mock_document)
|
|
124
|
-
delete(:destroy, :id => "__PID__")
|
|
125
|
-
response.should redirect_to catalog_index_path
|
|
126
|
-
end
|
|
127
|
-
end
|
|
128
|
-
|
|
129
|
-
# withdraw is a conditional destroy, with the conditions dependant on the project requirements.
|
|
130
|
-
# Currently, the widthdraw method is an alias for destroy, should behave as such
|
|
131
|
-
describe "withdraw" do
|
|
132
|
-
it "should withdraw the asset identified by pid" do
|
|
133
|
-
mock_document = mock("asset", :delete)
|
|
134
|
-
mock_document.stubs(:pid => '_PID_')
|
|
135
|
-
mock_document.expects(:destroy_child_assets).returns([])
|
|
136
|
-
ActiveFedora::Base.expects(:find).with("_PID_", :cast => true).returns(mock_document)
|
|
137
|
-
# stub out authorize!
|
|
138
|
-
controller.expects(:authorize!).with(:destroy, mock_document)
|
|
139
|
-
delete :withdraw, :id => "_PID_"
|
|
140
|
-
response.should redirect_to catalog_index_path
|
|
141
|
-
end
|
|
142
|
-
it "should restrict withdrawing to authorized users" do
|
|
143
|
-
mock_obj = mock("asset")
|
|
144
|
-
ActiveFedora::Base.expects(:find).with("_PID_", :cast=>true).returns(mock_obj)
|
|
145
|
-
lambda{get :withdraw, :id => "_PID_"}.should raise_error(CanCan::AccessDenied)
|
|
146
|
-
end
|
|
147
|
-
end
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
end
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
|
-
|
|
3
|
-
class HydraControllerTest < ActionController::Base
|
|
4
|
-
end
|
|
5
|
-
describe HydraControllerTest do
|
|
6
|
-
|
|
7
|
-
after :all do
|
|
8
|
-
Object.send(:remove_const, :HydraControllerTest)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
it "should add the necessary helpers to classes that include it" do
|
|
12
|
-
HydraControllerTest.expects(:helper).with(:hydra)
|
|
13
|
-
HydraControllerTest.expects(:helper).with(:hydra_assets)
|
|
14
|
-
HydraControllerTest.stubs(:before_filter)
|
|
15
|
-
HydraControllerTest.send(:include, Hydra::Controller::ControllerBehavior)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
describe "load_fedora_document" do
|
|
19
|
-
before :all do
|
|
20
|
-
@behavior = Hydra::Controller::ControllerBehavior.deprecation_behavior
|
|
21
|
-
Hydra::Controller::ControllerBehavior.deprecation_behavior = :silence
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
after :all do
|
|
25
|
-
Hydra::Controller::ControllerBehavior.deprecation_behavior = @behavior
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
before do
|
|
29
|
-
HydraControllerTest.send(:include, Hydra::Controller::ControllerBehavior)
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
it "should load @document_fedora and @file_assets" do
|
|
34
|
-
controller.params[:id] = 'hydrangea:fixture_mods_article1'
|
|
35
|
-
controller.load_fedora_document
|
|
36
|
-
|
|
37
|
-
assigns[:document_fedora].class.should == ModsAsset
|
|
38
|
-
assigns[:document_fedora].pid.should == 'hydrangea:fixture_mods_article1'
|
|
39
|
-
assigns[:file_assets].size.should == 1
|
|
40
|
-
assigns[:file_assets].first["id"].should == "hydrangea:fixture_uploaded_svg1"
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
describe Hydra::Controller do
|
|
5
|
-
before(:all) do
|
|
6
|
-
class HydraUiControllerTest
|
|
7
|
-
end
|
|
8
|
-
end
|
|
9
|
-
after :all do
|
|
10
|
-
Object.send(:remove_const, :HydraUiControllerTest)
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
it "should add the necessary helpers to classes that include it" do
|
|
14
|
-
HydraUiControllerTest.expects(:helper).with(:hydra_fedora_metadata)
|
|
15
|
-
HydraUiControllerTest.expects(:helper).with(:generic_content_objects)
|
|
16
|
-
HydraUiControllerTest.expects(:helper).with(:hydra_uploader)
|
|
17
|
-
HydraUiControllerTest.expects(:helper).with(:article_metadata)
|
|
18
|
-
HydraUiControllerTest.stubs(:before_filter)
|
|
19
|
-
HydraUiControllerTest.send(:include, Hydra::UI::Controller)
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
|
-
|
|
3
|
-
describe Hydra::PermissionsController do
|
|
4
|
-
before :all do
|
|
5
|
-
@behavior = Hydra::PermissionsController.deprecation_behavior
|
|
6
|
-
Hydra::PermissionsController.deprecation_behavior = :silence
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
after :all do
|
|
10
|
-
Hydra::PermissionsController.deprecation_behavior = @behavior
|
|
11
|
-
end
|
|
12
|
-
describe "create" do
|
|
13
|
-
it "should create a new permissions entry" do
|
|
14
|
-
# stub out permissions check
|
|
15
|
-
controller.expects(:enforce_access_controls).returns(true)
|
|
16
|
-
@asset = ModsAsset.create
|
|
17
|
-
post :create, :asset_id=>@asset.pid, :permission => {"actor_id"=>"_person_id_","actor_type"=>"person","access_level"=>"read"}
|
|
18
|
-
ModsAsset.find(@asset.pid).rightsMetadata.individuals.should == {"_person_id_" => "read"}
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
describe "update" do
|
|
22
|
-
it "should call Hydra::RightsMetadata properties setter" do
|
|
23
|
-
# stub out permissions check
|
|
24
|
-
controller.expects(:enforce_access_controls).returns(true)
|
|
25
|
-
@asset = ModsAsset.new
|
|
26
|
-
@asset.rightsMetadata.permissions({:group=>"students"})
|
|
27
|
-
@asset.save
|
|
28
|
-
post :update, :asset_id=>@asset.pid, :permission => {"group"=>{"_group_id_"=>"discover"}}
|
|
29
|
-
ModsAsset.find(@asset.pid).rightsMetadata.groups.should == {"_group_id_" => "discover"}
|
|
30
|
-
end
|
|
31
|
-
it "should restrict permissions setting to authenticated users" do
|
|
32
|
-
ActiveFedora::Base.expects(:find).never
|
|
33
|
-
post :update, :id => "hydrangea:fixture_mods_dataset1"
|
|
34
|
-
flash[:alert].should == "You do not have sufficient privileges to edit this document. You have been redirected to the read-only view."
|
|
35
|
-
flash[:notice].should be_nil
|
|
36
|
-
response.should be_redirect
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
|
-
|
|
3
|
-
describe UserSessionsController do
|
|
4
|
-
|
|
5
|
-
before(:each) do
|
|
6
|
-
@user = mock("User")
|
|
7
|
-
@user.stubs(:can_be_superuser?).returns true
|
|
8
|
-
@user2 = mock("User")
|
|
9
|
-
@user2.stubs(:can_be_superuser?).returns false
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
it "should allow for toggling on and off session[:superuser_mode]" do
|
|
13
|
-
controller.stubs(:current_user).returns(@user)
|
|
14
|
-
request.env["HTTP_REFERER"] = ""
|
|
15
|
-
get :superuser
|
|
16
|
-
session[:superuser_mode].should be_true
|
|
17
|
-
get :superuser
|
|
18
|
-
session[:superuser_mode].should be_nil
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
it "should not allow superuser_mode to be set in session if current_user is not a superuser" do
|
|
22
|
-
controller.stubs(:current_user).returns(@user2)
|
|
23
|
-
request.env["HTTP_REFERER"] = ""
|
|
24
|
-
get :superuser
|
|
25
|
-
session[:superuser_mode].should be_nil
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
it "should redirect to the referer" do
|
|
29
|
-
controller.stubs(:current_user).returns(@user)
|
|
30
|
-
request.env["HTTP_REFERER"] = hydra_file_assets_path
|
|
31
|
-
get :superuser
|
|
32
|
-
response.should redirect_to(hydra_file_assets_path)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
end
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
# Need way to find way to stub current_user and RoleMapper in order to run these tests
|
|
2
|
-
require File.expand_path( File.join( File.dirname(__FILE__),'..','spec_helper') )
|
|
3
|
-
|
|
4
|
-
describe Hydra::AccessControlsEnforcement do
|
|
5
|
-
describe "enforce_access_controls" do
|
|
6
|
-
describe "when the method exists" do
|
|
7
|
-
it "should call the method" do
|
|
8
|
-
params[:action] = :index
|
|
9
|
-
helper.enforce_access_controls.should be_true
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
describe "when the method doesn't exist" do
|
|
13
|
-
it "should not call the method, but should return true" do
|
|
14
|
-
params[:action] = :facet
|
|
15
|
-
helper.enforce_access_controls.should be_true
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
describe "enforce_show_permissions" do
|
|
20
|
-
it "should allow a user w/ edit permissions to view an embargoed object" do
|
|
21
|
-
user = User.new :email=>'testuser@example.com'
|
|
22
|
-
user.stubs(:is_being_superuser?).returns false
|
|
23
|
-
RoleMapper.stubs(:roles).with(user.email).returns(["archivist"])
|
|
24
|
-
helper.stubs(:current_user).returns(user)
|
|
25
|
-
helper.stubs(:load_permissions_from_solr).returns("")
|
|
26
|
-
helper.stubs(:can?).with(:edit, nil).returns(true)
|
|
27
|
-
helper.stubs(:can?).with(:read, nil).returns(true)
|
|
28
|
-
@permissions_solr_document = SolrDocument.new({"edit_access_person_t"=>["testuser@example.com"], "embargo_release_date_dt"=>(Date.parse(Time.now.to_s)+2).to_s})
|
|
29
|
-
helper.send(:enforce_show_permissions, {})
|
|
30
|
-
flash[:alert].should be_nil
|
|
31
|
-
end
|
|
32
|
-
it "should prevent a user w/o edit permissions from viewing an embargoed object" do
|
|
33
|
-
user = User.new :email=>'testuser@example.com'
|
|
34
|
-
user.stubs(:is_being_superuser?).returns false
|
|
35
|
-
RoleMapper.stubs(:roles).with(user.email).returns([])
|
|
36
|
-
helper.stubs(:current_user).returns(user)
|
|
37
|
-
helper.stubs(:load_permissions_from_solr).returns("")
|
|
38
|
-
helper.stubs(:can?).with(:edit, nil).returns(false)
|
|
39
|
-
helper.stubs(:can?).with(:read, nil).returns(true)
|
|
40
|
-
helper.stubs(:redirect_to)
|
|
41
|
-
@permissions_solr_document = SolrDocument.new({"edit_access_person_t"=>["testuser@example.com"], "embargo_release_date_dt"=>(Date.parse(Time.now.to_s)+2).to_s})
|
|
42
|
-
lambda {helper.send(:enforce_show_permissions, {})}.should raise_error Hydra::AccessDenied, "This item is under embargo. You do not have sufficient access privileges to read this document."
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
describe "apply_gated_discovery" do
|
|
46
|
-
before(:each) do
|
|
47
|
-
@stub_user = User.new :email=>'archivist1@example.com'
|
|
48
|
-
@stub_user.stubs(:is_being_superuser?).returns false
|
|
49
|
-
RoleMapper.stubs(:roles).with(@stub_user.email).returns(["archivist","researcher"])
|
|
50
|
-
helper.stubs(:current_user).returns(@stub_user)
|
|
51
|
-
@solr_parameters = {}
|
|
52
|
-
@user_parameters = {}
|
|
53
|
-
end
|
|
54
|
-
it "should set query fields for the user id checking against the discover, access, read fields" do
|
|
55
|
-
helper.send(:apply_gated_discovery, @solr_parameters, @user_parameters)
|
|
56
|
-
["discover","edit","read"].each do |type|
|
|
57
|
-
@solr_parameters[:fq].first.should match(/#{type}_access_person_t\:#{@stub_user.email}/)
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
it "should set query fields for all roles the user is a member of checking against the discover, access, read fields" do
|
|
61
|
-
helper.send(:apply_gated_discovery, @solr_parameters, @user_parameters)
|
|
62
|
-
["discover","edit","read"].each do |type|
|
|
63
|
-
@solr_parameters[:fq].first.should match(/#{type}_access_group_t\:archivist/)
|
|
64
|
-
@solr_parameters[:fq].first.should match(/#{type}_access_group_t\:researcher/)
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
# it "should filter out any content whose embargo date is in the future" do
|
|
68
|
-
# helper.send(:apply_gated_discovery, @solr_parameters, @user_parameters)
|
|
69
|
-
# @solr_parameters[:fq].should include("-embargo_release_date_dt:[NOW TO *]")
|
|
70
|
-
# end
|
|
71
|
-
it "should allow content owners access to their embargoed content" do
|
|
72
|
-
pending
|
|
73
|
-
helper.send(:apply_gated_discovery, @solr_parameters, @user_parameters)
|
|
74
|
-
@solr_parameters[:fq].should include("(NOT embargo_release_date_dt:[NOW TO *]) OR depositor_t:#{@stub_user.email}")
|
|
75
|
-
|
|
76
|
-
# @solr_parameters[:fq].should include("embargo_release_date_dt:[NOW TO *] AND depositor_t:#{current_user.email}) AND NOT (NOT depositor_t:#{current_user.email} AND embargo_release_date_dt:[NOW TO *]")
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
describe "for superusers" do
|
|
80
|
-
it "should return superuser access level" do
|
|
81
|
-
stub_user = User.new(:email=>'suzie@example.com')
|
|
82
|
-
stub_user.stubs(:is_being_superuser?).returns true
|
|
83
|
-
RoleMapper.stubs(:roles).with(stub_user.email).returns(["archivist","researcher"])
|
|
84
|
-
helper.stubs(:current_user).returns(stub_user)
|
|
85
|
-
helper.send(:apply_gated_discovery, @solr_parameters, @user_parameters)
|
|
86
|
-
["discover","edit","read"].each do |type|
|
|
87
|
-
@solr_parameters[:fq].first.should match(/#{type}_access_person_t\:\[\* TO \*\]/)
|
|
88
|
-
end
|
|
89
|
-
end
|
|
90
|
-
it "should not return superuser access to non-superusers" do
|
|
91
|
-
stub_user = User.new(:email=>'suzie@example.com')
|
|
92
|
-
stub_user.stubs(:is_being_superuser?).returns false
|
|
93
|
-
RoleMapper.stubs(:roles).with(stub_user.email).returns(["archivist","researcher"])
|
|
94
|
-
helper.stubs(:current_user).returns(stub_user)
|
|
95
|
-
helper.send(:apply_gated_discovery, @solr_parameters, @user_parameters)
|
|
96
|
-
["discover","edit","read"].each do |type|
|
|
97
|
-
@solr_parameters[:fq].should_not include("#{type}_access_person_t\:\[\* TO \*\]")
|
|
98
|
-
end
|
|
99
|
-
end
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
describe "exclude_unwanted_models" do
|
|
105
|
-
before(:each) do
|
|
106
|
-
stub_user = User.new :email=>'archivist1@example.com'
|
|
107
|
-
stub_user.stubs(:is_being_superuser?).returns false
|
|
108
|
-
helper.stubs(:current_user).returns(stub_user)
|
|
109
|
-
@solr_parameters = {}
|
|
110
|
-
@user_parameters = {}
|
|
111
|
-
end
|
|
112
|
-
it "should set solr query parameters to filter out FileAssets" do
|
|
113
|
-
helper.send(:exclude_unwanted_models, @solr_parameters, @user_parameters)
|
|
114
|
-
@solr_parameters[:fq].should include("-has_model_s:\"info:fedora/afmodel:FileAsset\"")
|
|
115
|
-
end
|
|
116
|
-
end
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
|
-
|
|
3
|
-
describe Hydra::AccessControlsEvaluation do
|
|
4
|
-
|
|
5
|
-
describe "editor?" do
|
|
6
|
-
it "should return true if current_user.is_being_superuser? is true" do
|
|
7
|
-
mock_user = FactoryGirl.build(:user, :email => "BigWig@example.com")
|
|
8
|
-
mock_user.stubs(:is_being_superuser?).returns true
|
|
9
|
-
controller.stubs(:current_user).returns mock_user
|
|
10
|
-
helper.editor?.should be_true
|
|
11
|
-
end
|
|
12
|
-
it "should return false if the session[:user] is not logged in" do
|
|
13
|
-
controller.stubs(:current_user).returns(nil)
|
|
14
|
-
helper.editor?.should be_false
|
|
15
|
-
end
|
|
16
|
-
it "should return false if the session[:user] does not have an editor role" do
|
|
17
|
-
mock_user = mock("User")
|
|
18
|
-
mock_user.stubs(:email).returns "nobody_special@example.com"
|
|
19
|
-
mock_user.stubs(:is_being_superuser?).returns(false)
|
|
20
|
-
mock_user.stubs(:new_record?).returns(false)
|
|
21
|
-
controller.stubs(:current_user).returns(mock_user)
|
|
22
|
-
helper.editor?.should be_false
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
end
|