Skip to content

Commit 3905439

Browse files
Removed system db from v2 test casses (#716)
1 parent b9d874d commit 3905439

File tree

5 files changed

+1644
-1685
lines changed

5 files changed

+1644
-1685
lines changed

v2/tests/admin_log_test.go

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -230,45 +230,42 @@ func Test_StructuredLogSettings(t *testing.T) {
230230

231231
func Test_GetRecentAPICalls(t *testing.T) {
232232
Wrap(t, func(t *testing.T, client arangodb.Client) {
233-
withContextT(t, defaultTestTimeout, func(ctx context.Context, t testing.TB) {
234-
skipBelowVersion(client, ctx, "3.12.5-2", t)
233+
WithDatabase(t, client, nil, func(db arangodb.Database) {
234+
withContextT(t, defaultTestTimeout, func(ctx context.Context, t testing.TB) {
235+
skipBelowVersion(client, ctx, "3.12.5-2", t)
235236

236-
resp, err := client.Version(ctx)
237-
require.NoError(t, err)
238-
require.NotEmpty(t, resp)
239-
db, err := client.GetDatabase(ctx, "_system", nil)
240-
require.NoError(t, err)
241-
require.NotEmpty(t, db)
237+
resp, err := client.Version(ctx)
238+
require.NoError(t, err)
239+
require.NotEmpty(t, resp)
242240

243-
recentApisResp, err := client.GetRecentAPICalls(ctx, db.Name())
244-
require.NoError(t, err)
245-
require.NotEmpty(t, recentApisResp)
241+
recentApisResp, err := client.GetRecentAPICalls(ctx, db.Name())
242+
require.NoError(t, err)
243+
require.NotEmpty(t, recentApisResp)
244+
})
246245
})
247246
})
248247
}
249248

250249
func Test_GetMetrics(t *testing.T) {
251250
Wrap(t, func(t *testing.T, client arangodb.Client) {
252-
withContextT(t, defaultTestTimeout, func(ctx context.Context, t testing.TB) {
251+
WithDatabase(t, client, nil, func(db arangodb.Database) {
252+
withContextT(t, defaultTestTimeout, func(ctx context.Context, t testing.TB) {
253+
// Role check
254+
serverRole, err := client.ServerRole(ctx)
255+
require.NoError(t, err)
256+
t.Logf("ServerRole: %s", serverRole)
253257

254-
db, err := client.GetDatabase(ctx, "_system", nil)
255-
require.NoError(t, err)
256-
require.NotEmpty(t, db)
257-
// Role check
258-
serverRole, err := client.ServerRole(ctx)
259-
require.NoError(t, err)
260-
t.Logf("ServerRole: %s", serverRole)
258+
var serverId *string
259+
if serverRole == arangodb.ServerRoleCoordinator {
260+
serverID, err := client.ServerID(ctx)
261+
require.NoError(t, err)
262+
serverId = &serverID
263+
}
261264

262-
var serverId *string
263-
if serverRole == arangodb.ServerRoleCoordinator {
264-
serverID, err := client.ServerID(ctx)
265+
metricsResp, err := client.GetMetrics(ctx, db.Name(), serverId)
265266
require.NoError(t, err)
266-
serverId = &serverID
267-
}
268-
269-
metricsResp, err := client.GetMetrics(ctx, db.Name(), serverId)
270-
require.NoError(t, err)
271-
require.NotEmpty(t, metricsResp)
267+
require.NotEmpty(t, metricsResp)
268+
})
272269
})
273270
})
274271
}

v2/tests/admin_test.go

Lines changed: 76 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -219,65 +219,65 @@ func Test_GetStartupConfiguration(t *testing.T) {
219219

220220
func 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

231231
func 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.
327327
func 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.
485484
func 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

Comments
 (0)