active-fedora 6.4.2 → 6.4.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.mailmap +15 -6
  3. data/active-fedora.gemspec +2 -2
  4. data/gemfiles/gemfile.rails4 +1 -1
  5. data/lib/active_fedora.rb +8 -12
  6. data/lib/active_fedora/digital_object.rb +1 -0
  7. data/lib/active_fedora/model.rb +6 -6
  8. data/lib/active_fedora/om_datastream.rb +14 -3
  9. data/lib/active_fedora/querying.rb +6 -5
  10. data/lib/active_fedora/solr_service.rb +15 -10
  11. data/lib/active_fedora/version.rb +1 -1
  12. data/lib/tasks/active_fedora_dev.rake +1 -17
  13. data/spec/config_helper.rb +1 -1
  14. data/spec/{unit → integration}/auditable_spec.rb +5 -7
  15. data/spec/integration/base_spec.rb +2 -1
  16. data/spec/integration/bug_spec.rb +6 -0
  17. data/spec/integration/complex_rdf_datastream_spec.rb +3 -3
  18. data/spec/integration/model_spec.rb +8 -7
  19. data/spec/integration/om_datastream_spec.rb +78 -73
  20. data/spec/integration/rdf_nested_attributes_spec.rb +2 -2
  21. data/spec/integration/solr_instance_loader_spec.rb +9 -4
  22. data/spec/integration/solr_service_spec.rb +2 -8
  23. data/spec/support/mock_fedora.rb +6 -6
  24. data/spec/unit/active_fedora_spec.rb +12 -1
  25. data/spec/unit/base_extra_spec.rb +10 -10
  26. data/spec/unit/base_spec.rb +18 -18
  27. data/spec/unit/content_model_spec.rb +6 -6
  28. data/spec/unit/datastream_spec.rb +1 -1
  29. data/spec/unit/datastreams_spec.rb +19 -19
  30. data/spec/unit/has_and_belongs_to_many_collection_spec.rb +6 -6
  31. data/spec/unit/has_many_collection_spec.rb +3 -3
  32. data/spec/unit/ntriples_datastream_spec.rb +2 -2
  33. data/spec/unit/om_datastream_spec.rb +6 -6
  34. data/spec/unit/query_spec.rb +11 -11
  35. data/spec/unit/rdf_list_spec.rb +2 -2
  36. data/spec/unit/rdfxml_rdf_datastream_spec.rb +2 -2
  37. data/spec/unit/rels_ext_datastream_spec.rb +6 -6
  38. data/spec/unit/semantic_node_spec.rb +5 -5
  39. data/spec/unit/solr_config_options_spec.rb +1 -1
  40. data/spec/unit/solr_service_spec.rb +42 -20
  41. metadata +10 -23
  42. data/spec/fixtures/auditable.foxml.xml +0 -110
  43. data/spec/fixtures/changeme155.xml +0 -255
  44. data/spec/fixtures/test_12.foxml.xml +0 -60
  45. data/spec/fixtures/test_fixture_mods_article1.foxml.xml +0 -234
  46. data/spec/fixtures/test_fixture_mods_article2.foxml.xml +0 -234
  47. data/spec/hydrangea_fixture_mods_article1.foxml.xml +0 -225
  48. data/spec/integration/mods_article_integration_spec.rb +0 -22
@@ -2,11 +2,11 @@ require 'spec_helper'
2
2
 
3
3
  describe ActiveFedora::Associations::HasAndBelongsToManyAssociation do
4
4
  it "should call add_relationship" do
5
- subject = stub("subject", :new_record? => false, :pid => 'subject:a', :internal_uri => 'info:fedora/subject:a', :ids_for_outbound => [])
6
- predicate = stub(:klass => mock.class, :options=>{:property=>'predicate'}, :class_name=> nil)
5
+ subject = double("subject", :new_record? => false, :pid => 'subject:a', :internal_uri => 'info:fedora/subject:a', :ids_for_outbound => [])
6
+ predicate = double(:klass => double.class, :options=>{:property=>'predicate'}, :class_name=> nil)
7
7
  ActiveFedora::SolrService.stub(:query).and_return([])
8
8
  ac = ActiveFedora::Associations::HasAndBelongsToManyAssociation.new(subject, predicate)
9
- object = stub("object", :new_record? => false, :pid => 'object:b', :save => nil)
9
+ object = double("object", :new_record? => false, :pid => 'object:b', :save => nil)
10
10
 
11
11
  subject.should_receive(:add_relationship).with('predicate', object)
12
12
 
@@ -15,11 +15,11 @@ describe ActiveFedora::Associations::HasAndBelongsToManyAssociation do
15
15
  end
16
16
 
17
17
  it "should call add_relationship on subject and object when inverse_of given" do
