@@ -230,36 +230,48 @@ class WriterTest < Test::Unit::TestCase
230
230
231
231
test 'write crate with remote files and directories' do
232
232
orig = ROCrate ::Reader . read ( fixture_file ( 'uri_heavy_crate' ) . path )
233
- Tempfile . create do |file |
234
- ROCrate ::Writer . new ( orig ) . write_zip ( file )
233
+ Tempfile . create do |file |
234
+ ROCrate ::Writer . new ( orig ) . write_zip ( file )
235
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
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
265
+
266
+ test 'write crate with arcp root identifier' do
267
+ crate = ROCrate ::Reader . read ( fixture_file ( 'arcp' ) . path )
239
268
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?
269
+ assert_equal 'arcp://name,somethingsomething' , crate . id
270
+ Dir . mktmpdir do |dir |
271
+ ROCrate ::Writer . new ( crate ) . write ( dir )
272
+ Dir . chdir ( dir ) do
273
+ assert File . exist? ( 'ro-crate-metadata.json' )
263
274
end
275
+ end
264
276
end
265
277
end
0 commit comments