(t *testing.T)
| 675 | } |
| 676 | |
| 677 | func TestGetSchema_AmbiguousDatabase(t *testing.T) { |
| 678 | databases := []map[string]any{ |
| 679 | makeDatabase("instances/prod-pg/databases/employee_db", "instances/prod-pg", "projects/hr-system", "POSTGRES", "ds-admin-1"), |
| 680 | makeDatabase("instances/staging-mysql/databases/employee_db", "instances/staging-mysql", "projects/hr-system", "MYSQL", "ds-admin-2"), |
| 681 | } |
| 682 | s := newTestServerWithMock(t, mockListDatabases(databases)) |
| 683 | |
| 684 | result, _, err := s.handleGetSchema(testContext(), nil, SchemaInput{ |
| 685 | Database: "employee_db", |
| 686 | }) |
| 687 | require.NoError(t, err) |
| 688 | require.True(t, result.IsError) |
| 689 | |
| 690 | text := result.Content[0].(*mcpsdk.TextContent).Text |
| 691 | require.Contains(t, text, "AMBIGUOUS_TARGET") |
| 692 | } |
| 693 | |
| 694 | func TestGetSchema_SchemaSyncFailed(t *testing.T) { |
| 695 | handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
nothing calls this directly
no test coverage detected