sufia 0.0.1.pre2 → 0.0.1

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 (169) hide show
  1. data/Gemfile +2 -5
  2. data/README.md +44 -12
  3. data/app/assets/javascripts/{scholarsphere.js → sufia.js} +0 -0
  4. data/app/assets/stylesheets/{scholarsphere.css → sufia.css} +0 -0
  5. data/app/controllers/batch_controller.rb +2 -3
  6. data/app/controllers/batch_edits_controller.rb +4 -4
  7. data/app/controllers/dashboard_controller.rb +5 -3
  8. data/app/controllers/generic_files_controller.rb +77 -41
  9. data/app/controllers/users_controller.rb +9 -21
  10. data/app/helpers/blacklight/render_constraints_helper_behavior.rb +2 -2
  11. data/app/helpers/sufia_helper.rb +23 -2
  12. data/app/models/datastreams/file_content_datastream.rb +17 -9
  13. data/app/models/generic_file.rb +1 -809
  14. data/app/views/_add_assets_links.html.erb +1 -1
  15. data/app/views/_user_util_links.html.erb +2 -2
  16. data/app/views/batch/_metadata.html.erb +16 -16
  17. data/app/views/batch/edit.html.erb +16 -10
  18. data/app/views/batch_edits/_metadata.html.erb +16 -16
  19. data/app/views/catalog/_index_partials/_list_files.html.erb +2 -2
  20. data/app/views/catalog/index.html.erb +5 -0
  21. data/app/views/dashboard/_facet_limit.html.erb +1 -1
  22. data/app/views/dashboard/_facet_pagination.html.erb +4 -4
  23. data/app/views/dashboard/_facet_selected.html.erb +1 -1
  24. data/app/views/dashboard/_index_partials/_list_files.html.erb +8 -8
  25. data/app/views/dashboard/_search_form.html.erb +1 -1
  26. data/app/views/dashboard/_sort_and_per_page.html.erb +1 -1
  27. data/app/views/dashboard/index.html.erb +0 -1
  28. data/app/views/generic_files/_breadcrumbs.html.erb +1 -1
  29. data/app/views/generic_files/_descriptions.html.erb +3 -3
  30. data/app/views/generic_files/_field_form +3 -3
  31. data/app/views/generic_files/_media_display.html.erb +5 -4
  32. data/app/views/generic_files/_permission.html.erb +5 -5
  33. data/app/views/generic_files/_versioning.html.erb +1 -1
  34. data/app/views/generic_files/edit.html.erb +2 -2
  35. data/app/views/generic_files/show.html.erb +3 -3
  36. data/app/views/static/versions.html.erb +1 -1
  37. data/app/views/users/edit.html.erb +5 -3
  38. data/app/views/users/index.html.erb +3 -3
  39. data/app/views/users/show.html.erb +6 -6
  40. data/config/jetty.yml +6 -0
  41. data/config/routes.rb +8 -4
  42. data/features/browse_dashboard_files.feature +11 -1
  43. data/features/browse_files.feature +6 -5
  44. data/features/contact_form.feature +4 -0
  45. data/features/display_dashboard.feature +6 -3
  46. data/features/ingest_upload_files.feature +2 -2
  47. data/features/step_definitions/fixture_steps.rb +6 -5
  48. data/features/step_definitions/scholarsphere.rb +24 -1
  49. data/features/step_definitions/user_steps.rb +2 -2
  50. data/features/step_definitions/web_steps.rb +1 -1
  51. data/features/support/env.rb +26 -0
  52. data/features/users.feature +18 -0
  53. data/lib/active_support/core_ext/marshal.rb +22 -0
  54. data/lib/generators/sufia/sufia_generator.rb +18 -2
  55. data/lib/generators/sufia/templates/catalog_controller.rb +3 -4
  56. data/{spec/support → lib/generators/sufia/templates}/config/redis.yml +0 -0
  57. data/lib/generators/sufia/templates/config/sufia.rb +68 -0
  58. data/lib/generators/sufia/templates/migrations/add_ldap_attrs_to_user.rb +41 -0
  59. data/lib/kaminari/helpers/tag.rb +11 -0
  60. data/lib/sufia.rb +30 -7
  61. data/lib/sufia/controller.rb +1 -5
  62. data/lib/sufia/generic_file.rb +200 -0
  63. data/lib/sufia/generic_file/audit.rb +119 -0
  64. data/lib/sufia/generic_file/characterization.rb +82 -0
  65. data/lib/sufia/generic_file/export.rb +339 -0
  66. data/lib/sufia/generic_file/permissions.rb +64 -0
  67. data/lib/sufia/generic_file/thumbnail.rb +68 -0
  68. data/{app/models → lib/sufia/jobs}/audit_job.rb +13 -3
  69. data/lib/sufia/jobs/batch_update_job.rb +86 -0
  70. data/lib/sufia/jobs/characterize_job.rb +35 -0
  71. data/{app/models → lib/sufia/jobs}/content_delete_event_job.rb +3 -1
  72. data/{app/models → lib/sufia/jobs}/content_deposit_event_job.rb +1 -1
  73. data/{app/models → lib/sufia/jobs}/content_new_version_event_job.rb +1 -1
  74. data/{app/models → lib/sufia/jobs}/content_restored_version_event_job.rb +8 -0
  75. data/{app/models → lib/sufia/jobs}/content_update_event_job.rb +1 -1
  76. data/{app/models → lib/sufia/jobs}/event_job.rb +7 -3
  77. data/{app/models → lib/sufia/jobs}/resolrize_job.rb +4 -2
  78. data/lib/sufia/jobs/transcode_video_job.rb +79 -0
  79. data/{app/models → lib/sufia/jobs}/unzip_job.rb +11 -3
  80. data/{app/models → lib/sufia/jobs}/user_edit_profile_event_job.rb +6 -0
  81. data/{app/models → lib/sufia/jobs}/user_follow_event_job.rb +9 -4
  82. data/{app/models → lib/sufia/jobs}/user_unfollow_event_job.rb +6 -0
  83. data/lib/sufia/queue/resque.rb +30 -0
  84. data/lib/sufia/role_mapper.rb +0 -1
  85. data/{app/models/characterize_job.rb → lib/sufia/solr_document_behavior.rb} +6 -7
  86. data/lib/sufia/user.rb +3 -3
  87. data/lib/sufia/version.rb +1 -1
  88. data/lib/tasks/fixtures.rake +38 -38
  89. data/lib/tasks/resque.rake +1 -0
  90. data/solr_conf/conf/solrconfig.xml +32 -1615
  91. data/solr_conf/solr.xml +1 -1
  92. data/spec/active_fedora/unsaved_digital_object_spec.rb +4 -4
  93. data/spec/config/host_to_vhost_spec.rb +4 -4
  94. data/spec/controllers/authorities_controller_spec.rb +1 -1
  95. data/spec/controllers/batch_controller_spec.rb +12 -10
  96. data/spec/controllers/catalog_controller_spec.rb +13 -13
  97. data/spec/controllers/dashboard_controller_spec.rb +15 -15
  98. data/spec/controllers/downloads_controller_spec.rb +14 -14
  99. data/spec/controllers/generic_files_controller_spec.rb +88 -46
  100. data/spec/controllers/mailbox_controller_spec.rb +2 -2
  101. data/spec/controllers/sessions_controller_spec.rb +1 -1
  102. data/spec/controllers/single_use_link_controller_spec.rb +18 -18
  103. data/spec/controllers/users_controller_spec.rb +47 -31
  104. data/spec/fixtures/countdown.avi +0 -0
  105. data/spec/fixtures/sufia/.gitignore +1 -0
  106. data/spec/fixtures/{scholarsphere → sufia}/bg_header.jpg +0 -0
  107. data/spec/fixtures/sufia/sufia_test1.descMeta.txt +12 -0
  108. data/spec/fixtures/{scholarsphere → sufia}/sufia_test1.foxml.erb +2 -2
  109. data/spec/fixtures/{scholarsphere/scholarsphere_test1.txt → sufia/sufia_test1.txt} +0 -0
  110. data/spec/fixtures/sufia/sufia_test2.descMeta.txt +12 -0
  111. data/spec/fixtures/{scholarsphere/scholarsphere_test2.docx → sufia/sufia_test2.docx} +0 -0
  112. data/spec/fixtures/{scholarsphere/scholarsphere_test2.foxml.erb → sufia/sufia_test2.foxml.erb} +6 -6
  113. data/spec/fixtures/sufia/sufia_test3.descMeta.txt +12 -0
  114. data/spec/fixtures/{scholarsphere/scholarsphere_test3.foxml.erb → sufia/sufia_test3.foxml.erb} +6 -6
  115. data/spec/fixtures/{scholarsphere/scholarsphere_test3.xls → sufia/sufia_test3.xls} +0 -0
  116. data/spec/fixtures/sufia/sufia_test4.descMeta.txt +12 -0
  117. data/spec/fixtures/{scholarsphere/scholarsphere_test4.foxml.erb → sufia/sufia_test4.foxml.erb} +6 -6
  118. data/spec/fixtures/{scholarsphere/scholarsphere_test4.pdf → sufia/sufia_test4.pdf} +0 -0
  119. data/spec/fixtures/sufia/sufia_test5.descMeta.txt +19 -0
  120. data/spec/fixtures/{scholarsphere → sufia}/sufia_test5.foxml.erb +3 -3
  121. data/spec/fixtures/{scholarsphere/scholarsphere_test5.mp3 → sufia/sufia_test5.mp3} +0 -0
  122. data/spec/fixtures/sufia/sufia_test5.txt +1 -0
  123. data/spec/fixtures/sufia/sufia_test6.descMeta.txt +12 -0
  124. data/spec/fixtures/{scholarsphere/scholarsphere_test6.foxml.erb → sufia/sufia_test6.foxml.erb} +6 -6
  125. data/spec/fixtures/{scholarsphere/scholarsphere_test6.jp2 → sufia/sufia_test6.jp2} +0 -0
  126. data/spec/fixtures/sufia/sufia_test6.txt +1 -0
  127. data/spec/fixtures/sufia_generic_stub.descMeta.txt +12 -0
  128. data/spec/fixtures/{scholarsphere_generic_stub.foxml.erb → sufia_generic_stub.foxml.erb} +3 -3
  129. data/spec/fixtures/sufia_generic_stub.txt +1 -0
  130. data/spec/lib/sufia/role_mapper_spec.rb +1 -1
  131. data/spec/models/audit_job_spec.rb +8 -11
  132. data/spec/models/batch_spec.rb +5 -5
  133. data/spec/models/batch_update_job_spec.rb +18 -15
  134. data/spec/models/checksum_audit_log_spec.rb +6 -19
  135. data/spec/models/event_jobs_spec.rb +23 -23
  136. data/spec/models/file_content_datastream_spec.rb +14 -14
  137. data/spec/models/fits_datastream_spec.rb +1 -1
  138. data/spec/models/generic_file_spec.rb +88 -41
  139. data/spec/models/single_use_link_spec.rb +3 -3
  140. data/spec/models/transcode_video_job_spec.rb +30 -0
  141. data/spec/models/unzip_job_spec.rb +6 -4
  142. data/spec/rake/{scholarsphere_fixtures_spec.rb → sufia_fixtures_spec.rb} +16 -16
  143. data/spec/routing/route_spec.rb +4 -8
  144. data/spec/spec_helper.rb +0 -7
  145. data/spec/support/Gemfile +4 -2
  146. data/spec/support/fedora_conf/fedora.fcfg +953 -0
  147. data/spec/support/lib/generators/test_app_generator.rb +1 -11
  148. data/sufia.gemspec +5 -3
  149. data/tasks/{scholarsphere-db.rake → sufia-db.rake} +1 -1
  150. data/tasks/{scholarsphere-dev.rake → sufia-dev.rake} +7 -3
  151. data/tasks/{scholarsphere-fixtures.rake → sufia-fixtures.rake} +43 -43
  152. data/tasks/{scholarsphere.rake → sufia.rake} +2 -2
  153. metadata +126 -95
  154. data/app/models/batch_update_job.rb +0 -82
  155. data/app/models/solr_document.rb +0 -50
  156. data/lib/sufia/permissions.rb +0 -43
  157. data/spec/fixtures/scholarsphere/scholarsphere_test1.descMeta.txt +0 -12
  158. data/spec/fixtures/scholarsphere/scholarsphere_test2.descMeta.txt +0 -12
  159. data/spec/fixtures/scholarsphere/scholarsphere_test3.descMeta.txt +0 -12
  160. data/spec/fixtures/scholarsphere/scholarsphere_test4.descMeta.txt +0 -12
  161. data/spec/fixtures/scholarsphere/scholarsphere_test5.descMeta.txt +0 -19
  162. data/spec/fixtures/scholarsphere/scholarsphere_test5.txt +0 -1
  163. data/spec/fixtures/scholarsphere/scholarsphere_test6.descMeta.txt +0 -12
  164. data/spec/fixtures/scholarsphere/scholarsphere_test6.txt +0 -1
  165. data/spec/fixtures/scholarsphere/sufia_scholarsphere1.descMeta.txt +0 -12
  166. data/spec/fixtures/scholarsphere/sufia_scholarsphere1.foxml.erb +0 -79
  167. data/spec/fixtures/scholarsphere/sufia_scholarsphere1.txt +0 -1
  168. data/spec/fixtures/scholarsphere_generic_stub.descMeta.txt +0 -12
  169. data/spec/fixtures/scholarsphere_generic_stub.txt +0 -1
