(t *testing.T)
| 547 | } |
| 548 | |
| 549 | func TestQueryDatabase_CustomLimit(t *testing.T) { |
| 550 | databases := []map[string]any{ |
| 551 | makeDatabase("instances/prod-pg/databases/employee_db", "instances/prod-pg", "projects/hr-system", "POSTGRES", "ds-admin-1"), |
| 552 | } |
| 553 | rows := make([][]any, 100) |
| 554 | for i := range rows { |
| 555 | rows[i] = []any{fmt.Sprintf("%d", i+1)} |
| 556 | } |
| 557 | qr := makeQueryResponse([]string{"id"}, []string{"int4"}, rows, "0.020s") |
| 558 | s := newTestServerWithMock(t, mockQueryServer(databases, qr)) |
| 559 | |
| 560 | result, structured, err := s.handleQueryDatabase(testContext(), nil, QueryInput{ |
| 561 | Database: "employee_db", |
| 562 | Statement: "SELECT id FROM users", |
| 563 | Limit: 50, |
| 564 | }) |
| 565 | require.NoError(t, err) |
| 566 | require.False(t, result.IsError) |
| 567 | |
| 568 | output, ok := structured.(*QueryOutput) |
| 569 | require.True(t, ok) |
| 570 | require.Equal(t, 50, output.RowCount) |
| 571 | require.True(t, output.Truncated) |
| 572 | } |
| 573 | |
| 574 | func TestQueryDatabase_LimitCappedAt1000(t *testing.T) { |
| 575 | databases := []map[string]any{ |
nothing calls this directly
no test coverage detected