Skip to content

Commit 8581f03

Browse files
committed
Add bioschemas event oai-pmh ingestor test
1 parent cbf2699 commit 8581f03

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

lib/ingestors/oai_pmh_ingestor.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ def read_oai_dublin_core(client)
6161
def read_dublin_core_material(xml_doc)
6262
material = OpenStruct.new
6363
material.title = xml_doc.at_xpath('//dc:title', ns)&.text
64-
puts xml_doc.at_xpath('//dc:description', ns)&.text
6564
material.description = convert_description(xml_doc.at_xpath('//dc:description', ns)&.text)
6665
material.authors = xml_doc.xpath('//dc:creator', ns).map(&:text)
6766
material.contributors = xml_doc.xpath('//dc:contributor', ns).map(&:text)

test/unit/ingestors/oai_pmh_test.rb

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,6 @@ class OaiPmhTest < ActiveSupport::TestCase
161161
end
162162

163163
test 'should read bioschemas' do
164-
# TODO: add event and maybe course and course instance
165164
material = <<~METADATA
166165
<metadata><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sdo="http://schema.org/" xmlns:dc="http://purl.org/dc/terms/">
167166
<sdo:LearningResource rdf:about="https://pan-training.eu/materials/python-laser-image-visualization">
@@ -171,17 +170,33 @@ class OaiPmhTest < ActiveSupport::TestCase
171170
</dc:conformsTo>
172171
<sdo:name>bioschemas title</sdo:name>
173172
<sdo:url rdf:resource="https://example.org/bioschemas/material"/>
173+
<sdo:license rdf:resource="https://opensource.org/licenses/MIT"/>
174174
</sdo:LearningResource>
175175
</rdf:RDF></metadata>
176176
METADATA
177177

178-
OAI::Client.stub(:new, FakeClient.new([material, material], [])) do
178+
event = <<~METADATA
179+
<metadata><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sdo="http://schema.org/" xmlns:dc="http://purl.org/dc/terms/">
180+
<sdo:Event rdf:about="https://pan-training.eu/materials/python-laser-image-visualization">
181+
<sdo:name>bioschemas title2</sdo:name>
182+
<sdo:url rdf:resource="https://example.org/bioschemas/event"/>
183+
</sdo:Event>
184+
</rdf:RDF></metadata>
185+
METADATA
186+
187+
OAI::Client.stub(:new, FakeClient.new([material, material, event], [])) do
179188
@ingestor.read('https://example.org')
180189
end
181190

182191
assert_equal 1, @ingestor.materials.length
183192
result = @ingestor.materials.first
184193
assert_equal 'bioschemas title', result.title
185194
assert_equal 'https://example.org/bioschemas/material', result.url
195+
assert_equal 'https://opensource.org/licenses/MIT', result.licence
196+
197+
assert_equal 1, @ingestor.events.length
198+
result = @ingestor.events.first
199+
assert_equal 'bioschemas title2', result.title
200+
assert_equal 'https://example.org/bioschemas/event', result.url
186201
end
187202
end

0 commit comments

Comments
 (0)