active-fedora 3.0.7 → 3.1.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.
Files changed (67) hide show
  1. data/.rvmrc +1 -1
  2. data/Gemfile.lock +39 -10
  3. data/History.txt +0 -4
  4. data/active-fedora.gemspec +4 -3
  5. data/lib/active_fedora.rb +9 -9
  6. data/lib/active_fedora/base.rb +92 -163
  7. data/lib/active_fedora/datastream.rb +59 -60
  8. data/lib/active_fedora/datastream_hash.rb +18 -0
  9. data/lib/active_fedora/metadata_datastream.rb +3 -2
  10. data/lib/active_fedora/metadata_datastream_helper.rb +3 -15
  11. data/lib/active_fedora/model.rb +3 -3
  12. data/lib/active_fedora/nokogiri_datastream.rb +305 -302
  13. data/lib/active_fedora/qualified_dublin_core_datastream.rb +24 -19
  14. data/lib/active_fedora/rels_ext_datastream.rb +39 -37
  15. data/lib/active_fedora/rubydora_connection.rb +40 -0
  16. data/lib/active_fedora/semantic_node.rb +1 -1
  17. data/lib/active_fedora/solr_service.rb +1 -1
  18. data/lib/active_fedora/version.rb +1 -1
  19. data/lib/ruby-fedora.rb +0 -8
  20. data/lib/tasks/active_fedora.rake +14 -9
  21. data/lib/tasks/active_fedora_dev.rake +23 -40
  22. data/spec/integration/base_loader_spec.rb +4 -21
  23. data/spec/integration/base_spec.rb +300 -310
  24. data/spec/integration/bug_spec.rb +9 -10
  25. data/spec/integration/datastream_spec.rb +12 -12
  26. data/spec/integration/metadata_datastream_helper_spec.rb +7 -10
  27. data/spec/integration/model_spec.rb +3 -2
  28. data/spec/integration/rels_ext_datastream_spec.rb +9 -15
  29. data/spec/spec_helper.rb +2 -29
  30. data/spec/unit/active_fedora_spec.rb +5 -5
  31. data/spec/unit/base_cma_spec.rb +0 -7
  32. data/spec/unit/base_datastream_management_spec.rb +8 -67
  33. data/spec/unit/base_delegate_spec.rb +26 -9
  34. data/spec/unit/base_extra_spec.rb +5 -3
  35. data/spec/unit/base_file_management_spec.rb +10 -17
  36. data/spec/unit/base_named_datastream_spec.rb +76 -199
  37. data/spec/unit/base_spec.rb +152 -69
  38. data/spec/unit/content_model_spec.rb +1 -1
  39. data/spec/unit/datastream_concurrency_spec.rb +5 -4
  40. data/spec/unit/datastream_spec.rb +28 -48
  41. data/spec/unit/has_many_collection_spec.rb +2 -0
  42. data/spec/unit/inheritance_spec.rb +6 -6
  43. data/spec/unit/metadata_datastream_spec.rb +12 -28
  44. data/spec/unit/model_spec.rb +10 -10
  45. data/spec/unit/nokogiri_datastream_spec.rb +31 -33
  46. data/spec/unit/qualified_dublin_core_datastream_spec.rb +15 -15
  47. data/spec/unit/rels_ext_datastream_spec.rb +35 -29
  48. data/spec/unit/rubydora_connection_spec.rb +26 -0
  49. data/spec/unit/semantic_node_spec.rb +12 -17
  50. data/spec/unit/solr_config_options_spec.rb +13 -14
  51. data/spec/unit/solr_service_spec.rb +14 -17
  52. metadata +59 -55
  53. data/lib/fedora/base.rb +0 -38
  54. data/lib/fedora/connection.rb +0 -218
  55. data/lib/fedora/datastream.rb +0 -67
  56. data/lib/fedora/fedora_object.rb +0 -161
  57. data/lib/fedora/formats.rb +0 -30
  58. data/lib/fedora/generic_search.rb +0 -71
  59. data/lib/fedora/repository.rb +0 -298
  60. data/spec/integration/datastreams_crud_spec.rb +0 -208
  61. data/spec/integration/fedora_object_spec.rb +0 -77
  62. data/spec/integration/repository_spec.rb +0 -301
  63. data/spec/integration/rf_fedora_object_spec.rb +0 -95
  64. data/spec/unit/connection_spec.rb +0 -25
  65. data/spec/unit/fedora_object_spec.rb +0 -74
  66. data/spec/unit/repository_spec.rb +0 -143
  67. data/spec/unit/rf_datastream_spec.rb +0 -63