data/solr_conf/solr.xml CHANGED
@@ -28,7 +28,7 @@
28
28
  adminPath: RequestHandler path to manage cores.
29
29
  If 'null' (or absent), cores will not be manageable via REST
30
30
  -->
31
- <cores adminPath="/admin/cores">
31
+ <cores adminPath="/admin/cores" defaultCoreName="development">
32
32
  <core name="development" instanceDir="development-core" />
33
33
  <core name="test" instanceDir="test-core" />
34
34
  </cores>
@@ -21,7 +21,7 @@ describe ActiveFedora::UnsavedDigitalObject do
21
21
  Sufia::IdService.valid?(@obj.pid).should be_true
22
22
  end
23
23
  it "should not use Fedora's pid service" do
24
- ActiveFedora::RubydoraConnection.any_instance.expects(:nextid).never
24
+ ActiveFedora::RubydoraConnection.any_instance.should_receive(:nextid).never
25
25
  @obj = ActiveFedora::UnsavedDigitalObject.new(ActiveFedora::Base, 'id')
26
26
  @obj.save
27
27
  end
@@ -39,9 +39,9 @@ describe ActiveFedora::UnsavedDigitalObject do
39
39
  it "should not assign a pid that already exists in Fedora" do
40
40
  mock_pid = 'scholarsphere:ef12ef12f'