18
- subject = stub("subject", :new_record? => false, :pid => 'subject:a', :internal_uri => 'info:fedora/subject:a', :ids_for_outbound => [])
19
- predicate = stub(:klass => mock.class, :options=>{:property=>'predicate', :inverse_of => 'inverse_predicate'}, :class_name=> nil)
18
+ subject = double("subject", :new_record? => false, :pid => 'subject:a', :internal_uri => 'info:fedora/subject:a', :ids_for_outbound => [])
19
+ predicate = double(:klass => double.class, :options=>{:property=>'predicate', :inverse_of => 'inverse_predicate'}, :class_name=> nil)
20
20
  ActiveFedora::SolrService.stub(:query).and_return([])
21
21
  ac = ActiveFedora::Associations::HasAndBelongsToManyAssociation.new(subject, predicate)
22
- object = stub("object", :new_record? => false, :pid => 'object:b', :save => nil)
22
+ object = double("object", :new_record? => false, :pid => 'object:b', :save => nil)
23
23
 
24
24
  subject.should_receive(:add_relationship).with('predicate', object)
25
25
 
@@ -2,11 +2,11 @@ require 'spec_helper'
2
2
 
3
3
  describe ActiveFedora::Associations::HasManyAssociation do
4
4
  it "should call add_relationship" do
5
- subject = stub("subject", :new_record? => false, :pid => 'subject:a', :internal_uri => 'info:fedora/subject:a')
6
- predicate = stub(:klass => mock.class, :options=>{:property=>'predicate'}, :class_name=> nil)
5
+ subject = double("subject", :new_record? => false, :pid => 'subject:a', :internal_uri => 'info:fedora/subject:a')
6
+ predicate = double(:klass => double.class, :options=>{:property=>'predicate'}, :class_name=> nil)
7
7
  ActiveFedora::SolrService.stub(:query).and_return([])
8
8
  ac = ActiveFedora::Associations::HasManyAssociation.new(subject, predicate)
9
- object = stub("object", :new_record? => false, :pid => 'object:b', :save => nil)
9
+ object = double("object", :new_record? => false, :pid => 'object:b', :save => nil)
10
10
 
11
11
  object.should_receive(:add_relationship).with('predicate', subject)
12
12
 
@@ -14,7 +14,7 @@ describe ActiveFedora::NtriplesRDFDatastream do
14
14
  map.related_url(:to => "seeAlso", :in => RDF::RDFS)
15
15
  end
16
16
  end
17
- @subject = MyDatastream.new(stub('inner object', :pid=>'test:1', :new? =>true), 'descMetadata')
17
+ @subject = MyDatastream.new(double('inner object', :pid=>'test:1', :new? =>true), 'descMetadata')
18
18
  @subject.content = File.new('spec/fixtures/mixed_rdf_descMetadata.nt').read
19
19
  end
20
20
  after do
@@ -208,7 +208,7 @@ describe ActiveFedora::NtriplesRDFDatastream do
208
208
  delegate :rights, :to => :descMetadata
209
209
  end
210
210
  @obj = MyDatastream.new(@inner_object, 'solr_rdf')
211
- repository = mock()
211
+ repository = double()
212
212
  @obj.stub(:repository => repository, :pid => 'test:1')
213
213
  repository.stub(:modify_datastream)
214
214
  repository.stub(:add_datastream)
@@ -9,7 +9,7 @@ describe ActiveFedora::OmDatastream do
9
9
  :empty_field => {:values => {}}
10
10
  }
11
11
  @sample_raw_xml = "<foo><xmlelement/></foo>"
