@@ -39,26 +39,26 @@ func Test_CreateNewTask(t *testing.T) {
3939 dbName := "_system"
4040 testCases := map [string ]* arangodb.TaskOptions {
4141 "taskWIthParams" : {
42- Name : "taskWIthParams" ,
43- Command : "(function(params) { require('@arangodb').print(params); })(params)" ,
44- Period : 2 ,
42+ Name : utils . NewType ( "taskWIthParams" ) ,
43+ Command : utils . NewType ( "(function(params) { require('@arangodb').print(params); })(params)" ) ,
44+ Period : utils . NewType ( int64 ( 2 )) ,
4545 Params : map [string ]interface {}{
4646 "test" : "hello" ,
4747 },
4848 },
4949 "taskWIthOutParams" : {
50- Name : "taskWIthOutParams" ,
51- Command : "(function() { require('@arangodb').print('Hello'); })()" ,
52- Period : 2 ,
50+ Name : utils . NewType ( "taskWIthOutParams" ) ,
51+ Command : utils . NewType ( "(function() { require('@arangodb').print('Hello'); })()" ) ,
52+ Period : utils . NewType ( int64 ( 2 )) ,
5353 },
5454 }
5555
5656 for name , options := range testCases {
5757 withContextT (t , defaultTestTimeout , func (ctx context.Context , tb testing.TB ) {
58- createdTask , err := client .CreateTask (ctx , dbName , options )
58+ createdTask , err := client .CreateTask (ctx , dbName , * options )
5959 require .NoError (t , err )
6060 require .NotNil (t , createdTask )
61- require .Equal (t , name , createdTask .Name ())
61+ require .Equal (t , name , * createdTask .Name ())
6262 t .Logf ("Params: %v" , options .Params )
6363 // Proper params comparison
6464 // Check parameters
@@ -76,20 +76,27 @@ func Test_CreateNewTask(t *testing.T) {
7676 }
7777 }
7878
79- taskInfo , err := client .Task (ctx , dbName , createdTask .ID ())
79+ taskInfo , err := client .Task (ctx , dbName , * createdTask .ID ())
8080 require .NoError (t , err )
8181 require .NotNil (t , taskInfo )
82- require .Equal (t , name , taskInfo .Name ())
82+ require .Equal (t , name , * taskInfo .Name ())
8383
8484 tasks , err := client .Tasks (ctx , dbName )
8585 require .NoError (t , err )
8686 require .NotNil (t , tasks )
8787 require .Greater (t , len (tasks ), 0 , "Expected at least one task to be present" )
8888 t .Logf ("Found tasks: %v" , tasks )
89- t .Logf ("Task Id to be removed: %s\n " , tasks [0 ].ID ())
90-
91- require .NoError (t , client .RemoveTask (ctx , dbName , createdTask .ID ()))
92- t .Logf ("Task %s removed successfully" , createdTask .ID ())
89+ if len (tasks ) > 0 && tasks [0 ].ID () != nil {
90+ t .Logf ("Task Id to be removed: %s\n " , * tasks [0 ].ID ())
91+ } else {
92+ t .Logf ("Task Id to be removed: <nil>" )
93+ }
94+ if id := createdTask .ID (); id != nil {
95+ require .NoError (t , client .RemoveTask (ctx , dbName , * id ))
96+ t .Logf ("Task %s removed successfully" , * id )
97+ } else {
98+ t .Logf ("Task ID is nil" )
99+ }
93100 })
94101 }
95102 }, WrapOptions {
@@ -102,19 +109,26 @@ func Test_ValidationsForCreateNewTask(t *testing.T) {
102109 dbName := "_system"
103110 testCases := map [string ]* arangodb.TaskOptions {
104111 "taskWIthOutCommand" : {
105- Name : "taskWIthOutCommand" ,
106- Period : 2 ,
112+ Name : utils . NewType ( "taskWIthOutCommand" ) ,
113+ Period : utils . NewType ( int64 ( 2 )) ,
107114 },
108115 "taskWIthOutPeriod" : nil ,
109116 }
110117
111118 for name , options := range testCases {
112119 withContextT (t , defaultTestTimeout , func (ctx context.Context , tb testing.TB ) {
113- _ , err := client .CreateTask (ctx , dbName , options )
120+ var err error
121+ if options == nil {
122+ _ , err = client .CreateTask (ctx , dbName , arangodb.TaskOptions {})
123+ } else {
124+ _ , err = client .CreateTask (ctx , dbName , * options )
125+ }
126+
114127 require .Error (t , err )
115128 t .Logf ("Expected error for task '%s': %v" , name , err )
116129 })
117130 }
131+
118132 }, WrapOptions {
119133 Parallel : utils .NewType (false ),
120134 })
@@ -126,27 +140,27 @@ func Test_TaskCreationWithId(t *testing.T) {
126140 dbName := "_system"
127141 taskID := "test-task-id"
128142 options := & arangodb.TaskOptions {
129- ID : taskID , // Optional if CreateTaskWithID sets it, but safe to keep
130- Name : "TestTaskWithID" ,
131- Command : "console.log('This is a test task with ID');" ,
132- Period : 5 ,
143+ ID : & taskID , // Optional if CreateTaskWithID sets it, but safe to keep
144+ Name : utils . NewType ( "TestTaskWithID" ) ,
145+ Command : utils . NewType ( "console.log('This is a test task with ID');" ) ,
146+ Period : utils . NewType ( int64 ( 5 )) ,
133147 }
134148
135149 // Create the task with explicit ID
136- task , err := client .CreateTaskWithID (ctx , dbName , taskID , options )
150+ task , err := client .CreateTaskWithID (ctx , dbName , taskID , * options )
137151 require .NoError (t , err , "Expected task creation to succeed" )
138152 require .NotNil (t , task , "Expected task to be non-nil" )
139- require .Equal (t , taskID , task .ID (), "Task ID mismatch" )
140- require .Equal (t , options .Name , task .Name (), "Task Name mismatch" )
153+ require .Equal (t , taskID , * task .ID (), "Task ID mismatch" )
154+ require .Equal (t , * options .Name , * task .Name (), "Task Name mismatch" )
141155
142156 // Retrieve and validate
143157 retrievedTask , err := client .Task (ctx , dbName , taskID )
144158 require .NoError (t , err , "Expected task retrieval to succeed" )
145159 require .NotNil (t , retrievedTask , "Expected retrieved task to be non-nil" )
146- require .Equal (t , taskID , retrievedTask .ID (), "Retrieved task ID mismatch" )
147- require .Equal (t , options .Name , retrievedTask .Name (), "Retrieved task Name mismatch" )
148- // Try to create task again with same ID — expect 429
149- _ , err = client .CreateTaskWithID (ctx , dbName , taskID , options )
160+ require .Equal (t , taskID , * retrievedTask .ID (), "Retrieved task ID mismatch" )
161+ require .Equal (t , * options .Name , * retrievedTask .Name (), "Retrieved task Name mismatch" )
162+
163+ _ , err = client .CreateTaskWithID (ctx , dbName , taskID , * options )
150164 require .Error (t , err , "Creating a duplicate task should fail" )
151165
152166 // Clean up
0 commit comments