41
41
  unique_pid = 'scholarsphere:bb22bb22b'
42
- Sufia::IdService.stubs(:next_id).returns(mock_pid, unique_pid)
43
- ActiveFedora::Base.stubs(:exists?).with(mock_pid).returns(true)
44
- ActiveFedora::Base.stubs(:exists?).with(unique_pid).returns(false)
42
+ Sufia::IdService.stub(:next_id).and_return(mock_pid, unique_pid)
43
+ ActiveFedora::Base.stub(:exists?).with(mock_pid).and_return(true)
44
+ ActiveFedora::Base.stub(:exists?).with(unique_pid).and_return(false)
45
45
  @obj = ActiveFedora::UnsavedDigitalObject.new(ActiveFedora::Base, 'id')
46
46
  pid = @obj.assign_pid
47
47
  @obj.pid.should == unique_pid
@@ -16,22 +16,22 @@ require 'spec_helper'
16
16
 
17
17
  describe 'host_to_vhost' do
18
18
  it "should return the proper vhost on fedora1test" do
19
- Socket.stubs(:gethostname).returns('fedora1test')
19
+ Socket.stub(:gethostname).and_return('fedora1test')
20
20
  Sufia::HttpHeaderAuth.get_vhost_by_host(Sufia.config)[0].should == 'scholarsphere-integration.dlt.psu.edu-8443'
21
21
  Sufia::HttpHeaderAuth.get_vhost_by_host(Sufia.config)[1].should == 'https://scholarsphere-integration.dlt.psu.edu:8443/'
22
22
  end
23
23
  it "should return the proper vhost on fedora2test" do
24
- Socket.stubs(:gethostname).returns('fedora2test')
24
+ Socket.stub(:gethostname).and_return('fedora2test')
25
25
  Sufia::HttpHeaderAuth.get_vhost_by_host(Sufia.config)[0].should == 'scholarsphere-test.dlt.psu.edu'
26
26
  Sufia::HttpHeaderAuth.get_vhost_by_host(Sufia.config)[1].should == 'https://scholarsphere-test.dlt.psu.edu/'
27
27
  end
28
28
  it "should return the proper vhost on ss1stage" do
29
- Socket.stubs(:gethostname).returns('ss1stage')
29
+ Socket.stub(:gethostname).and_return('ss1stage')
30
30
  Sufia::HttpHeaderAuth.get_vhost_by_host(Sufia.config)[0].should == 'scholarsphere-staging.dlt.psu.edu'
31
31
  Sufia::HttpHeaderAuth.get_vhost_by_host(Sufia.config)[1].should == 'https://scholarsphere-staging.dlt.psu.edu/'
32
32
  end
33
33
  it "should return the proper vhost on dev" do
34
- Socket.stubs(:gethostname).returns('some1host')
34
+ Socket.stub(:gethostname).and_return('some1host')
35
35
  Sufia::HttpHeaderAuth.get_vhost_by_host(Sufia.config)[0].should == 'some1host'
36
36
  Sufia::HttpHeaderAuth.get_vhost_by_host(Sufia.config)[1].should == 'https://some1host/'
37
37
  end
@@ -23,7 +23,7 @@ describe AuthoritiesController do
23
23
  {:label => "Edgar", :uri => "http://example.org/edga"},
24
24
  {:label => "Eddie", :uri => "http://example.org/edd"},
25
25
  {:label => "Economics", :uri => "http://example.org/eco"}]
26
- LocalAuthority.expects(:entries_by_term).returns(mock_hits)
26
+ LocalAuthority.should_receive(:entries_by_term).and_return(mock_hits)
27
27
  xhr :get, :query, :model=>"generic_files", :term=>"subject", :q=>"E"
28
28
  response.should be_success
29
29
  JSON.parse(response.body).count.should == 6
@@ -16,12 +16,12 @@ require 'spec_helper'
16
16
 
17
17
  describe BatchController do
18
18
  before do
19
- controller.stubs(:has_access?).returns(true)
20
- GenericFile.any_instance.stubs(:terms_of_service).returns('1')
19
+ controller.stub(:has_access?).and_return(true)
20
+ GenericFile.any_instance.stub(:terms_of_service).and_return('1')
21
21
  @user = FactoryGirl.find_or_create(:user)
22
22
  sign_in @user
23
- User.any_instance.stubs(:groups).returns([])
24
- controller.stubs(:clear_session_user) ## Don't clear out the authenticated session
23
+ User.any_instance.stub(:groups).and_return([])
24
+ controller.stub(:clear_session_user) ## Don't clear out the authenticated session
25
25
  end
26
26
  after do
27
27
  @user.delete
@@ -44,14 +44,16 @@ describe BatchController do
44
44
  end
45
45
  it "should equeue a batch update job" do
46
46
  params = {'generic_file' => {'terms_of_service' => '1', 'read_groups_string' => '', 'read_users_string' => 'archivist1, archivist2', 'tag' => ['']}, 'id' => @batch.pid, 'controller' => 'batch', 'action' => 'update'}