12
- @solr_doc = {"id"=>"hydrange_article1",
12
+ @solr_doc = {"id"=>"mods_article1",
13
13
  ActiveFedora::SolrService.solr_name("name_role_roleTerm", type: :string) =>["creator","submitter","teacher"],
14
14
  ActiveFedora::SolrService.solr_name("name_0_role", type: :string)=>"\r\ncreator\r\nsubmitter\r\n",
15
15
  ActiveFedora::SolrService.solr_name("name_1_role", type: :string)=>"\r\n teacher \r\n",
@@ -19,9 +19,9 @@ describe ActiveFedora::OmDatastream do
19
19
  end
20
20
 
21
21
  before(:each) do
22
- @mock_inner = mock('inner object')
23
- @mock_repo = mock('repository')
24
- @mock_repo.stub(:datastream_dissemination=>'My Content', :config=>{})
22
+ @mock_inner = double('inner object')
23
+ @mock_repo = double('repository')
24
+ @mock_repo.stub(:datastream_dissemination=>'My Content', :config=>{}, :datastream=>'')
25
25
  @mock_inner.stub(:repository).and_return(@mock_repo)
26
26
  @mock_inner.stub(:pid)
27
27
  @mock_inner.stub(:new? => false)
@@ -262,9 +262,9 @@ describe ActiveFedora::OmDatastream do
262
262
  end
263
263
 
264
264
  it "should return correct values from solr_doc given different term pointers" do
265
- mock_term = mock("OM::XML::Term")
265
+ mock_term = double("OM::XML::Term")
266
266
  mock_term.stub(:type).and_return(:text)
267
- mock_terminology = mock("OM::XML::Terminology")
267
+ mock_terminology = double("OM::XML::Terminology")
268
268
  mock_terminology.stub(:retrieve_term).and_return(mock_term)
269
269
  ActiveFedora::OmDatastream.stub(:terminology).and_return(mock_terminology)
270
270
  @mods_ds.from_solr(@solr_doc)
@@ -42,7 +42,7 @@ describe ActiveFedora::Base do
42
42
  describe "and a pid is specified" do
43
43
  it "should use SpecModel::Basic.allocate.init_with to instantiate an object" do
44
44
  SpecModel::Basic.any_instance.should_receive(:init_with).and_return(SpecModel::Basic.new)
45
- ActiveFedora::DigitalObject.should_receive(:find).and_return(stub("inner obj", :'new?'=>false))
45
+ ActiveFedora::DigitalObject.should_receive(:find).and_return(double("inner obj", :'new?'=>false))
46
46
  SpecModel::Basic.find("_PID_").should be_a SpecModel::Basic
47
47
  end
48
48
  it "should raise an exception if it is not found" do
@@ -54,8 +54,8 @@ describe ActiveFedora::Base do
54
54
  end
55
55
  describe "with :cast" do
56
56
  it "should use SpecModel::Basic.allocate.init_with to instantiate an object" do
57
- SpecModel::Basic.any_instance.should_receive(:init_with).and_return(mock("Model", :adapt_to_cmodel=>SpecModel::Basic.new ))
58
- ActiveFedora::DigitalObject.should_receive(:find).and_return(stub("inner obj", :'new?'=>false))
57
+ SpecModel::Basic.any_instance.should_receive(:init_with).and_return(double("Model", :adapt_to_cmodel=>SpecModel::Basic.new ))
58
+ ActiveFedora::DigitalObject.should_receive(:find).and_return(double("inner obj", :'new?'=>false))
59
59
  SpecModel::Basic.find("_PID_", :cast=>true)
60
60
  end
61
61
  end
@@ -115,7 +115,7 @@ describe ActiveFedora::Base do
115
115
 
116
116
  SpecModel::Basic.should_receive(:find_one).with("changeme:30", nil).and_return(SpecModel::Basic.new(:pid=>'changeme:30'))
117
117
  SpecModel::Basic.should_receive(:find_one).with("changeme:22", nil).and_return(SpecModel::Basic.new(:pid=>'changeme:22'))
118
- yielded = mock("yielded method")
118
+ yielded = double("yielded method")
119
119
  yielded.should_receive(:run).with { |obj| obj.class == SpecModel::Basic}.twice
120
120
  SpecModel::Basic.find_each(){|obj| yielded.run(obj) }
121
121
  end
@@ -138,7 +138,7 @@ describe ActiveFedora::Base do
138
138
  hash[:params][:q].split(" AND ").include?("baz:\"quix\"") &&
139
139
  hash[:params][:q].split(" AND ").include?("baz:\"quack\"")
140
140
  }.and_return('response'=>{'docs'=>mock_docs})
141
- yielded = mock("yielded method")
141
+ yielded = double("yielded method")
142
142
  yielded.should_receive(:run).with { |obj| obj.class == SpecModel::Basic}.twice
143
143
  SpecModel::Basic.find_each({:foo=>'bar', :baz=>['quix','quack']}){|obj| yielded.run(obj) }
144
144
  end
@@ -148,7 +148,7 @@ describe ActiveFedora::Base do
148
148
  describe '#find_in_batches' do
149
149
  describe "with conditions hash" do
150
150
  it "should filter by the provided fields" do
151
- mock_docs = mock('docs')
151
+ mock_docs = double('docs')
152
152
  mock_docs.should_receive(:has_next?).and_return(false)
153
153
  ActiveFedora::SolrService.instance.conn.should_receive(:paginate).with() { |page, rows, method, hash|
154
154
  page == 1 &&
@@ -162,7 +162,7 @@ describe ActiveFedora::Base do
162
162
  hash[:params][:q].split(" AND ").include?("baz:\"quix\"") &&
163
163
  hash[:params][:q].split(" AND ").include?("baz:\"quack\"")
164
164
  }.and_return('response'=>{'docs'=>mock_docs})
165
- yielded = mock("yielded method")
165
+ yielded = double("yielded method")
166
166
  yielded.should_receive(:run).with(mock_docs)
167
167
  SpecModel::Basic.find_in_batches({:foo=>'bar', :baz=>['quix','quack']}, {:batch_size=>1002, :fl=>'id'}){|group| yielded.run group }.should
168
168
  end
@@ -191,7 +191,7 @@ describe ActiveFedora::Base do
191
191
 
192
192
  describe '#find_with_conditions' do
193
193
  it "should make a query to solr and return the results" do
194
- mock_result = stub('Result')
194
+ mock_result = double('Result')
195
195
  ActiveFedora::SolrService.should_receive(:query).with() { |args|
196
196
  q = args.first if args.is_a? Array
197
197
  q ||= args
@@ -204,7 +204,7 @@ describe ActiveFedora::Base do
204
204
  end
205
205
 
206
206
  it "should escape quotes" do
207
- mock_result = stub('Result')
207
+ mock_result = double('Result')
208
208
  ActiveFedora::SolrService.should_receive(:query).with() { |args|
209
209
  q = args.first if args.is_a? Array
210
210
  q ||= args
@@ -218,12 +218,12 @@ describe ActiveFedora::Base do
218
218
  end
219
219
 
220
220
  it "shouldn't use the class if it's called on AF:Base " do
221
- mock_result = stub('Result')
221
+ mock_result = double('Result')
222
222
  ActiveFedora::SolrService.should_receive(:query).with('baz:"quack"', {:sort => [@sort_query]}).and_return(mock_result)
223
223
  ActiveFedora::Base.find_with_conditions(:baz=>'quack').should == mock_result
224
224
  end
225
225
  it "should use the query string if it's provided" do
226
- mock_result = stub('Result')
226
+ mock_result = double('Result')
227
227
  ActiveFedora::SolrService.should_receive(:query).with('chunky:monkey', {:sort => [@sort_query]}).and_return(mock_result)
228
228
  ActiveFedora::Base.find_with_conditions('chunky:monkey').should == mock_result
229
229
  end
@@ -39,7 +39,7 @@ describe ActiveFedora::RdfList do
39
39
  end
40
40
 
41
41
  describe "a new list" do
42
- let (:ds) { DemoList.new(stub('inner object', :pid=>'foo', :new? =>true), 'descMetadata')}
42
+ let (:ds) { DemoList.new(double('inner object', :pid=>'foo', :new? =>true), 'descMetadata')}
43
43
  subject { ds.elementList.build}
44
44
 
45
45
  it "should insert at the end" do
@@ -102,7 +102,7 @@ END
102
102
 
103
103
  describe "a list with content" do
104
104
  subject do
105
- subject = DemoList.new(stub('inner object', :pid=>'foo', :new? =>true), 'descMetadata')
105
+ subject = DemoList.new(double('inner object', :pid=>'foo', :new? =>true), 'descMetadata')
106
106
  subject.content =<<END
107
107
  <rdf:RDF
108
108
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mads="http://www.loc.gov/mads/rdf/v1#">
@@ -93,7 +93,7 @@ describe ActiveFedora::RdfxmlRDFDatastream do
93
93
  end
94
94
 
95
95
  describe "a new instance" do
96
- subject { MyDatastream.new(stub('inner object', :pid=>'test:1', :new? =>true), 'descMetadata', about:"http://library.ucsd.edu/ark:/20775/") }
96
+ subject { MyDatastream.new(double('inner object', :pid=>'test:1', :new? =>true), 'descMetadata', about:"http://library.ucsd.edu/ark:/20775/") }
97
97
  it "should have a subject" do
98
98
  subject.rdf_subject.to_s.should == "http://library.ucsd.edu/ark:/20775/"
99
99
  end
@@ -102,7 +102,7 @@ describe ActiveFedora::RdfxmlRDFDatastream do
102
102
 
103
103
  describe "an instance with content" do
104
104
  subject do
105
- subject = MyDatastream.new(stub('inner object', :pid=>'test:1', :new? =>true), 'descMetadata')
105
+ subject = MyDatastream.new(double('inner object', :pid=>'test:1', :new? =>true), 'descMetadata')
106
106
  subject.content = File.new('spec/fixtures/damsObjectModel.xml').read
107
107
  subject
108
108
  end
@@ -14,8 +14,8 @@ describe ActiveFedora::RelsExtDatastream do
14
14
  end
15
15
 
16
16
  before(:each) do
17
- mock_inner = mock('inner object')
18
- @mock_repo = mock('repository')
17
+ mock_inner = double('inner object')
18
+ @mock_repo = double('repository')
19
19
  @mock_repo.stub(:datastream_dissemination=>'My Content', :config=>{})
20
20
  mock_inner.stub(:repository).and_return(@mock_repo)
21
21
  mock_inner.stub(:pid).and_return(@pid)
@@ -37,7 +37,7 @@ describe ActiveFedora::RelsExtDatastream do
37
37
  subject.changed?.should == false
38
38
  end
39
39
  it "should be true when the model has changes" do
40
- subject.model = stub(:relationships_are_dirty=>true)
40
+ subject.model = double(:relationships_are_dirty=>true)
41
41
  subject.changed?.should == true
42
42
  end
43
43
  end
@@ -50,7 +50,7 @@ describe ActiveFedora::RelsExtDatastream do
50
50
  subject = RDF::URI.new "info:fedora/test:sample_pid"
51
51
  graph.insert RDF::Statement.new(subject, ActiveFedora::Predicates.find_graph_predicate(:is_member_of), RDF::URI.new('demo:10'))
52
52
 
53
- @test_ds.stub(:new? => true, :relationships_are_dirty? =>true, :relationships => graph, :model => mock(:relationships_are_dirty= => true))
53
+ @test_ds.stub(:new? => true, :relationships_are_dirty? =>true, :relationships => graph, :model => double(:relationships_are_dirty= => true))
54
54
  @test_ds.serialize!
55
55
  EquivalentXml.equivalent?(@test_ds.content, "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>\n <rdf:Description rdf:about='info:fedora/test:sample_pid'>\n <isMemberOf rdf:resource='demo:10' xmlns='info:fedora/fedora-system:def/relations-external#'/></rdf:Description>\n </rdf:RDF>").should be_true
56
56
  end
@@ -83,7 +83,7 @@ describe ActiveFedora::RelsExtDatastream do
83
83
  graph.insert RDF::Statement.new(subject, ActiveFedora::Predicates.find_graph_predicate(:has_model), RDF::URI.new("info:fedora/afmodel:OtherModel"))
84
84
  graph.insert RDF::Statement.new(subject, ActiveFedora::Predicates.find_graph_predicate(:has_model), RDF::URI.new("info:fedora/afmodel:SampleModel"))
85
85
 
86
- @test_ds.should_receive(:model).and_return(stub("model", :relationships=>graph, :relationships_are_dirty= => true))
86
+ @test_ds.should_receive(:model).and_return(double("model", :relationships=>graph, :relationships_are_dirty= => true))
87
87
  EquivalentXml.equivalent?(@test_ds.to_rels_ext(), @sample_rels_ext_xml).should be_true
88
88
  end
89
89
 
@@ -96,7 +96,7 @@ describe ActiveFedora::RelsExtDatastream do
96
96
  graph.insert RDF::Statement.new(subject, ActiveFedora::Predicates.find_graph_predicate(:has_model), RDF::URI.new("info:fedora/afmodel:OtherModel"))
97
97
  graph.insert RDF::Statement.new(subject, ActiveFedora::Predicates.find_graph_predicate(:has_model), RDF::URI.new("info:fedora/afmodel:SampleModel"))
98
98
 
99
- @test_ds.stub(:model).and_return(stub("model", :relationships=>graph, :relationships_are_dirty= => true))
99
+ @test_ds.stub(:model).and_return(double("model", :relationships=>graph, :relationships_are_dirty= => true))
100
100
  rels = @test_ds.to_rels_ext()
101
101
  EquivalentXml.equivalent?(rels, @sample_rels_ext_xml).should be_true
102
102
  rels.should_not =~ /fedora:isMemberOf/
@@ -45,11 +45,11 @@ describe ActiveFedora::SemanticNode do
45
45
  end
46
46
 
47
47
  @node = SpecNode.new
48
- @node.stub(:rels_ext).and_return(stub("rels_ext", :content_will_change! => true, :content=>''))
48
+ @node.stub(:rels_ext).and_return(double("rels_ext", :content_will_change! => true, :content=>''))
49
49
  @node.pid = increment_pid
50
50
  @test_object = SpecNode2.new
51
51
  @test_object.pid = increment_pid
52
- @test_object.stub(:rels_ext).and_return(stub("rels_ext", :content_will_change! => true, :content=>''))
52
+ @test_object.stub(:rels_ext).and_return(double("rels_ext", :content_will_change! => true, :content=>''))
53
53
  end
54
54
 
55
55
  after(:each) do
@@ -103,9 +103,9 @@ describe ActiveFedora::SemanticNode do
103
103
  it "adding relationship to an instance should not affect class-level relationships hash" do
104
104
  local_test_node1 = SpecNode.new
105
105
  local_test_node2 = SpecNode.new
106
- local_test_node1.stub(:rels_ext).and_return(stub("rels_ext", :content_will_change! => true, :content=>''))
106
+ local_test_node1.stub(:rels_ext).and_return(double("rels_ext", :content_will_change! => true, :content=>''))
107
107
  local_test_node1.add_relationship(:is_member_of, 'demo:10')
108
- local_test_node2.stub(:rels_ext).and_return(stub('rels-ext', :content=>''))
108
+ local_test_node2.stub(:rels_ext).and_return(double('rels-ext', :content=>''))
109
109
 
110
110
  local_test_node1.relationships(:is_member_of).should == ["demo:10"]
111
111
  local_test_node2.relationships(:is_member_of).should == []
@@ -135,7 +135,7 @@ describe ActiveFedora::SemanticNode do
135
135
 
136
136
  describe '#remove_relationship' do
137
137
  it 'should remove a relationship from the relationships hash' do
138
- @test_object.stub(:rels_ext).and_return(stub("rels_ext", :content_will_change! => true, :content=>''))
138
+ @test_object.stub(:rels_ext).and_return(double("rels_ext", :content_will_change! => true, :content=>''))
139
139
  @test_object.add_relationship(:has_part, "info:fedora/3")
140
140
  @test_object.add_relationship(:has_part, "info:fedora/4")
141
141
  #check both are there
@@ -33,7 +33,7 @@ describe ActiveFedora do
33
33
  end
34
34
 
35
35
  it "should be used by ActiveFedora::Base#find_with_conditions" do
36
- mock_response = mock("SolrResponse")
36
+ mock_response = double("SolrResponse")
37
37
  ActiveFedora::SolrService.should_receive(:query).with("_query_:\"{!raw f=#{ActiveFedora::SolrService.solr_name("has_model", :symbol)}}info:fedora/afmodel:SolrSpecModel_Basic\" AND " + SOLR_DOCUMENT_ID + ':"changeme\\:30"', {:sort => ["#{ActiveFedora::SolrService.solr_name("system_create", :stored_sortable, type: :date)} asc"]}).and_return(mock_response)
38
38
 
39
39
  SolrSpecModel::Basic.find_with_conditions(:id=>"changeme:30").should equal(mock_response)
@@ -34,8 +34,8 @@ describe ActiveFedora::SolrService do
34
34
  proc{ActiveFedora::SolrService.instance}.should raise_error(ActiveFedora::SolrNotInitialized)
35
35
  end
36
36
 
37
- describe "#reify_solr_results" do
38
- before(:each) do
37
+ describe "reify solr results" do
38
+ before(:all) do
39
39
  class AudioRecord
40
40
  attr_accessor :pid
41
41
  def init_with(inner_obj)
@@ -46,14 +46,36 @@ describe ActiveFedora::SolrService do
46
46
  end
47
47
  end
48
48
  @sample_solr_hits = [{"id"=>"my:_PID1_", ActiveFedora::SolrService.solr_name("has_model", :symbol)=>["info:fedora/afmodel:AudioRecord"]},
49
- {"id"=>"my:_PID2_", ActiveFedora::SolrService.solr_name("has_model", :symbol)=>["info:fedora/afmodel:AudioRecord"]},
50
- {"id"=>"my:_PID3_", ActiveFedora::SolrService.solr_name("has_model", :symbol)=>["info:fedora/afmodel:AudioRecord"]}]
49
+ {"id"=>"my:_PID2_", ActiveFedora::SolrService.solr_name("has_model", :symbol)=>["info:fedora/afmodel:AudioRecord"]},
50
+ {"id"=>"my:_PID3_", ActiveFedora::SolrService.solr_name("has_model", :symbol)=>["info:fedora/afmodel:AudioRecord"]}]
51
51
  end
52
- it "should use Repository.find to instantiate objects" do
53
- AudioRecord.should_receive(:find).with("my:_PID1_")
54
- AudioRecord.should_receive(:find).with("my:_PID2_")
55
- AudioRecord.should_receive(:find).with("my:_PID3_")
56
- ActiveFedora::SolrService.reify_solr_results(@sample_solr_hits)
52
+ describe ".reify_solr_results" do
53
+ it "should use AudioRecord.find to instantiate objects" do
54
+ AudioRecord.should_receive(:find).with("my:_PID1_")
55
+ AudioRecord.should_receive(:find).with("my:_PID2_")
56
+ AudioRecord.should_receive(:find).with("my:_PID3_")
57
+ ActiveFedora::SolrService.reify_solr_results(@sample_solr_hits)
58
+ end
59
+ it "should use AudioRecord.load_instance_from_solr when called with :load_from_solr option" do
60
+ AudioRecord.should_receive(:load_instance_from_solr).with("my:_PID1_")
61
+ AudioRecord.should_receive(:load_instance_from_solr).with("my:_PID2_")
62
+ AudioRecord.should_receive(:load_instance_from_solr).with("my:_PID3_")
63
+ ActiveFedora::SolrService.reify_solr_results(@sample_solr_hits, load_from_solr: true)
64
+ end
65
+ end
66
+ describe ".lazy_reify_solr_results" do
67
+ it "should lazily reify solr results" do
68
+ AudioRecord.should_receive(:find).with("my:_PID1_")
69
+ AudioRecord.should_receive(:find).with("my:_PID2_")
70
+ AudioRecord.should_receive(:find).with("my:_PID3_")
71
+ ActiveFedora::SolrService.lazy_reify_solr_results(@sample_solr_hits).each {|r| r}
72
+ end
73
+ it "should use AudioRecord.load_instance_from_solr when called with :load_from_solr option" do
74
+ AudioRecord.should_receive(:load_instance_from_solr).with("my:_PID1_")
75
+ AudioRecord.should_receive(:load_instance_from_solr).with("my:_PID2_")
76
+ AudioRecord.should_receive(:load_instance_from_solr).with("my:_PID3_")
77
+ ActiveFedora::SolrService.lazy_reify_solr_results(@sample_solr_hits, load_from_solr: true).each {|r| r}
78
+ end
57
79
  end
58
80
  end
59
81
 
@@ -76,44 +98,44 @@ describe ActiveFedora::SolrService do
76
98
 
77
99
  describe ".query" do
78
100
  it "should call solr" do
79
- mock_conn = mock("Connection")
80
- stub_result = stub("Result")
101
+ mock_conn = double("Connection")
102
+ stub_result = double("Result")
81
103
  mock_conn.should_receive(:get).with('select', :params=>{:q=>'querytext', :qt=>'standard'}).and_return(stub_result)
82
- ActiveFedora::SolrService.stub(:instance =>stub("instance", :conn=>mock_conn))
104
+ ActiveFedora::SolrService.stub(:instance =>double("instance", :conn=>mock_conn))
83
105
  ActiveFedora::SolrService.query('querytext', :raw=>true).should == stub_result
84
106
  end
85
107
  end
86
108
  describe ".count" do
87
109
  it "should return a count of matching records" do
88
- mock_conn = mock("Connection")
110
+ mock_conn = double("Connection")
89
111
  stub_result = {'response' => {'numFound'=>'7'}}
90
112
  mock_conn.should_receive(:get).with('select', :params=>{:rows=>0, :q=>'querytext', :qt=>'standard'}).and_return(stub_result)
91
- ActiveFedora::SolrService.stub(:instance =>stub("instance", :conn=>mock_conn))
113
+ ActiveFedora::SolrService.stub(:instance =>double("instance", :conn=>mock_conn))
92
114
  ActiveFedora::SolrService.count('querytext').should == 7
93
115
  end
94
116
  it "should accept query args" do
95
- mock_conn = mock("Connection")
117
+ mock_conn = double("Connection")
96
118
  stub_result = {'response' => {'numFound'=>'7'}}
97
119
  mock_conn.should_receive(:get).with('select', :params=>{:rows=>0, :q=>'querytext', :qt=>'standard', :fq=>'filter'}).and_return(stub_result)
98
- ActiveFedora::SolrService.stub(:instance =>stub("instance", :conn=>mock_conn))
120
+ ActiveFedora::SolrService.stub(:instance =>double("instance", :conn=>mock_conn))
99
121
  ActiveFedora::SolrService.count('querytext', :fq=>'filter', :rows=>10).should == 7
100
122
  end
101
123
  end
102
124
  describe ".add" do
103
125
  it "should call solr" do
104
- mock_conn = mock("Connection")
126
+ mock_conn = double("Connection")
105
127
  doc = {'id' => '1234'}
106
128
  mock_conn.should_receive(:add).with(doc)
107
- ActiveFedora::SolrService.stub(:instance =>stub("instance", :conn=>mock_conn))
129
+ ActiveFedora::SolrService.stub(:instance =>double("instance", :conn=>mock_conn))
108
130
  ActiveFedora::SolrService.add(doc)
109
131
  end
110
132
  end
111
133
  describe ".commit" do
112
134
  it "should call solr" do
113
- mock_conn = mock("Connection")
135
+ mock_conn = double("Connection")
114
136
  doc = {'id' => '1234'}
115
137
  mock_conn.should_receive(:commit)
116
- ActiveFedora::SolrService.stub(:instance =>stub("instance", :conn=>mock_conn))
138
+ ActiveFedora::SolrService.stub(:instance =>double("instance", :conn=>mock_conn))
117
139
  ActiveFedora::SolrService.commit()
118
140
  end
119
141
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active-fedora
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.4.2
4
+ version: 6.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Zumwalt
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-07-10 00:00:00.000000000 Z
13
+ date: 2013-07-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rsolr
@@ -120,16 +120,16 @@ dependencies:
120
120
  name: rdf-rdfxml
121
121
  requirement: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - ~>
123
+ - - '='
124
124
  - !ruby/object:Gem::Version
125
- version: 1.0.0
125
+ version: 1.0.1
126
126
  type: :runtime
127
127
  prerelease: false
128
128
  version_requirements: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - ~>
130
+ - - '='
131
131
  - !ruby/object:Gem::Version
132
- version: 1.0.0
132
+ version: 1.0.1
133
133
  - !ruby/object:Gem::Dependency
134
134
  name: deprecation
135
135
  requirement: !ruby/object:Gem::Requirement
@@ -394,8 +394,6 @@ files:
394
394
  - script/destroy
395
395
  - script/generate
396
396
  - spec/config_helper.rb
397
- - spec/fixtures/auditable.foxml.xml
398
- - spec/fixtures/changeme155.xml
399
397
  - spec/fixtures/damsObjectModel.xml
400
398
  - spec/fixtures/dino.jpg
401
399
  - spec/fixtures/dino_jpg_no_file_ext
@@ -412,11 +410,8 @@ files:
412
410
  - spec/fixtures/rails_root/config/solr_mappings_bl_2.4.yml
413
411
  - spec/fixtures/sharded_fedora.yml
414
412
  - spec/fixtures/solr_rdf_descMetadata.nt
415
- - spec/fixtures/test_12.foxml.xml
416
- - spec/fixtures/test_fixture_mods_article1.foxml.xml
417
- - spec/fixtures/test_fixture_mods_article2.foxml.xml
418
- - spec/hydrangea_fixture_mods_article1.foxml.xml
419
413
  - spec/integration/associations_spec.rb
414
+ - spec/integration/auditable_spec.rb
420
415
  - spec/integration/base_spec.rb
421
416
  - spec/integration/bug_spec.rb
422
417
  - spec/integration/complex_rdf_datastream_spec.rb
@@ -427,7 +422,6 @@ files:
427
422
  - spec/integration/full_featured_model_spec.rb
428
423
  - spec/integration/has_many_associations_spec.rb
429
424
  - spec/integration/model_spec.rb
430
- - spec/integration/mods_article_integration_spec.rb
431
425
  - spec/integration/nested_attribute_spec.rb
432
426
  - spec/integration/ntriples_datastream_spec.rb
433
427
  - spec/integration/om_datastream_spec.rb
@@ -486,7 +480,6 @@ files:
486
480
  - spec/support/mock_fedora.rb
487
481
  - spec/unit/active_fedora_spec.rb
488
482
  - spec/unit/association_proxy_spec.rb
489
- - spec/unit/auditable_spec.rb
490
483
  - spec/unit/base_active_model_spec.rb
491
484
  - spec/unit/base_cma_spec.rb
492
485
  - spec/unit/base_datastream_management_spec.rb
@@ -536,7 +529,8 @@ files:
536
529
  - spec/unit/unsaved_digital_object_spec.rb
537
530
  - spec/unit/validations_spec.rb
538
531
  homepage: https://github.com/projecthydra/active_fedora
539
- licenses: []
532
+ licenses:
533
+ - APACHE2
540
534
  metadata: {}
541
535
  post_install_message:
542
536
  rdoc_options: []
@@ -560,8 +554,6 @@ specification_version: 4
560
554
  summary: A convenience libary for manipulating documents in the Fedora Repository.
561
555
  test_files:
562
556
  - spec/config_helper.rb
563
- - spec/fixtures/auditable.foxml.xml
564
- - spec/fixtures/changeme155.xml
565
557
  - spec/fixtures/damsObjectModel.xml
566
558
  - spec/fixtures/dino.jpg
567
559
  - spec/fixtures/dino_jpg_no_file_ext
@@ -578,11 +570,8 @@ test_files:
578
570
  - spec/fixtures/rails_root/config/solr_mappings_bl_2.4.yml
579
571
  - spec/fixtures/sharded_fedora.yml
580
572
  - spec/fixtures/solr_rdf_descMetadata.nt
581
- - spec/fixtures/test_12.foxml.xml
582
- - spec/fixtures/test_fixture_mods_article1.foxml.xml
583
- - spec/fixtures/test_fixture_mods_article2.foxml.xml
584
- - spec/hydrangea_fixture_mods_article1.foxml.xml
585
573
  - spec/integration/associations_spec.rb
574
+ - spec/integration/auditable_spec.rb
586
575
  - spec/integration/base_spec.rb
587
576
  - spec/integration/bug_spec.rb
588
577
  - spec/integration/complex_rdf_datastream_spec.rb
@@ -593,7 +582,6 @@ test_files:
593
582
  - spec/integration/full_featured_model_spec.rb
594
583
  - spec/integration/has_many_associations_spec.rb
595
584
  - spec/integration/model_spec.rb
596
- - spec/integration/mods_article_integration_spec.rb
597
585
  - spec/integration/nested_attribute_spec.rb
598
586
  - spec/integration/ntriples_datastream_spec.rb
599
587
  - spec/integration/om_datastream_spec.rb
@@ -652,7 +640,6 @@ test_files:
652
640
  - spec/support/mock_fedora.rb
653
641
  - spec/unit/active_fedora_spec.rb
654
642
  - spec/unit/association_proxy_spec.rb
655
- - spec/unit/auditable_spec.rb
656
643
  - spec/unit/base_active_model_spec.rb
657
644
  - spec/unit/base_cma_spec.rb
658
645
  - spec/unit/base_datastream_management_spec.rb