@@ -309,6 +309,38 @@ void shouldGenerateAppCommandWithEntrypointAndArgs() {
309309 }
310310 // endregion
311311
312+ // region isBulkRequest
313+ @ Test
314+ void shouldBeBulkRequest () {
315+ final DealParams dealParams = DealParams .builder ()
316+ .bulkCid ("cid" )
317+ .build ();
318+ final TaskDescription taskDescription = TaskDescription .builder ()
319+ .dealParams (dealParams )
320+ .build ();
321+ assertTrue (taskDescription .isBulkRequest ());
322+ }
323+
324+ @ ParameterizedTest
325+ @ NullSource
326+ @ MethodSource ("provideDealParamsWithoutBulkCid" )
327+ void shouldNotBeBulkRequest (final DealParams dealParams ) {
328+ final TaskDescription taskDescription = TaskDescription .builder ()
329+ .dealParams (dealParams )
330+ .build ();
331+ assertFalse (taskDescription .isBulkRequest ());
332+ }
333+
334+ private static Stream <Arguments > provideDealParamsWithoutBulkCid () {
335+ return Stream .of (
336+ Arguments .of (DealParams .builder ().build ()),
337+ Arguments .of (DealParams .builder ().bulkCid (null ).build ()),
338+ Arguments .of (DealParams .builder ().bulkCid ("" ).build ()),
339+ Arguments .of (DealParams .builder ().bulkCid (" " ).build ())
340+ );
341+ }
342+ // endregion
343+
312344 // region isEligibleToContributeAndFinalize
313345 @ ParameterizedTest
314346 @ ValueSource (strings = {"" , CALLBACK })
@@ -344,4 +376,45 @@ void shouldNotBeEligibleToContributeAndFinalizeSinceWrongTrust() {
344376 assertFalse (taskDescription .isEligibleToContributeAndFinalize ());
345377 }
346378 // endregion
379+
380+ // region requiresPreCompute
381+ @ ParameterizedTest
382+ @ MethodSource ("provideDealParamsForTaskPreCompute" )
383+ void shouldRequirePreCompute (final TaskDescription taskDescription ) {
384+ assertTrue (taskDescription .requiresPreCompute ());
385+ }
386+
387+ private static Stream <Arguments > provideDealParamsForTaskPreCompute () {
388+ return Stream .of (
389+ Arguments .of (TaskDescription .builder ().datasetAddress ("0x01" ).datasetUri ("http://dataset-url" ).datasetChecksum ("0xabc" ).build ()),
390+ Arguments .of (TaskDescription .builder ().dealParams (DealParams .builder ().bulkCid ("cid" ).build ()).build ()),
391+ Arguments .of (TaskDescription .builder ().dealParams (DealParams .builder ().iexecInputFiles (List .of ("http://file1" , "http://file2" )).build ()).build ())
392+ );
393+ }
394+
395+ @ ParameterizedTest
396+ @ MethodSource ("provideDealParamsForTaskWithoutPreCompute" )
397+ void shouldNotRequirePreCompute (final TaskDescription taskDescription ) {
398+ assertFalse (taskDescription .requiresPreCompute ());
399+ }
400+
401+ private static Stream <Arguments > provideDealParamsForTaskWithoutPreCompute () {
402+ return Stream .of (
403+ Arguments .of (TaskDescription .builder ().build ()),
404+ Arguments .of (TaskDescription .builder ().datasetAddress (EMPTY_ADDRESS ).build ()),
405+ Arguments .of (TaskDescription .builder ().datasetAddress (" " ).build ()),
406+ Arguments .of (TaskDescription .builder ().datasetUri ("" ).build ()),
407+ Arguments .of (TaskDescription .builder ().datasetUri (" " ).build ()),
408+ Arguments .of (TaskDescription .builder ().datasetChecksum ("" ).build ()),
409+ Arguments .of (TaskDescription .builder ().datasetChecksum (" " ).build ()),
410+ Arguments .of (TaskDescription .builder ().dealParams (null ).build ()),
411+ Arguments .of (TaskDescription .builder ().dealParams (DealParams .builder ().build ()).build ()),
412+ Arguments .of (TaskDescription .builder ().dealParams (DealParams .builder ().bulkCid (null ).build ()).build ()),
413+ Arguments .of (TaskDescription .builder ().dealParams (DealParams .builder ().bulkCid ("" ).build ()).build ()),
414+ Arguments .of (TaskDescription .builder ().dealParams (DealParams .builder ().bulkCid (" " ).build ()).build ()),
415+ Arguments .of (TaskDescription .builder ().dealParams (DealParams .builder ().iexecInputFiles (null ).build ()).build ()),
416+ Arguments .of (TaskDescription .builder ().dealParams (DealParams .builder ().iexecInputFiles (List .of ()).build ()).build ())
417+ );
418+ }
419+ // endregion
347420}
0 commit comments