47
- Resque.expects(:enqueue).with(BatchUpdateJob, @user.user_key, params, params['generic_file']).once
47
+ s1 = stub('one')
48
+ BatchUpdateJob.should_receive(:new).with(@user.user_key, params).and_return(s1)
49
+ Sufia.queue.should_receive(:push).with(s1).once
48
50
  post :update, :id=>@batch.pid, "generic_file"=>{"terms_of_service"=>"1", "read_groups_string"=>"", "read_users_string"=>"archivist1, archivist2", "tag"=>[""]}
49
51
  end
50
52
  describe "when views are shown" do
51
53
  render_views
52
54
  it "should show flash messages" do
53
55
  post :update, :id=>@batch.pid, "generic_file"=>{"terms_of_service"=>"1", "read_groups_string"=>"","read_users_string"=>"archivist1, archivist2", "tag"=>[""]}
54
- response.should redirect_to @routes.url_helpers.dashboard_path
56
+ response.should redirect_to @routes.url_helpers.dashboard_index_path
55
57
  flash[:notice].should_not be_nil
56
58
  flash[:notice].should_not be_empty
57
59
  flash[:notice].should include("Your files are being processed")
@@ -63,7 +65,7 @@ describe BatchController do
63
65
  file = GenericFile.find(@file.pid)
64
66
  file.read_users.should == ['archivist1', 'archivist2']
65
67
 
66
- response.should redirect_to @routes.url_helpers.dashboard_path
68
+ response.should redirect_to @routes.url_helpers.dashboard_index_path
67
69
  end
68
70
  it "should set the groups with read access" do
69
71
  post :update, :id=>@batch.pid, "generic_file"=>{"terms_of_service"=>"1", "read_groups_string"=>"group1, group2", "read_users_string"=>"", "tag"=>[""]}
@@ -113,8 +115,8 @@ describe BatchController do
113
115
  end
114
116
  describe "#edit" do
115
117
  before do
116
- User.any_instance.stubs(:display_name).returns("Jill Z. User")
117
- GenericFile.any_instance.stubs(:characterize_if_changed).yields
118
+ User.any_instance.stub(:display_name).and_return("Jill Z. User")
119
+ GenericFile.any_instance.stub(:characterize_if_changed).and_yield
118
120
  @b1 = Batch.new
119
121
  @b1.save
120
122
  @file = GenericFile.new(:batch=>@b1, :label=>'f1')
@@ -123,7 +125,7 @@ describe BatchController do
123
125
  @file2 = GenericFile.new(:batch=>@b1, :label=>'f2')
124
126
  @file2.apply_depositor_metadata(@user.user_key)
125
127
  @file2.save
126
- controller.stubs(:params).returns({id:@b1.id})
128
+ controller.stub(:params).and_return({id:@b1.id})
127
129
  end
128
130
  after do
129
131
  @b1.delete
@@ -16,23 +16,23 @@ require 'spec_helper'
16
16
 
17
17
  describe CatalogController do
18
18
  before do
19
- GenericFile.any_instance.stubs(:terms_of_service).returns('1')
20
- GenericFile.any_instance.stubs(:characterize_if_changed).yields
19
+ GenericFile.any_instance.stub(:terms_of_service).and_return('1')
20
+ GenericFile.any_instance.stub(:characterize_if_changed).and_yield
21
21
  @user = FactoryGirl.find_or_create(:user)
22
22
  sign_in @user
23
- User.any_instance.stubs(:groups).returns([])
24
- controller.stubs(:clear_session_user) ## Don't clear out the authenticated session
23
+ User.any_instance.stub(:groups).and_return([])
24
+ controller.stub(:clear_session_user) ## Don't clear out the authenticated session
25
25
  end
26
26
  after do
27
27
  @user.delete
28
28
  end
29
29
  describe "#index" do
30
30
  before (:all) do
31
- GenericFile.any_instance.stubs(:terms_of_service).returns('1')
32
- @gf1 = GenericFile.new(title:'Test Document PDF', filename:'test.pdf', read_groups:['public'])
31
+ GenericFile.find_each { |f| f.delete }
32
+ @gf1 = GenericFile.new(title:'Test Document PDF', filename:'test.pdf', read_groups:['public'], :terms_of_service=>'1')
33
33
  @gf1.apply_depositor_metadata('mjg36')
34
34
  @gf1.save
35
- @gf2 = GenericFile.new(title:'Test 2 Document', filename:'test2.doc', contributor:'Contrib1', read_groups:['public'])
35
+ @gf2 = GenericFile.new(title:'Test 2 Document', filename:'test2.doc', contributor:'Contrib1', read_groups:['public'], :terms_of_service=>'1')
36
36
  @gf2.apply_depositor_metadata('mjg36')
37
37
  @gf2.save
38
38
  end
@@ -55,12 +55,12 @@ describe CatalogController do
55
55
  end
56
56
  describe "facet search" do
57
57
  before do
58
- xhr :get, :index, :fq=>"{!raw f=generic_file__contributor_facet}Contrib1"
58
+ xhr :get, :index, :q=>"{f=generic_file__contributor_facet}Contrib1"
59
59
  end
60
60
  it "should find facet files" do
61
61
  response.should be_success
62
62
  response.should render_template('catalog/index')
63
- assigns(:document_list).count.should eql(2)
63
+ assigns(:document_list).count.should eql(1)
64
64
  end
65
65
  end
66
66
  end
@@ -69,19 +69,19 @@ describe CatalogController do
69
69
  before do
70
70
  @gf1 = GenericFile.new(title:'Generic File 1', contributor:'contributor 1', resource_type:'type 1', read_groups:['public'])
71
71
  @gf1.apply_depositor_metadata('mjg36')
72
- @gf1.save
72
+ @gf1.save!
73
73
  sleep 1 # make sure next file is not at the same time compare
74
74
  @gf2 = GenericFile.new(title:'Generic File 2', contributor:'contributor 2', resource_type:'type 2', read_groups:['public'])
75
75
  @gf2.apply_depositor_metadata('mjg36')
76
- @gf2.save
76
+ @gf2.save!
77
77
  sleep 1 # make sure next file is not at the same time compare
78
78
  @gf3 = GenericFile.new(title:'Generic File 3', contributor:'contributor 3', resource_type:'type 3', read_groups:['public'])
79
79
  @gf3.apply_depositor_metadata('mjg36')
80
- @gf3.save
80
+ @gf3.save!
81
81
  sleep 1 # make sure next file is not at the same time compare
82
82
  @gf4 = GenericFile.new(title:'Generic File 4', contributor:'contributor 4', resource_type:'type 4', read_groups:['public'])
