MCPcopy Create free account
hub / github.com/bytebase/bytebase / TestQueryDatabase_Ambiguous

Function TestQueryDatabase_Ambiguous

backend/api/mcp/tool_query_test.go:323–338  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

321}
322
323func TestQueryDatabase_Ambiguous(t *testing.T) {
324 databases := []map[string]any{
325 makeDatabase("instances/prod-pg/databases/employee_db", "instances/prod-pg", "projects/hr-system", "POSTGRES", "ds-admin-1"),
326 makeDatabase("instances/staging-mysql/databases/employee_db", "instances/staging-mysql", "projects/hr-system", "MYSQL", "ds-admin-2"),
327 }
328 s := newTestServerWithMock(t, mockListDatabases(databases))
329
330 resolved, err := s.resolveDatabase(testContext(), "employee_db", "", "")
331 require.NoError(t, err)
332 require.True(t, resolved.ambiguous)
333 require.Len(t, resolved.candidates, 2)
334 require.Equal(t, "instances/prod-pg/databases/employee_db", resolved.candidates[0].Database)
335 require.Equal(t, "POSTGRES", resolved.candidates[0].Engine)
336 require.Equal(t, "instances/staging-mysql/databases/employee_db", resolved.candidates[1].Database)
337 require.Equal(t, "MYSQL", resolved.candidates[1].Engine)
338}
339
340func TestQueryDatabase_AmbiguousWithInstance(t *testing.T) {
341 databases := []map[string]any{

Callers

nothing calls this directly

Calls 7

newTestServerWithMockFunction · 0.85
mockListDatabasesFunction · 0.85
testContextFunction · 0.85
resolveDatabaseMethod · 0.80
LenMethod · 0.80
makeDatabaseFunction · 0.70
EqualMethod · 0.65

Tested by

no test coverage detected