@@ -332,83 +332,25 @@ function _restcall_mocked(method, url, headers, payload; query)
332332 Dict (" message" => " " , " success" => true ) |> jsonresponse (200 )
333333 end
334334 elseif (method == :GET ) && endswith (url, " datasets" )
335- dataset_params = get (MOCK_JULIAHUB_STATE, :dataset_params , Dict ())
336- dataset_version_sizes = get (MOCK_JULIAHUB_STATE, :dataset_version_sizes , nothing )
337- zerotime = TimeZones. ZonedDateTime (" 2022-10-12T05:39:42.906+00:00" )
338- versions_json =
339- dataset -> begin
340- version_sizes = something (
341- dataset_version_sizes,
342- (dataset == " example-dataset" ) ? [57 , 331 ] : [57 ],
343- )
344- Dict (
345- " version" => string (" v" , length (version_sizes)),
346- " versions" => map (enumerate (version_sizes)) do (i, sz)
347- Dict (
348- " version" => i,
349- " blobstore_path" => string (" u" , 2 ),
350- " size" => sz,
351- " date" => string (zerotime + Dates. Day (i) + Dates. Millisecond (sz)),
352- )
353- end ,
354- " size" => isempty (version_sizes) ? 0 : sum (version_sizes),
355- )
356- end
357- # ! format: off
358- shared = Dict (
359- " groups" => Any[],
360- " storage" => Dict (
361- " bucket_region" => " us-east-1" ,
362- " bucket" => " datasets-bucket" ,
363- " prefix" => " datasets" ,
364- " vendor" => " aws" ,
365- ),
366- " description" => get (dataset_params, " description" , " An example dataset" ),
367- " tags" => get (dataset_params, " tags" , [" tag1" , " tag2" ]),
368- " license" => (
369- " name" => " MIT License" ,
370- " spdx_id" => " MIT" ,
371- " text" => nothing ,
372- " url" => " https://opensource.org/licenses/MIT" ,
373- ),
374- " lastModified" => " 2022-10-12T05:39:42.906" ,
375- " downloadURL" => " " ,
376- " credentials_url" => " ..." ,
377- )
378- # ! format: on
379- datasets = []
380- for dataset_full_id in existing_datasets
381- username, dataset = split (dataset_full_id, ' /' ; limit= 2 )
382- push! (datasets,
383- Dict (
384- " id" => string (uuidhash (dataset_full_id)),
385- " name" => dataset,
386- " owner" => Dict (
387- " username" => username,
388- " type" => " User" ,
389- ),
390- " type" => occursin (" blobtree" , dataset) ? " BlobTree" : " Blob" ,
391- " visibility" => occursin (" public" , dataset) ? " public" : " private" ,
392- versions_json (dataset)... ,
393- shared... ,
335+ datasets = Dict[]
336+ for dataset_name in existing_datasets
337+ d = _dataset_json (
338+ dataset_name;
339+ params= get (MOCK_JULIAHUB_STATE, :dataset_params , Dict ()),
340+ version_sizes= something (
341+ get (MOCK_JULIAHUB_STATE, :dataset_version_sizes , nothing ),
342+ endswith (dataset_name, " /example-dataset" ) ? [57 , 331 ] : [57 ],
394343 ),
395344 )
345+ push! (datasets, d)
396346 end
397- for dataset in get (MOCK_JULIAHUB_STATE, :datasets_erroneous , String[])
398- push! (datasets,
399- Dict (
400- " id" => string (uuidhash (dataset)),
401- " name" => dataset,
402- " owner" => Dict (
403- " username" => nothing ,
404- " type" => " User" ,
405- ),
406- " type" => occursin (" blobtree" , dataset) ? " BlobTree" : " Blob" ,
407- " visibility" => occursin (" public" , dataset) ? " public" : " private" ,
408- versions_json (dataset)... ,
409- shared... ,
410- ),
347+ for dataset_name in get (MOCK_JULIAHUB_STATE, :datasets_erroneous , String[])
348+ d = _dataset_json (
349+ dataset_name;
350+ version_sizes= (dataset_name == " example-dataset" ) ? [57 , 331 ] : [57 ],
411351 )
352+ d[" owner" ][" username" ] = nothing
353+ push! (datasets, d)
412354 end
413355 datasets |> jsonresponse (200 )
414356 elseif (method == :DELETE ) && endswith (url, DATASET_REGEX)
@@ -776,3 +718,52 @@ function _http_request_mocked(
776718 ]
777719 HTTP. Response (200 , headers, b " success" )
778720end
721+
722+ function _dataset_json (
723+ dataset_name:: AbstractString ;
724+ params= Dict (),
725+ version_sizes= [],
726+ )
727+ zerotime = TimeZones. ZonedDateTime (" 2022-10-12T05:39:42.906+00:00" )
728+ username, dataset = string .(split (dataset_name, ' /' ; limit= 2 ))
729+ return Dict {String, Any} (
730+ " id" => string (uuidhash (dataset_name)),
731+ " name" => dataset,
732+ " owner" => Dict {String, Any} (
733+ " username" => username,
734+ " type" => " User" ,
735+ ),
736+ " type" => occursin (" blobtree" , dataset) ? " BlobTree" : " Blob" ,
737+ " visibility" => occursin (" public" , dataset) ? " public" : " private" ,
738+ # versions
739+ " version" => string (" v" , length (version_sizes)),
740+ " versions" => map (enumerate (version_sizes)) do (i, sz)
741+ Dict {String, Any} (
742+ " version" => i,
743+ " blobstore_path" => string (" u" , 2 ),
744+ " size" => sz,
745+ " date" => string (zerotime + Dates. Day (i) + Dates. Millisecond (sz)),
746+ )
747+ end ,
748+ " size" => isempty (version_sizes) ? 0 : sum (version_sizes),
749+ # shared
750+ " groups" => Any[],
751+ " storage" => Dict {String, Any} (
752+ " bucket_region" => " us-east-1" ,
753+ " bucket" => " datasets-bucket" ,
754+ " prefix" => " datasets" ,
755+ " vendor" => " aws" ,
756+ ),
757+ " description" => get (params, " description" , " An example dataset" ),
758+ " tags" => get (params, " tags" , [" tag1" , " tag2" ]),
759+ " license" => (
760+ " name" => " MIT License" ,
761+ " spdx_id" => " MIT" ,
762+ " text" => nothing ,
763+ " url" => " https://opensource.org/licenses/MIT" ,
764+ ),
765+ " lastModified" => " 2022-10-12T05:39:42.906" ,
766+ " downloadURL" => " " ,
767+ " credentials_url" => " ..." ,
768+ )
769+ end
0 commit comments