83
83
  @gf4.apply_depositor_metadata('mjg36')
84
- @gf4.save
84
+ @gf4.save!
85
85
  xhr :get, :recent
86
86
  end
87
87
 
@@ -16,27 +16,27 @@ require 'spec_helper'
16
16
 
17
17
  describe DashboardController do
18
18
  before do
19
- GenericFile.any_instance.stubs(:terms_of_service).returns('1')
20
- User.any_instance.stubs(:groups).returns([])
21
- controller.stubs(:clear_session_user) ## Don't clear out the authenticated session
19
+ GenericFile.any_instance.stub(:terms_of_service).and_return('1')
20
+ User.any_instance.stub(:groups).and_return([])
21
+ controller.stub(:clear_session_user) ## Don't clear out the authenticated session
22
22
  end
23
23
  # This doesn't really belong here, but it works for now
24
24
  describe "authenticate!" do
25
25
  # move to scholarsphere
26
26
  # before(:each) do
27
27
  # @user = FactoryGirl.find_or_create(:archivist)
28
- # request.stubs(:headers).returns('REMOTE_USER' => @user.login).at_least_once
28
+ # request.stub(:headers).and_return('REMOTE_USER' => @user.login).at_least(:once)
29
29
  # @strategy = Devise::Strategies::HttpHeaderAuthenticatable.new(nil)
30
- # @strategy.expects(:request).returns(request).at_least_once
30
+ # @strategy.should_receive(:request).and_return(request).at_least(:once)
31
31
  # end
32
32
  # after(:each) do
33
33
  # @user.delete
34
34
  # end
35
35
  it "should populate LDAP attrs if user is new" do
36
36
  pending "This should only be in scholarsphere"
37
- User.stubs(:find_by_login).with(@user.login).returns(nil)
38
- User.expects(:create).with(login: @user.login).returns(@user).once
39
- User.any_instance.expects(:populate_attributes).once
37
+ User.stub(:find_by_login).with(@user.login).and_return(nil)
38
+ User.should_receive(:create).with(login: @user.login).and_return(@user).once
39
+ User.any_instance.should_receive(:populate_attributes).once
40
40
  @strategy.should be_valid
41
41
  @strategy.authenticate!.should == :success
42
42
  sign_in @user
@@ -44,9 +44,9 @@ describe DashboardController do
44
44
  end
45
45
  it "should not populate LDAP attrs if user is not new" do
46
46
  pending "This should only be in scholarsphere"
47
- User.stubs(:find_by_login).with(@user.login).returns(@user)
48
- User.expects(:create).with(login: @user.login).never
49
- User.any_instance.expects(:populate_attributes).never
47
+ User.stub(:find_by_login).with(@user.login).and_return(@user)
48
+ User.should_receive(:create).with(login: @user.login).never
49
+ User.any_instance.should_receive(:populate_attributes).never
50
50
  @strategy.should be_valid
51
51
  @strategy.authenticate!.should == :success
52
52
  sign_in @user
@@ -57,8 +57,8 @@ describe DashboardController do
57
57
  before (:each) do
58
58
  @user = FactoryGirl.find_or_create(:archivist)
59
59
  sign_in @user
60
- controller.stubs(:clear_session_user) ## Don't clear out the authenticated session
61
- User.any_instance.stubs(:groups).returns([])
60
+ controller.stub(:clear_session_user) ## Don't clear out the authenticated session
61
+ User.any_instance.stub(:groups).and_return([])
62
62
  end
63
63
  describe "#index" do
64
64
  before (:each) do
@@ -69,8 +69,8 @@ describe DashboardController do
69
69
  response.should render_template('dashboard/index')
70
70
  end
71
71
  it "should return an array of documents I can edit" do
72
- @user_results = Blacklight.solr.find Hash[:fq=>["edit_access_group_t:public OR edit_access_person_t:#{@user.user_key}"]]
73
- assigns(:document_list).count.should eql(@user_results.docs.count)
72
+ @user_results = Blacklight.solr.get "select", :params=>{:fq=>["edit_access_group_t:public OR edit_access_person_t:#{@user.user_key}"]}
73
+ assigns(:document_list).count.should eql(@user_results["response"]["numFound"])
74
74
  end
75
75
  end
76
76
  end
@@ -17,12 +17,12 @@ require 'spec_helper'
17
17
  describe DownloadsController do
18
18
 
19
19
  before(:all) do
20
- GenericFile.any_instance.stubs(:terms_of_service).returns('1')
20
+ GenericFile.any_instance.stub(:terms_of_service).and_return('1')
21
21
  f = GenericFile.new(:pid => 'sufia:test1')
22
22
  f.apply_depositor_metadata('archivist1@example.com')
23
23
  f.set_title_and_label('world.png')
24
24
  f.add_file_datastream(File.new(fixture_path + '/world.png'), :dsid=>'content', :mimeType => 'image/png')
25
- f.expects(:characterize_if_changed).yields
25
+ f.should_receive(:characterize_if_changed).and_yield
26
26
  f.save
27
27
  end
28
28
 
@@ -39,8 +39,8 @@ describe DownloadsController do
39
39
  describe "when logged in as reader" do
40
40
  before do
41
41
  sign_in FactoryGirl.find_or_create(:archivist)
42
- User.any_instance.stubs(:groups).returns([])
43
- controller.stubs(:clear_session_user) ## Don't clear out the authenticated session
42
+ User.any_instance.stub(:groups).and_return([])
43
+ controller.stub(:clear_session_user) ## Don't clear out the authenticated session
44
44
  end
45
45
  after do
46
46
  arch = FactoryGirl.find(:archivist) rescue
@@ -49,30 +49,30 @@ describe DownloadsController do
49
49
  describe "show" do
50
50
  it "should default to returning configured default download" do
51
51
  DownloadsController.default_content_dsid.should == "content"
52
- controller.stubs(:render)
52
+ controller.stub(:render)
53
53
  expected_content = ActiveFedora::Base.find("sufia:test1").content.content
54
- controller.expects(:send_data).with(expected_content, {:filename => 'world.png', :disposition => 'inline', :type => 'image/png' })
54
+ controller.should_receive(:send_data).with(expected_content, {:filename => 'world.png', :disposition => 'inline', :type => 'image/png' })
55
55
  get "show", :id => "test1"
56
56
  response.should be_success
57
57
  end
58
58
  it "should return requested datastreams" do
59
- controller.stubs(:render)
59
+ controller.stub(:render)
60
60
  expected_content = ActiveFedora::Base.find("sufia:test1").descMetadata.content