@@ -1,77 +0,0 @@
1
- require File.join( File.dirname(__FILE__), "../spec_helper" )
2
-
3
- require 'active_fedora'
4
-
5
- #
6
- # This is moving towards replacing the ActiveFedora::Base class with an ActiveFedora::FedoraObject module.
7
- # => Work put on hold 01 October 2008 to wait for re-implementation of Fedora::Repository as a singleton
8
- #
9
-
10
-
11
- describe ActiveFedora::FedoraObject do
12
-
13
- before :all do
14
- class Fobject
15
- include ActiveFedora::FedoraObject
16
- end
17
- end
18
-
19
- before(:each) do
20
- @test_object = Fobject.new
21
- end
22
-
23
- after(:each) do
24
- @test_object.delete
25
- end
26
-
27
- it "calling constructor should create a new Fedora Object" do
28
- @test_object.should have(0).errors
29
- @test_object.pid.should_not be_nil
30
- end
31
-
32
- it "should return an Hash of the objects datastreams" do
33
- datastreams = @test_object.datastreams
34
- datastreams.should be_an_instance_of(Hash)
35
- @test_object.datastreams["DC"].should be_an_instance_of(ActiveFedora::Datastream)
36
- datastreams["DC"].should_not be_nil
37
- datastreams["DC"].should be_an_instance_of(ActiveFedora::Datastream)
38
- #datastreams["DC"].should be_an_instance_of(Hash)
39
- end
40
-
41
- it "should expose the DC datastream using dc method" do
42
- dc = @test_object.dc
43
- dc.should be_an_instance_of(ActiveFedora::Datastream)
44
- rexml = REXML::Document.new(dc.content)
45
- rexml.root.elements["dc:identifier"].get_text.should_not be_nil
46
- #rexml.elements["dc:identifier"].should_not be_nil
47
- end
48
-
49
- it 'should respond to #rels_ext' do
50
- @test_object.should respond_to(:rels_ext)
51
- end
52
-
53
- describe '#rels_ext' do
54
- it 'should create the RELS-EXT datastream if it doesnt exist' do
55
- mocker = mock("rels-ext")
56
- ActiveFedora::RelsExtDatastream.expects(:new).returns(mocker)
57
- @test_object.expects(:add).with(mocker)
58
- # Make sure the RELS-EXT datastream does not exist yet
59
- @test_object.datastreams["RELS-EXT"].should == nil
60
- @test_object.rels_ext
61
- # Assume that @test_object.add actually does its job and adds the datastream to the datastreams array. Not testing that here.
62
- end
63
-
64
- it 'should return the RelsExtDatastream object from the datastreams array' do
65
- @test_object.expects(:datastreams).returns({"RELS-EXT" => "foo"}).at_least_once
66
- @test_object.rels_ext.should == "foo"
67
- end
68
- end
69
-
70
- it "should be able to add datastreams" do
71
- ds = ActiveFedora::Datastream.new(:dsID => 'ds1.jpg', :dsLabel => 'hello', :altIDs => '3333',
72
- :controlGroup => 'M', :blob => fixture('dino.jpg'))
73
- @test_object.add_datastream(ds).should be_true
74
- @test_object.save.should be_true
75
- end
76
-
77
- end
@@ -1,301 +0,0 @@
1
- require File.join( File.dirname(__FILE__), "../spec_helper" )
2
-
3
- # - Objects API - http://www.fedora-commons.org/documentation/3.0b1/userdocs/server/webservices/rest/index.html
4
-
5
- # - Object profile
6
- #
7
- # curl -i http://localhost:8080/fedora/objects/demo:10
8
- # curl -i http://localhost:8080/fedora/objects/demo:10.xml
9
- # curl -i http://localhost:8080/fedora/objects/demo:10?resultFormat=xml
10
- #
11
- # - Object history
12
- # curl -i http://localhost:8080/fedora/objects/demo:10/versions
13
- # curl -i http://localhost:8080/fedora/objects/demo:10/versions.xml
14
- # curl -i http://localhost:8080/fedora/objects/demo:10/versions/2007-07-25T17:08:11.915Z
15
- # curl -i http://localhost:8080/fedora/objects/demo:10/versions/2007-07-25T17:08:11.915Z.xml
16
- # curl -i http://localhost:8080/fedora/objects/demo:10/versions/2007-07-25T17:08:11.915Z?resultFormat=xml
17
- #
18
- # - Object export
19
- # curl -i -u fedoraAdmin:fedoraAdmin http://localhost:8080/fedora/objects/demo:10/export?resultFormat=foxml1.0&context=private
20
- #
21
- # - Object XML
22
- # curl -i http://localhost:8080/fedora/objects/demo:10/objectXML
23
- # curl -i http://localhost:8080/fedora/objects/demo:10/objectXML?resultFormat=xml
24
- #
25
- # - Object methods
26
- # curl -i http://localhost:8080/fedora/objects/demo:10/methods
27
- # curl -i http://localhost:8080/fedora/objects/demo:10/methods?resultFormat=xml
28
- # curl -i http://localhost:8080/fedora/objects/demo:10/methods/2007-07-25T17:08:11.915Z
29
- # curl -i http://localhost:8080/fedora/objects/demo:10/methods/2007-07-25T17:08:11.915Z.xml
30
- #
31
- # invalid: curl -i http://localhost:8080/fedora/objects/demo:10/methods.xml
32
- #
33
- # - Create
34
- # curl -i -H "Content-type: text/xml" -XPOST "http://localhost:8080/fedora/objects/new?label=Test&namespace=test" --data "" -u fedoraAdmin:fedoraAdmin
35
- # curl -i -H "Content-type: text/xml" -XPOST "http://localhost:9090/fedora/objects/new" --data "" -u fedoraAdmin:fedoraAdmin
36
- #
37
- # curl -i -H "Content-type: text/xml" -XPOST "http://localhost:8080/fedora/objects/test:02?label=Test" --data "" -u fedoraAdmin:fedoraAdmin
38
- # curl -i -H "Content-type: text/xml" -XPOST "http://localhost:8080/fedora/objects/test:01?label=Test&altIDs=3333" --data-binary @foxml.xml -u fedoraAdmin:fedoraAdmin
39
- #
40
- # - Delete
41
- # curl -i -u fedoraAdmin:fedoraAdmin -XDELETE http://localhost:8080/fedora/objects/demo:10
42
- #
43
- # Objects API
44
- # curl -i http://localhost:8080/fedora/objects
45
- # curl -i http://localhost:8080/fedora/objects?resultFormat=xml
46
- # curl -i http://localhost:8080/fedora/objects/nextPID -u fedoraAdmin:fedoraAdmin
47
- # curl -i http://localhost:8080/fedora/objects/nextPID.xml -u fedoraAdmin:fedoraAdmin
48
-
49
- describe Fedora::Repository, "constructor" do
50
- after(:all) do
51
- Fedora::Repository.register(ActiveFedora.fedora_config[:url])
52
- end
53
-
54
- it "should accept URL as string" do
55
- fedora_url = "http://fedoraAdmin:fedoraAdmin@127.0.0.1:8080/fedora"
56
- repository = Fedora::Repository.register(fedora_url)
57
-
58
- repository.fedora_url.should == URI.parse(fedora_url)
59
- end
60
-
61
- it "should accept URL as URI object" do
62
- fedora_url = URI.parse("http://fedoraAdmin:fedoraAdmin@127.0.0.1:8080/fedora")
63
- repository = Fedora::Repository.register(fedora_url)
64
-
65
- repository.fedora_url.should == fedora_url
66
- end
67
-
68
- it "should reject invalid url format" do
69
- lambda { Fedora::Repository.register("http://:8080/") }.should raise_error
70
- end
71
- end
72
-
73
- describe Fedora::Repository, "CRUD" do
74
- before(:all) do
75
- Fedora::Repository.register(ActiveFedora.fedora_config[:url])
76
- end
77
-
78
- before(:each) do
79
- @test_object = Fedora::FedoraObject.new(:label => 'test',
80
- :state => 'A',
81
- :ownerID => 'fedoraAdmin')
82
- end
83
-
84
- after(:each) do
85
- if !@test_object.new_object?
86
- begin
87
- Fedora::Repository.instance.delete(@test_object)
88
- end
89
- end
90
- end
91
-
92
- it "should create new fedora object with auto pid" do
93
- Fedora::Repository.instance.save(@test_object).should be_true
94
-
95
- @test_object.should have(0).errors
96
- @test_object.pid.should_not be_nil
97
- @test_object.label.should == 'test'
98
- @test_object.state.should == 'A'
99
- @test_object.owner_id.should == 'fedoraAdmin'
100
- end
101
-
102
- it "should create new fedora object with assigned pid" do
103
- @test_object.pid = "demo:1000"
104
- Fedora::Repository.instance.save(@test_object).should be_true
105
- @test_object.should have(0).errors
106
- @test_object.pid.should == "demo:1000"
107
- end
108
-
109
- it "should update object state" do
110
- Fedora::Repository.instance.save(@test_object).should be_true
111
-
112
- @test_object.state = 'I'
113
- Fedora::Repository.instance.update(@test_object).should be_true
114
- @test_object.state.should == 'I'
115
- end
116
-
117
- it "should delete object by ref" do
118
- Fedora::Repository.instance.create(@test_object).should be_true
119
- Fedora::Repository.instance.delete(@test_object).should be_true
120
- # prevent after statement from attempting to delete again
121
- @test_object.new_object = true
122
- end
123
-
124
- it "should delete object by pid" do
125
- Fedora::Repository.instance.create(@test_object).should be_true
126
- Fedora::Repository.instance.delete(@test_object.uri).should be_true
127
- # prevent after statement from attempting to delete again
128
- @test_object.new_object = true
129
- end
130
-
131
- =begin
132
- it "should fetch object profile Image of Coliseum in Rome" do
133
- xml = Fedora::Repository.instance.fetch_content("demo:5")
134
- validate_xml(xml, 'objectProfile')
135
- xml.should =~ %r{Data Object (Coliseum) for Local Simple Image Demo}
136
- end
137
- =end
138
- end
139
-
140
- describe Fedora::Repository, "find_objects" do
141
- before(:all) do
142
- Fedora::Repository.register(ActiveFedora.fedora_config[:url])
143
- end
144
-
145
- def fields_to_s(fields)
146
- fields.inject("") { |s, f| s += '&' + f.to_s + '=true' }
147
- end
148
-
149
- def when_find_objects(*args)
150
- fake_connection = mock("Connection")
151
- Fedora::Repository.instance.expects(:connection).returns(fake_connection)
152
- yield fake_connection
153
-
154
- Fedora::Repository.instance.find_objects(*args)
155
- end
156
-
157
- it "should include all fields by default" do
158
- when_find_objects('label~Image*') { |conn|
159
- conn.expects(:get).with('/fedora/objects?query=label%7EImage%2A&resultFormat=xml' + fields_to_s(Fedora::ALL_FIELDS))
160
- }
161
- end
162
-
163
- it "should include all fields when :include => :all " do
164
- when_find_objects('label~Image*', :include => :all) { |conn|
165
- conn.expects(:get).with('/fedora/objects?query=label%7EImage%2A&resultFormat=xml' + fields_to_s(Fedora::ALL_FIELDS))
166
- }
167
- end
168
-
169
- it "should fetch results with limit" do
170
- when_find_objects('label~Image*', :limit => 10) { |conn|
171
- conn.expects(:get).with('/fedora/objects?maxResults=10&query=label%7EImage%2A&resultFormat=xml' + fields_to_s(Fedora::ALL_FIELDS))
172
- }
173
- end
174
-
175
- it "should fetch results with some fields but not :pid" do
176
- when_find_objects('label~Image*', :select => [:label, :mDate]) { |conn|
177
- conn.expects(:get).with('/fedora/objects?query=label%7EImage%2A&resultFormat=xml' + fields_to_s([:pid, :label, :mDate]))
178
- }
179
- end
180
-
181
- it "should fetch results with some fields with :pid" do
182
- when_find_objects('label~Image*', :select => [:pid, :label, :mDate]) { |conn|
183
- conn.expects(:get).with('/fedora/objects?query=label%7EImage%2A&resultFormat=xml' + fields_to_s([:pid, :label, :mDate]))
184
- }
185
- end
186
-
187
- def sample_response_xml(n = 1)
188
- header = %Q(<result xmlns="http://www.fedora.info/definitions/1/0/types/">
189
- <listSession>
190
- <token>aToken</token>
191
- <cursor>0</cursor>
192
- </listSession>
193
- <resultList>)
194
-
195
- body = %Q(<objectFields>
196
- <pid>demo:10</pid>
197
- <label>Column Detail, Pavillion III, IVA Image Collection - University of Virginia</label>
198
- </objectFields>) * n
199
-
200
- header + body + %Q(</resultList></result>)
201
- end
202
-
203
- it "should convert xml response with 0 objectFields into array of FedoraObject" do
204
- objects = when_find_objects('label~Image*', :select => [:pid, :label, :mDate]) { |conn|
205
- conn.expects(:get).with('/fedora/objects?query=label%7EImage%2A&resultFormat=xml' + fields_to_s([:pid, :label, :mDate])).
206
- returns(Fedora::XmlFormat.decode(sample_response_xml))
207
- }
208
-
209
- objects.session_token.should == 'aToken'
210
- objects.should_not be_empty
211
- end
212
-
213
- it "should return FedoraObjects with new_object set to false" do
214
- objects = when_find_objects('label~Image*', :select => [:pid, :label, :mDate]) { |conn|
215
- conn.expects(:get).with('/fedora/objects?query=label%7EImage%2A&resultFormat=xml' + fields_to_s([:pid, :label, :mDate])).
216
- returns(Fedora::XmlFormat.decode(sample_response_xml))
217
- }
218
- objects.each do |obj|
219
- obj.should_not be_new_object
220
- end
221
-
222
- end
223
-
224
- it "should convert xml response with single objectFields into array of FedoraObject" do
225
- objects = when_find_objects('label~Image*', :select => [:pid, :label, :mDate]) { |conn|
226
- conn.expects(:get).with('/fedora/objects?query=label%7EImage%2A&resultFormat=xml' + fields_to_s([:pid, :label, :mDate])).
227
- returns(Fedora::XmlFormat.decode(sample_response_xml(1)))
228
- }
229
-
230
- objects.session_token.should == 'aToken'
231
- objects.should have(1).record
232
- objects.first.pid.should == 'demo:10'
233
- objects.first.should be_kind_of(Fedora::FedoraObject)
234
- end
235
-
236
- it "should convert xml response 2 objectFields into array of FedoraObject" do
237
- objects = when_find_objects('label~Image*', :select => [:pid, :label, :mDate]) { |conn|
238
- conn.expects(:get).with('/fedora/objects?query=label%7EImage%2A&resultFormat=xml' + fields_to_s([:pid, :label, :mDate])).
239
- returns(Fedora::XmlFormat.decode(sample_response_xml(2)))
240
- }
241
-
242
- objects.session_token.should == 'aToken'
243
- objects.should have(2).records
244
- end
245
- end
246
-
247
- describe Fedora::Repository, "ingest" do
248
-
249
- after(:each) do
250
- begin
251
- Fedora::Repository.instance.delete("test:12")
252
- end
253
- end
254
-
255
- it "should successfully ingest foxml" do
256
- foxml_file = fixture("test_12.foxml.xml")
257
- foxml = fixture("test_12.foxml.xml").read
258
- response = Fedora::Repository.instance.ingest(foxml_file)
259
- response.code.should == "201"
260
- response.body.should == "test:12"
261
- end
262
-
263
- end
264
-
265
- describe Fedora::Repository do
266
- before(:all) do
267
- require 'rexml/document'
268
- end
269
-
270
- it "should fetch history" do
271
- xml = Fedora::Repository.instance.fetch_custom("demo:20", :versions)
272
- validate_xml(xml, 'fedoraObjectHistory')
273
- xml.should =~ /pid="demo:20"/
274
- end
275
-
276
- it "should fetch profile" do
277
- xml = Fedora::Repository.instance.fetch_custom("demo:20", :profile)
278
- validate_xml(xml, 'objectProfile')
279
- xml.should =~ /pid="demo:20"/
280
- end
281
-
282
- it "should fetch export" do
283
- xml = Fedora::Repository.instance.fetch_custom("demo:20", :export)
284
- validate_xml(xml, 'digitalObject')
285
- xml.should =~ /demo:20/
286
- xml.should =~ /datastream/
287
- end
288
-
289
- it "should fetch objectXML" do
290
- xml = Fedora::Repository.instance.fetch_custom("demo:20", :objectXML)
291
- xml.should =~ /digitalObject/
292
- xml.should =~ /pid="demo:20"/i
293
- end
294
-
295
- it "should list object methods" do
296
- xml = Fedora::Repository.instance.fetch_custom("demo:20", :methods)
297
- xml.should =~ /objectMethods/
298
- xml.should =~ /pid="demo:20"/i
299
- end
300
-
301
- end
@@ -1,95 +0,0 @@
1
- require File.join( File.dirname(__FILE__), "../spec_helper" )
2
-
3
- require "rexml/document"
4
-
5
- describe Fedora::FedoraObject do
6
-
7
- before(:each) do
8
- Fedora::Repository.register(ActiveFedora.fedora_config[:url])
9
- @test_object = Fedora::FedoraObject.new(:pid=>"demo:1000")
10
- Fedora::Repository.instance.save(@test_object)
11
- end
12
-
13
- after(:each) do
14
- Fedora::Repository.instance.delete(@test_object)
15
- end
16
-
17
- describe '#object_xml' do
18
- it "should return XML with a root of digitalObject with namespace info:fedora/fedora-system:def/foxml#" do
19
- object_rexml = REXML::Document.new(@test_object.object_xml)
20
- object_rexml.root.name.should == "digitalObject"
21
- object_rexml.root.namespace.should == "info:fedora/fedora-system:def/foxml#"
22
- object_rexml.root.elements["foxml:objectProperties/foxml:property[@NAME='info:fedora/fedora-system:def/model#state']"].attributes["VALUE"].should_not be_nil
23
- end
24
- end
25
-
26
- describe '#profile' do
27
- it "should return an array with misc Fedora Object attributes" do
28
- profile = @test_object.profile
29
- profile.class.should == Hash
30
- profile.empty?.should_not == true
31
- #profile.class.should_not be_empty
32
- profile.should have_key(:owner_id)
33
- profile[:owner_id].should == "fedoraAdmin"
34
- #profile.should have_key(:content_model)
35
- profile.should have_key(:label)
36
- profile.should have_key(:create_date)
37
- profile.should have_key(:modified_date)
38
- profile.should have_key(:methods_list_url)
39
- profile.should have_key(:datastreams_list_url)
40
- profile.should have_key(:state)
41
- profile[:state].should == "A"
42
-
43
- end
44
- end
45
-
46
- it "should allow access to fedora object info" do
47
- @test_object.label = "test"
48
- Fedora::Repository.instance.save(@test_object)
49
- obj = Fedora::Repository.instance.find_objects("pid=#{@test_object.pid}").first
50
- obj.pid.should == "demo:1000"
51
- obj.label.should == 'test'
52
- obj.state.should == 'A'
53
- obj.owner_id.should == 'fedoraAdmin'
54
- end
55
-
56
- describe "properties_from_fedora" do
57
- it" should return the object properties from fedora" do
58
- @test_object.label = "test"
59
- Fedora::Repository.instance.save(@test_object)
60
- properties = @test_object.properties_from_fedora
61
- properties[:pid].should == "demo:1000"
62
- properties[:state].should == 'A'
63
- properties[:create_date].should == @test_object.profile[:create_date]
64
- properties[:modified_date].should == @test_object.profile[:modified_date]
65
- properties[:label].should == 'test'
66
- properties[:owner_id].should == 'fedoraAdmin'
67
- end
68
- it "should not set :label if it is not there in the object_xml" do
69
- object_rexml = REXML::Document.new(@test_object.object_xml)
70
- # The label node will be missing from the FOXML because label was never set.
71
- object_rexml.root.elements["//foxml:property[@NAME='info:fedora/fedora-system:def/model#label']"].attributes["VALUE"].should == ""
72
- properties = @test_object.properties_from_fedora
73
- properties[:label].should == nil
74
- end
75
- end
76
-
77
- describe "load_attr_from_fedora" do
78
- it "should push all of the properties from fedora into the objects attributes" do
79
- @test_object.label = "test"
80
- Fedora::Repository.instance.save(@test_object)
81
- @test_object.attributes.should == {:pid=>"demo:1000", :label=>"test"}
82
- @test_object.load_attributes_from_fedora
83
- #{:create_date=>"2009-07-16T17:42:33.548Z", :label=>"test", :modified_date=>"2009-07-16T17:42:33.548Z", :state=>"Active", :pid=>"demo:1000", :owner_id=>"fedoraAdmin"}
84
- @test_object.attributes[:pid].should == "demo:1000"
85
- @test_object.attributes[:state].should == 'A'
86
- #@test_object.attributes[:state].should == 'Active'
87
- @test_object.attributes[:create_date].should == @test_object.profile[:create_date]
88
- @test_object.attributes[:modified_date].should == @test_object.profile[:modified_date]
89
- @test_object.attributes[:label].should == 'test'
90
- @test_object.attributes[:owner_id].should == 'fedoraAdmin'
91
- end
92
- end
93
-
94
-
95
- end