@@ -219,65 +219,65 @@ func Test_GetStartupConfiguration(t *testing.T) {
219219
220220func Test_ReloadRoutingTable (t * testing.T ) {
221221 Wrap (t , func (t * testing.T , client arangodb.Client ) {
222- withContextT (t , time . Minute , func (ctx context. Context , t testing. TB ) {
223- db , err := client . GetDatabase (ctx , "_system" , nil )
224- require . NoError ( t , err )
225- err = client . ReloadRoutingTable ( ctx , db . Name () )
226- require . NoError ( t , err )
222+ WithDatabase (t , client , nil , func (db arangodb. Database ) {
223+ withContextT ( t , time . Minute , func (ctx context. Context , t testing. TB ) {
224+ err := client . ReloadRoutingTable ( ctx , db . Name () )
225+ require . NoError ( t , err )
226+ } )
227227 })
228228 })
229229}
230230
231231func Test_ExecuteAdminScript (t * testing.T ) {
232232 Wrap (t , func (t * testing.T , client arangodb.Client ) {
233- ctx := context .Background ()
234- db , err := client .GetDatabase (ctx , "_system" , nil )
235- require .NoError (t , err )
236-
237- tests := []struct {
238- name string
239- script string
240- }{
241- {
242- name : "ReturnObject" ,
243- script : "return {hello: 'world'};" ,
244- },
245- {
246- name : "ReturnNumber" ,
247- script : `
233+ WithDatabase (t , client , nil , func (db arangodb.Database ) {
234+ withContextT (t , defaultTestTimeout , func (ctx context.Context , tb testing.TB ) {
235+ tests := []struct {
236+ name string
237+ script string
238+ }{
239+ {
240+ name : "ReturnObject" ,
241+ script : "return {hello: 'world'};" ,
242+ },
243+ {
244+ name : "ReturnNumber" ,
245+ script : `
248246 var sum = 0;
249247 for (var i = 1; i <= 5; i++) {
250248 sum += i;
251249 }
252250 return sum;
253251 ` ,
254- },
255- }
256-
257- for _ , tt := range tests {
258- t .Run (tt .name , func (t * testing.T ) {
259- result , err := client .ExecuteAdminScript (ctx , db .Name (), & tt .script )
260- var arangoErr shared.ArangoError
261- if errors .As (err , & arangoErr ) {
262- t .Logf ("arangoErr code:%d\n " , arangoErr .Code )
263- if arangoErr .Code == http .StatusNotFound {
264- t .Skip ("javascript.allow-admin-execute is disabled" )
265- }
252+ },
266253 }
267- require .NoError (t , err )
268254
269- switch v := result .(type ) {
270- case map [string ]interface {}:
271- t .Logf ("Got object result: %+v" , v )
272- require .Contains (t , v , "hello" )
273- case float64 :
274- t .Logf ("Got number result: %v" , v )
275- require .Equal (t , float64 (15 ), v )
276- default :
277- t .Fatalf ("Unexpected result type: %T, value: %+v" , v , v )
255+ for _ , tt := range tests {
256+ t .Run (tt .name , func (t * testing.T ) {
257+ result , err := client .ExecuteAdminScript (ctx , db .Name (), & tt .script )
258+ var arangoErr shared.ArangoError
259+ if errors .As (err , & arangoErr ) {
260+ t .Logf ("arangoErr code:%d\n " , arangoErr .Code )
261+ if arangoErr .Code == http .StatusNotFound {
262+ t .Skip ("javascript.allow-admin-execute is disabled" )
263+ }
264+ }
265+ require .NoError (t , err )
266+
267+ switch v := result .(type ) {
268+ case map [string ]interface {}:
269+ t .Logf ("Got object result: %+v" , v )
270+ require .Contains (t , v , "hello" )
271+ case float64 :
272+ t .Logf ("Got number result: %v" , v )
273+ require .Equal (t , float64 (15 ), v )
274+ default :
275+ t .Fatalf ("Unexpected result type: %T, value: %+v" , v , v )
276+ }
277+ })
278278 }
279279 })
280- }
280+ })
281281 })
282282}
283283
@@ -326,34 +326,33 @@ func Test_CompactDatabases(t *testing.T) {
326326// Test_GetTLSData checks that TLS configuration data is available and valid, skipping if not configured.
327327func Test_GetTLSData (t * testing.T ) {
328328 Wrap (t , func (t * testing.T , client arangodb.Client ) {
329- withContextT (t , time . Minute , func (ctx context. Context , t testing. TB ) {
330- db , err := client . GetDatabase (ctx , "_system" , nil )
331- require . NoError ( t , err )
332-
333- // Get TLS data using the client (which embeds ClientAdmin)
334- tlsResp , err := client . GetTLSData ( ctx , db . Name ())
335- if err != nil {
336- var arangoErr shared. ArangoError
337- if errors . As ( err , & arangoErr ) {
338- t . Logf ( "GetTLSData failed with ArangoDB error code: %d" , arangoErr . Code )
339- switch arangoErr . Code {
340- case 403 :
341- t . Skip ( "Skipping TLS get test - authentication/permission denied (HTTP 403)" )
342- default :
343- t . Logf ( "Unexpected ArangoDB error code: %d, message: %s" , arangoErr . Code , arangoErr . ErrorMessage )
329+ WithDatabase (t , client , nil , func (db arangodb. Database ) {
330+ withContextT ( t , defaultTestTimeout , func (ctx context. Context , t testing. TB ) {
331+ // Get TLS data using the client (which embeds ClientAdmin )
332+ tlsResp , err := client . GetTLSData ( ctx , db . Name ())
333+ if err != nil {
334+ var arangoErr shared. ArangoError
335+ if errors . As ( err , & arangoErr ) {
336+ t . Logf ( "GetTLSData failed with ArangoDB error code: %d" , arangoErr . Code )
337+ switch arangoErr . Code {
338+ case 403 :
339+ t . Skip ( "Skipping TLS get test - authentication/permission denied (HTTP 403)" )
340+ default :
341+ t . Logf ( "Unexpected ArangoDB error code: %d, message: %s" , arangoErr . Code , arangoErr . ErrorMessage )
342+ }
343+ return
344344 }
345- return
345+ // Skip for any other error (TLS not configured, network issues, etc.)
346+ t .Logf ("GetTLSData failed: %v" , err )
347+ t .Skip ("Skipping TLS get test - likely TLS not configured or other server issue" )
346348 }
347- // Skip for any other error (TLS not configured, network issues, etc.)
348- t .Logf ("GetTLSData failed: %v" , err )
349- t .Skip ("Skipping TLS get test - likely TLS not configured or other server issue" )
350- }
351349
352- // Success! Validate response structure
353- t .Logf ("TLS data retrieved successfully" )
350+ // Success! Validate response structure
351+ t .Logf ("TLS data retrieved successfully" )
354352
355- // Validate TLS response data
356- validateTLSResponse (t , tlsResp , "Retrieved" )
353+ // Validate TLS response data
354+ validateTLSResponse (t , tlsResp , "Retrieved" )
355+ })
357356 })
358357 })
359358}
@@ -484,19 +483,18 @@ func Test_RotateEncryptionAtRestKey(t *testing.T) {
484483// Test_GetJWTSecrets validates retrieval and structure of JWT secrets, skipping if not accessible.
485484func Test_GetJWTSecrets (t * testing.T ) {
486485 Wrap (t , func (t * testing.T , client arangodb.Client ) {
487- withContextT (t , time . Minute , func (ctx context. Context , t testing. TB ) {
488- db , err := client . GetDatabase (ctx , "_system" , nil )
489- require . NoError ( t , err )
490-
491- resp , err := client . GetJWTSecrets ( ctx , db . Name ())
492- if err != nil {
493- if handleJWTSecretsError ( t , err , "GetJWTSecrets" , [] int { http . StatusForbidden }) {
494- return
486+ WithDatabase (t , client , nil , func (db arangodb. Database ) {
487+ withContextT ( t , defaultTestTimeout , func (ctx context. Context , t testing. TB ) {
488+ resp , err := client . GetJWTSecrets ( ctx , db . Name () )
489+ if err != nil {
490+ if handleJWTSecretsError ( t , err , " GetJWTSecrets" , [] int { http . StatusForbidden }) {
491+ return
492+ }
493+ require . NoError ( t , err )
495494 }
496- require .NoError (t , err )
497- }
498495
499- validateJWTSecretsResponse (t , resp , "Retrieved" )
496+ validateJWTSecretsResponse (t , resp , "Retrieved" )
497+ })
500498 })
501499 })
502500}
0 commit comments