61
- controller.expects(:send_data).with(expected_content, {:filename => 'descMetadata', :disposition => 'inline', :type => "text/plain"})
61
+ controller.should_receive(:send_data).with(expected_content, {:filename => 'descMetadata', :disposition => 'inline', :type => "text/plain"})
62
62
  get "show", :id => "test1", :datastream_id => "descMetadata"
63
63
  response.should be_success
64
64
  end
65
65
  it "should support setting disposition to inline" do
66
- controller.stubs(:render)
66
+ controller.stub(:render)
67
67
  expected_content = ActiveFedora::Base.find("sufia:test1").content.content
68
- controller.expects(:send_data).with(expected_content, {:filename => 'world.png', :type => 'image/png', :disposition => "inline"})
68
+ controller.should_receive(:send_data).with(expected_content, {:filename => 'world.png', :type => 'image/png', :disposition => "inline"})
69
69
  get "show", :id => "test1", :disposition => "inline"
70
70
  response.should be_success
71
71
  end
72
72
  it "should allow you to specify filename for download" do
73
- controller.stubs(:render)
73
+ controller.stub(:render)
74
74
  expected_content = ActiveFedora::Base.find("sufia:test1").content.content
75
- controller.expects(:send_data).with(expected_content, {:filename => "my%20dog.png", :disposition => 'inline', :type => 'image/png'})
75
+ controller.should_receive(:send_data).with(expected_content, {:filename => "my%20dog.png", :disposition => 'inline', :type => 'image/png'})
76
76
  get "show", :id => "test1", "filename" => "my%20dog.png"
77
77
  end
78
78
  end
@@ -81,8 +81,8 @@ describe DownloadsController do
81
81
  describe "when not logged in as reader" do
82
82
  before do
83
83
  sign_in FactoryGirl.find_or_create(:user)
84
- User.any_instance.stubs(:groups).returns([])
85
- controller.stubs(:clear_session_user) ## Don't clear out the authenticated session
84
+ User.any_instance.stub(:groups).and_return([])
85
+ controller.stub(:clear_session_user) ## Don't clear out the authenticated session
86
86
  end
87
87
  after do
88
88
  user = FactoryGirl.find(:user) rescue
@@ -16,20 +16,20 @@ require 'spec_helper'
16
16
 
17
17
  describe GenericFilesController do
18
18
  before do
19
- controller.stubs(:has_access?).returns(true)
19
+ controller.stub(:has_access?).and_return(true)
20
20
 
21
- GenericFile.any_instance.stubs(:terms_of_service).returns('1')
21
+ GenericFile.any_instance.stub(:terms_of_service).and_return('1')
22
22
  @user = FactoryGirl.find_or_create(:user)
23
23
  sign_in @user
24
- User.any_instance.stubs(:groups).returns([])
25
- controller.stubs(:clear_session_user) ## Don't clear out the authenticated session
24
+ User.any_instance.stub(:groups).and_return([])
25
+ controller.stub(:clear_session_user) ## Don't clear out the authenticated session
26
26
  end
27
27
  describe "#create" do
28
28
  before do
29
- GenericFile.any_instance.stubs(:terms_of_service).returns('1')
29
+ GenericFile.any_instance.stub(:terms_of_service).and_return('1')
30
30
  @file_count = GenericFile.count
31
31
  @mock = GenericFile.new({:pid => 'test:123'})
32
- GenericFile.stubs(:new).returns(@mock)
32
+ GenericFile.stub(:new).and_return(@mock)
33
33
  end
34
34
  after do
35
35
  begin
@@ -40,19 +40,31 @@ describe GenericFilesController do
40
40
  end
41
41
 
42
42
  it "should spawn a content deposit event job" do
43
- #GenericFile.any_instance.stubs(:to_solr).returns({})
44
43
  file = fixture_file_upload('/world.png','image/png')
45
- Resque.expects(:enqueue).with(ContentDepositEventJob, 'test:123', 'jilluser@example.com')
46
- Resque.expects(:enqueue).with(CharacterizeJob, 'test:123')
44
+ s1 = stub('one')
45
+ ContentDepositEventJob.should_receive(:new).with('test:123', 'jilluser@example.com').and_return(s1)
46
+ Sufia.queue.should_receive(:push).with(s1).once
47
+
48
+ s2 = stub('one')
49
+ CharacterizeJob.should_receive(:new).with('test:123').and_return(s2)
50
+ Sufia.queue.should_receive(:push).with(s2).once
47
51
  xhr :post, :create, :files=>[file], :Filename=>"The world", :batch_id => "sample:batch_id", :permission=>{"group"=>{"public"=>"read"} }, :terms_of_service=>"1"
48
52
  end
49
53
 
50
54
  it "should expand zip files" do
51
- #GenericFile.any_instance.stubs(:to_solr).returns({})
52
55
  file = fixture_file_upload('/world.png','application/zip')
53
- Resque.expects(:enqueue).with(CharacterizeJob, 'test:123')
54
- Resque.expects(:enqueue).with(UnzipJob, 'test:123')
55
- Resque.expects(:enqueue).with(ContentDepositEventJob, 'test:123', 'jilluser@example.com')
56
+ s1 = stub('one')
57
+ ContentDepositEventJob.should_receive(:new).with('test:123', 'jilluser@example.com').and_return(s1)
58
+ Sufia.queue.should_receive(:push).with(s1).once
59
+
60
+ s2 = stub('one')
61
+ CharacterizeJob.should_receive(:new).with('test:123').and_return(s2)
62
+ Sufia.queue.should_receive(:push).with(s2).once
63
+
64
+ s3 = stub('one')
65
+ UnzipJob.should_receive(:new).with('test:123').and_return(s3)
66
+ Sufia.queue.should_receive(:push).with(s3).once
67
+
56
68
  xhr :post, :create, :files=>[file], :Filename=>"The world", :batch_id => "sample:batch_id", :permission=>{"group"=>{"public"=>"read"} }, :terms_of_service=>"1"
57
69
  end
58
70
 
@@ -75,7 +87,7 @@ describe GenericFilesController do
75
87
  end
76
88
 
77
89
  it "should record what user created the first version of content" do
78
- #GenericFile.any_instance.stubs(:to_solr).returns({})
90
+ #GenericFile.any_instance.stub(:to_solr).and_return({})
79
91
  file = fixture_file_upload('/world.png','image/png')
80
92
  xhr :post, :create, :files=>[file], :Filename=>"The world", :terms_of_service=>"1"
81
93
 
@@ -86,9 +98,9 @@ describe GenericFilesController do
86
98
  end
87
99
 
88
100
  it "should create batch associations from batch_id" do
