File tree Expand file tree Collapse file tree 8 files changed +451
-84
lines changed Expand file tree Collapse file tree 8 files changed +451
-84
lines changed Original file line number Diff line number Diff line change @@ -27,6 +27,8 @@ if( ENABLE_FOXX_TESTS )
2727 add_test (NAME foxx_path COMMAND "${CMAKE_CURRENT_SOURCE_DIR} /tests/test_foxx.sh" -t "unit_path:" )
2828 add_test (NAME foxx_version COMMAND "${CMAKE_CURRENT_SOURCE_DIR} /tests/test_foxx.sh" -t "unit_version:" )
2929 add_test (NAME foxx_support COMMAND "${CMAKE_CURRENT_SOURCE_DIR} /tests/test_foxx.sh" -t "unit_support:" )
30+ add_test (NAME foxx_user_router COMMAND "${CMAKE_CURRENT_SOURCE_DIR} /tests/test_foxx.sh" -t "unit_user_router:" )
31+ add_test (NAME foxx_task_router COMMAND "${CMAKE_CURRENT_SOURCE_DIR} /tests/test_foxx.sh" -t "unit_task_router:" )
3032 add_test (NAME foxx_authz_router COMMAND "${CMAKE_CURRENT_SOURCE_DIR} /tests/test_foxx.sh" -t "unit_authz_router:" )
3133 add_test (NAME foxx_user_router COMMAND "${CMAKE_CURRENT_SOURCE_DIR} /tests/test_foxx.sh" -t "unit_user_router:" )
3234 add_test (NAME foxx_query_router COMMAND "${CMAKE_CURRENT_SOURCE_DIR} /tests/test_foxx.sh" -t "unit_query_router:" )
@@ -53,6 +55,7 @@ if( ENABLE_FOXX_TESTS )
5355 set_tests_properties (foxx_path PROPERTIES FIXTURES_REQUIRED Foxx)
5456 set_tests_properties (foxx_user_router PROPERTIES FIXTURES_REQUIRED "Foxx;FoxxDBFixtures" )
5557 set_tests_properties (foxx_query_router PROPERTIES FIXTURES_REQUIRED Foxx)
58+ set_tests_properties (foxx_task_router PROPERTIES FIXTURES_REQUIRED Foxx)
5659 set_tests_properties (foxx_unit_user_token PROPERTIES FIXTURES_REQUIRED Foxx)
5760 set_tests_properties (foxx_unit_user_model PROPERTIES FIXTURES_REQUIRED "Foxx;FoxxDBFixtures" )
5861 set_tests_properties (foxx_unit_globus_collection_model PROPERTIES FIXTURES_REQUIRED "Foxx;FoxxDBFixtures" )
Original file line number Diff line number Diff line change 1+ "use strict" ;
2+
3+ const Joi = require ( "joi" ) ;
4+
5+ const repositoryGlobusSchema = Joi . object ( {
6+ repo_id : Joi . string ( ) . required ( ) ,
7+ type : Joi . string ( ) . valid ( RepositoryType . GLOBUS ) . required ( ) ,
8+ title : Joi . string ( ) . min ( 1 ) . required ( ) ,
9+ desc : Joi . string ( ) . required ( ) . allow ( "" ) ,
10+ capacity : Joi . number ( ) . required ( ) ,
11+ endpoint : Joi . string ( ) . uri ( ) . required ( ) . allow ( "" ) ,
12+ path : Joi . string ( ) . required ( ) . allow ( "" ) ,
13+ pub_key : Joi . string ( ) . required ( ) . allow ( "" ) ,
14+ address : Joi . string ( ) . required ( ) ,
15+ exp_path : Joi . string ( ) . required ( ) . allow ( "" ) ,
16+ } ) ;
17+
18+ const repositoryMetadataSchema = Joi . object ( {
19+ repo_id : Joi . string ( ) . required ( ) ,
20+ type : Joi . string ( ) . valid ( RepositoryType . METADATA ) . required ( ) ,
21+ title : Joi . string ( ) . min ( 1 ) . required ( ) ,
22+ desc : Joi . string ( ) . required ( ) . allow ( "" ) ,
23+ capacity : Joi . number ( ) . required ( ) ,
24+ } ) ;
Original file line number Diff line number Diff line change 1+ "use strict" ;
2+
3+ const { TaskSchema } = require ( "./task" ) ;
4+
5+ const Joi = require ( "joi" ) ;
6+
7+ const SuccessResponseDirectSchema = Joi . object ( {
8+ execution_method : Joi . string ( ) . valid ( "deferred" , "direct" ) . required ( ) ,
9+ result : Joi . any ( ) ,
10+ } ) . required ( ) ;
11+
12+ //
13+ // This function allows keeping the envelope while overwriting the
14+ // result with an arbitrary schema
15+ //
16+ function makeResponseDirectSchema ( resultSchema ) {
17+ return SuccessResponseDirectSchema . keys ( {
18+ result : resultSchema ,
19+ } ) ;
20+ }
21+
22+ const SuccessResponseDeferredSchema = Joi . object ( {
23+ execution_method : Joi . string ( ) . valid ( "deferred" , "direct" ) . required ( ) ,
24+ task : TaskSchema ,
25+ } ) . required ( ) ;
26+
27+ module . exports = {
28+ SuccessResponseDeferredSchema,
29+ SuccessResponseDirectSchema,
30+ makeResponseDirectSchema,
31+ } ;
Original file line number Diff line number Diff line change 1+ "use strict" ;
2+
3+ const TaskStateSchema = Joi . object ( {
4+ repo_id : Joi . string ( ) . required ( ) ,
5+ subject : Joi . string ( ) . required ( ) ,
6+ data_limit : Joi . number ( ) . integer ( ) . required ( ) ,
7+ rec_limit : Joi . number ( ) . integer ( ) . required ( ) ,
8+ repo_path : Joi . string ( ) . required ( ) ,
9+ } ) . required ( ) ;
10+
11+ const TaskSchema = Joi . object ( {
12+ task_id : Joi . string ( ) . required ( ) ,
13+ type : Joi . number ( ) . integer ( ) . required ( ) ,
14+ status : Joi . number ( ) . integer ( ) . required ( ) ,
15+ msg : Joi . string ( ) . required ( ) ,
16+ ct : Joi . number ( ) . integer ( ) . required ( ) ,
17+ ut : Joi . number ( ) . integer ( ) . required ( ) ,
18+ client : Joi . string ( ) . required ( ) ,
19+ step : Joi . number ( ) . integer ( ) . required ( ) ,
20+ steps : Joi . number ( ) . integer ( ) . required ( ) ,
21+ state : TaskStateSchema ,
22+ } ) . required ( ) ;
23+
24+ module . exports = {
25+ TaskSchema,
26+ TaskStateSchema,
27+ } ;
You can’t perform that action at this time.
0 commit comments