ro-crate 0.5.0 → 0.5.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.
data/test/reader_test.rb CHANGED
@@ -279,4 +279,28 @@ class ReaderTest < Test::Unit::TestCase
279
279
  assert entity.has_type?('RepositoryCollection')
280
280
  assert entity.payload.empty?
281
281
  end
282
+
283
+ test 'reading RO-Crate with absolute URI files/directories' do
284
+ crate = ROCrate::Reader.read(fixture_file('uri_heavy_crate').path)
285
+
286
+ dir = crate.get('nih:sha-256;f70e-eb2e-89d0-b3dc-5c99-8541-fa4b-6e64-a194-cf9d-ebd8-ca58-24e7-c47a-553f-86fa;c/')
287
+ assert dir
288
+ assert dir.is_a?(ROCrate::Directory)
289
+ assert dir.remote?
290
+ assert_empty dir.payload
291
+
292
+ file = crate.get('nih:sha-256;3a2c-8d14-a40b-3755-4abc-5af8-a56d-ba3a-e159-d688-c9b3-f169-6751-4b88-fbd2-6a9f;7')
293
+ assert file
294
+ assert file.is_a?(ROCrate::File)
295
+ assert file.remote?
296
+ assert_empty file.payload
297
+
298
+ real_file = crate.get('main.nf')
299
+ assert real_file
300
+ assert real_file.is_a?(ROCrate::File)
301
+ refute real_file.remote?
302
+ assert_not_empty real_file.payload
303
+ refute real_file.payload.values.first.remote?
304
+ refute real_file.payload.values.first.directory?
305
+ end
282
306
  end
data/test/writer_test.rb CHANGED
@@ -227,4 +227,39 @@ class WriterTest < Test::Unit::TestCase
227
227
  end
228
228
  end
229
229
  end
230
+
231
+ test 'write crate with remote files and directories' do
232
+ orig = ROCrate::Reader.read(fixture_file('uri_heavy_crate').path)
233
+ Tempfile.create do |file|
234
+ ROCrate::Writer.new(orig).write_zip(file)
235
+
236
+ Zip::File.open(file) do |zipfile|
237
+ refute zipfile.find_entry('nih:sha-256;3a2c-8d14-a40b-3755-4abc-5af8-a56d-ba3a-e159-d688-c9b3-f169-6751-4b88-fbd2-6a9f;7')
238
+ end
239
+
240
+ file.rewind
241
+
242
+ crate = ROCrate::Reader.read(file)
243
+
244
+ dir = crate.get('nih:sha-256;f70e-eb2e-89d0-b3dc-5c99-8541-fa4b-6e64-a194-cf9d-ebd8-ca58-24e7-c47a-553f-86fa;c/')
245
+ assert dir
246
+ assert dir.is_a?(ROCrate::Directory)
247
+ assert dir.remote?
248
+ assert_empty dir.payload
249
+
250
+ file = crate.get('nih:sha-256;3a2c-8d14-a40b-3755-4abc-5af8-a56d-ba3a-e159-d688-c9b3-f169-6751-4b88-fbd2-6a9f;7')
251
+ assert file
252
+ assert file.is_a?(ROCrate::File)
253
+ assert file.remote?
254
+ assert_empty file.payload
255
+
256
+ real_file = crate.get('main.nf')
257
+ assert real_file
258
+ assert real_file.is_a?(ROCrate::File)
259
+ refute real_file.remote?
260
+ assert_not_empty real_file.payload
261
+ refute real_file.payload.values.first.remote?
262
+ refute real_file.payload.values.first.directory?
263
+ end
264
+ end
230
265
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ro-crate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Finn Bacall
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-06 00:00:00.000000000 Z
11
+ date: 2022-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -217,6 +217,9 @@ files:
217
217
  - test/fixtures/unlinked_entity_crate/test/test1/input.bed
218
218
  - test/fixtures/unlinked_entity_crate/test/test1/output_exp.bed
219
219
  - test/fixtures/unlinked_entity_crate/test/test1/sort-and-change-case-test.yml
220
+ - test/fixtures/uri_heavy_crate/main.nf
221
+ - test/fixtures/uri_heavy_crate/ro-crate-metadata.json
222
+ - test/fixtures/uri_heavy_crate/ro-crate-preview.html
220
223
  - test/fixtures/workflow-0.2.0.zip
221
224
  - test/fixtures/workflow-0.2.0/Dockerfile
222
225
  - test/fixtures/workflow-0.2.0/README.md