89
- Sufia::Engine.config.stubs(:id_namespace).returns('sample')
101
+ Sufia::Engine.config.stub(:id_namespace).and_return('sample')
90
102
  file = fixture_file_upload('/world.png','image/png')
91
- controller.stubs(:add_posted_blob_to_asset)
103
+ controller.stub(:add_posted_blob_to_asset)
92
104
  xhr :post, :create, :files=>[file], :Filename=>"The world", :batch_id => "sample:batch_id", :permission=>{"group"=>{"public"=>"read"} }, :terms_of_service=>"1"
93
105
  lambda {Batch.find("sample:batch_id")}.should raise_error(ActiveFedora::ObjectNotFoundError) # The controller shouldn't actually save the Batch, but it should write the batch id to the files.
94
106
  b = Batch.create(pid: "sample:batch_id")
@@ -115,10 +127,16 @@ describe GenericFilesController do
115
127
  saved_file.to_solr['depositor_t'].should == ['jilluser@example.com']
116
128
  end
117
129
  it "Should call virus check" do
118
- controller.expects(:virus_check).returns(0)
130
+ controller.should_receive(:virus_check).and_return(0)
119
131
  file = fixture_file_upload('/world.png','image/png')
120
- Resque.expects(:enqueue).with(ContentDepositEventJob, 'test:123', 'jilluser@example.com')
121
- Resque.expects(:enqueue).with(CharacterizeJob, 'test:123')
132
+
133
+ s1 = stub('one')
134
+ ContentDepositEventJob.should_receive(:new).with('test:123', 'jilluser@example.com').and_return(s1)
135
+ Sufia.queue.should_receive(:push).with(s1).once
136
+
137
+ s2 = stub('one')
138
+ CharacterizeJob.should_receive(:new).with('test:123').and_return(s2)
139
+ Sufia.queue.should_receive(:push).with(s2).once
122
140
  xhr :post, :create, :files=>[file], :Filename=>"The world", :batch_id => "sample:batch_id", :permission=>{"group"=>{"public"=>"read"} }, :terms_of_service=>"1"
123
141
  end
124
142
 
@@ -137,8 +155,8 @@ describe GenericFilesController do
137
155
  Object.send(:remove_const, :ClamAV) if @stubbed_clamav
138
156
  end
139
157
  it "failing virus check should create flash" do
140
- GenericFile.any_instance.stubs(:to_solr).returns({})
141
- ClamAV.any_instance.expects(:scanfile).returns(1)
158
+ GenericFile.any_instance.stub(:to_solr).and_return({})
159
+ ClamAV.any_instance.should_receive(:scanfile).and_return(1)
142
160
  file = fixture_file_upload('/world.png','image/png')
143
161
  controller.send :virus_check, file
144
162
  flash[:error].should_not be_empty
@@ -150,7 +168,7 @@ describe GenericFilesController do
150
168
 
151
169
  describe "audit" do
152
170
  before do
153
- #GenericFile.any_instance.stubs(:to_solr).returns({})
171
+ #GenericFile.any_instance.stub(:to_solr).and_return({})
154
172
  @generic_file = GenericFile.new
155
173
  @generic_file.add_file_datastream(File.new(fixture_path + '/world.png'), :dsid=>'content')
156
174
  @generic_file.apply_depositor_metadata('mjg36')
@@ -170,7 +188,7 @@ describe GenericFilesController do
170
188
 
171
189
  describe "destroy" do
172
190
  before(:each) do
173
- GenericFile.any_instance.stubs(:terms_of_service).returns('1')
191
+ GenericFile.any_instance.stub(:terms_of_service).and_return('1')
174
192
  @generic_file = GenericFile.new
175
193
  @generic_file.apply_depositor_metadata(@user.user_key)
176
194
  @generic_file.save
@@ -186,15 +204,17 @@ describe GenericFilesController do
186
204
  lambda { GenericFile.find(@generic_file.pid) }.should raise_error(ActiveFedora::ObjectNotFoundError)
187
205
  end
188
206
  it "should spawn a content delete event job" do
189
- Resque.expects(:enqueue).with(ContentDeleteEventJob, @generic_file.noid, @user.user_key)
207
+ s1 = stub('one')
208
+ ContentDeleteEventJob.should_receive(:new).with(@generic_file.noid, @user.user_key).and_return(s1)
209
+ Sufia.queue.should_receive(:push).with(s1).once
190
210
  delete :destroy, :id=>@generic_file.pid
191
211
  end
192
212
  end
193
213
 
194
214
  describe "update" do
195
215
  before do
196
- GenericFile.any_instance.stubs(:terms_of_service).returns('1')
197
- #controller.expects(:virus_check).returns(0)
216
+ GenericFile.any_instance.stub(:terms_of_service).and_return('1')
217
+ #controller.should_receive(:virus_check).and_return(0)
198
218
  @generic_file = GenericFile.new
199
219
  @generic_file.apply_depositor_metadata(@user.user_key)
200
220
  @generic_file.save
@@ -204,7 +224,9 @@ describe GenericFilesController do
204
224
  end
205
225
 
206
226
  it "should spawn a content update event job" do
207
- Resque.expects(:enqueue).with(ContentUpdateEventJob, @generic_file.pid, 'jilluser@example.com')
227
+ s1 = stub('one')
228
+ ContentUpdateEventJob.should_receive(:new).with(@generic_file.pid, 'jilluser@example.com').and_return(s1)
229
+ Sufia.queue.should_receive(:push).with(s1).once
208
230
  @user = FactoryGirl.find_or_create(:user)
209
231
  sign_in @user
210
232
  post :update, :id=>@generic_file.pid, :generic_file=>{:terms_of_service=>"1", :title=>'new_title', :tag=>[''], :permissions=>{:new_user_name=>{'archivist1'=>'edit'}}}
@@ -212,8 +234,12 @@ describe GenericFilesController do
212
234
  end
213
235
 
214
236
  it "should spawn a content new version event job" do
215
- Resque.expects(:enqueue).with(ContentNewVersionEventJob, @generic_file.pid, 'jilluser@example.com')
216
- Resque.expects(:enqueue).with(CharacterizeJob, @generic_file.pid)
237
+ s1 = stub('one')
238
+ ContentNewVersionEventJob.should_receive(:new).with(@generic_file.pid, 'jilluser@example.com').and_return(s1)
239
+ Sufia.queue.should_receive(:push).with(s1).once
240
+ s2 = stub('one')
241
+ CharacterizeJob.should_receive(:new).with(@generic_file.pid).and_return(s2)
242
+ Sufia.queue.should_receive(:push).with(s2).once
217
243
  @user = FactoryGirl.find_or_create(:user)
218
244
  sign_in @user
219
245
 
@@ -236,11 +262,17 @@ describe GenericFilesController do
236
262
  # other user uploads new version
237
263
  # TODO this should be a separate test
238
264
  archivist = FactoryGirl.find_or_create(:archivist)
239
- controller.stubs(:current_user).returns(archivist)
265
+ controller.stub(:current_user).and_return(archivist)
266
+
267
+ ContentUpdateEventJob.should_receive(:new).with(@generic_file.pid, 'jilluser@example.com').never
268
+
269
+ s1 = stub('one')
270
+ ContentNewVersionEventJob.should_receive(:new).with(@generic_file.pid, archivist.user_key).and_return(s1)
271
+ Sufia.queue.should_receive(:push).with(s1).once
240
272
 
241
- Resque.expects(:enqueue).with(ContentUpdateEventJob, @generic_file.pid, 'jilluser@example.com').never
242
- Resque.expects(:enqueue).with(ContentNewVersionEventJob, @generic_file.pid, archivist.user_key).once
243
- Resque.expects(:enqueue).with(CharacterizeJob, @generic_file.pid).once
273
+ s2 = stub('one')
274
+ CharacterizeJob.should_receive(:new).with(@generic_file.pid).and_return(s2)
275
+ Sufia.queue.should_receive(:push).with(s2).once
244
276
  file = fixture_file_upload('/image.jp2','image/jp2')
245
277
  post :update, :id=>@generic_file.pid, :filedata=>file, :Filename=>"The world", :generic_file=>{:terms_of_service=>"1", :tag=>[''] }
246
278
 
@@ -250,11 +282,16 @@ describe GenericFilesController do
250
282
  edited_file.content.version_committer(version2).should == archivist.user_key
251
283
 
252
284
  # original user restores his or her version
253
- controller.stubs(:current_user).returns(@user)
285
+ controller.stub(:current_user).and_return(@user)
254
286
  sign_in @user
255
- Resque.expects(:enqueue).with(ContentUpdateEventJob, @generic_file.pid, 'jilluser@example.com').never
256
- Resque.expects(:enqueue).with(ContentRestoredVersionEventJob, @generic_file.pid, @user.user_key, 'content.0').once
257
- Resque.expects(:enqueue).with(CharacterizeJob, @generic_file.pid).once
287
+ ContentUpdateEventJob.should_receive(:new).with(@generic_file.pid, 'jilluser@example.com').never
288
+ s1 = stub('one')
289
+ ContentRestoredVersionEventJob.should_receive(:new).with(@generic_file.pid, @user.user_key, 'content.0').and_return(s1)
290
+ Sufia.queue.should_receive(:push).with(s1).once
291
+
292
+ s2 = stub('one')
293
+ CharacterizeJob.should_receive(:new).with(@generic_file.pid).and_return(s2)
294
+ Sufia.queue.should_receive(:push).with(s2).once
258
295
  post :update, :id=>@generic_file.pid, :revision=>'content.0', :generic_file=>{:terms_of_service=>"1", :tag=>['']}
259
296
 
260
297
  restored_file = GenericFile.find(@generic_file.pid)
@@ -280,10 +317,15 @@ describe GenericFilesController do
280
317
  end
281
318
  it "should spawn a virus check" do
282
319
  # The expectation is in the begin block
283
- controller.expects(:virus_check).returns(0)
284
- Resque.stubs(:enqueue).with(ContentNewVersionEventJob, @generic_file.pid, 'jilluser@example.com')
285
- Resque.stubs(:enqueue).with(CharacterizeJob, @generic_file.pid)
286
- GenericFile.stubs(:save).returns({})
320
+ controller.should_receive(:virus_check).and_return(0)
321
+ s1 = stub('one')
322
+ ContentNewVersionEventJob.should_receive(:new).with(@generic_file.pid, 'jilluser@example.com').and_return(s1)
323
+ Sufia.queue.should_receive(:push).with(s1).once
324
+
325
+ s2 = stub('one')
326
+ CharacterizeJob.should_receive(:new).with(@generic_file.pid).and_return(s2)
327
+ Sufia.queue.should_receive(:push).with(s2).once
328
+ GenericFile.stub(:save).and_return({})
287
329
  @user = FactoryGirl.find_or_create(:user)
288
330
  sign_in @user
289
331
  file = fixture_file_upload('/world.png','image/png')
@@ -294,14 +336,14 @@ describe GenericFilesController do
294
336
 
295
337
  describe "someone elses files" do
296
338
  before(:all) do
297
- GenericFile.any_instance.stubs(:terms_of_service).returns('1')
339
+ GenericFile.any_instance.stub(:terms_of_service).and_return('1')
298
340
  f = GenericFile.new(:pid => 'sufia:test5')
299
341
  f.apply_depositor_metadata('archivist1@example.com')
300
342
  f.set_title_and_label('world.png')
301
343
  f.add_file_datastream(File.new(fixture_path + '/world.png'))
302
344
  # grant public read access explicitly
303
345
  f.read_groups = ['public']
304
- f.expects(:characterize_if_changed).yields
346
+ f.should_receive(:characterize_if_changed).and_yield
305
347
  f.save
306
348
  @file = f
307
349
  end
@@ -334,7 +376,7 @@ describe GenericFilesController do
334
376
  flash[:alert].should include("You need to sign in or sign up before continuing")
335
377
  end
336
378
  it "should filter flash if they signin" do
337
- request.env['warden'].stubs(:user).returns(@user)
379
+ request.env['warden'].stub(:user).and_return(@user)
338
380
  sign_out @user
339
381
  get :new
340
382
  sign_in @user
@@ -343,7 +385,7 @@ describe GenericFilesController do
343
385
  end
344
386
  describe "failing audit" do
345
387
  before(:all) do
346
- ActiveFedora::RelsExtDatastream.any_instance.stubs(:dsChecksumValid).returns(false)
388
+ ActiveFedora::RelsExtDatastream.any_instance.stub(:dsChecksumValid).and_return(false)
347
389
  @archivist = FactoryGirl.find_or_create(:archivist)
348
390
  end
349
391
  after(:all) do
@@ -353,7 +395,7 @@ describe GenericFilesController do
353
395
  sign_out @user
354
396
  sign_in @archivist
355
397
  @ds = @file.datastreams.first
356
- AuditJob.perform(@file.pid, @ds[0], @ds[1].versionID)
398
+ AuditJob.new(@file.pid, @ds[0], @ds[1].versionID).run
357
399
  get :show, id:"test5"
358
400
  assigns[:notify_number].should == 1
359
401
  response.body.should include('<span id="notify_number" class="overlay"> 1</span>') # notify should be 1 for failing job