fix cloud sql test

This commit is contained in:
duwenxin
2026-02-09 11:02:14 -05:00
parent 03b28a62c2
commit 7fc48e2693
4 changed files with 20 additions and 13 deletions

View File

@@ -278,8 +278,9 @@ func toolInvokeHandler(s *Server, w http.ResponseWriter, r *http.Request) {
case util.CategoryAgent:
// Agent Errors -> 200 OK
s.logger.DebugContext(ctx, fmt.Sprintf("Tool invocation agent error: %v", err))
_ = render.Render(w, r, newErrResponse(err, http.StatusOK))
return
res = map[string]string{
"error": err.Error(),
}
case util.CategoryServer:
// Server Errors -> Check the specific code inside

View File

@@ -144,6 +144,10 @@ func (t Tool) Invoke(ctx context.Context, resourceMgr tools.SourceProvider, para
iamUser, _ := paramsMap["iamUser"].(bool)
password, _ := paramsMap["password"].(string)
if !iamUser && password == "" {
return nil, util.NewAgentError("missing 'password' parameter for non-IAM user", nil)
}
resp, err := source.CreateUsers(ctx, project, instance, name, password, iamUser, string(accessToken))
if err != nil {
return nil, util.ProcessGcpError(err)

View File

@@ -167,11 +167,10 @@ func TestCreateUsersToolEndpoints(t *testing.T) {
want: `{"name":"op2","status":"PENDING"}`,
},
{
name: "missing password for built-in user",
toolName: "create-user",
body: `{"project": "p1", "instance": "i1", "name": "test-user", "iamUser": false}`,
expectError: true,
errorStatus: http.StatusBadRequest,
name: "missing password for built-in user",
toolName: "create-user",
body: `{"project": "p1", "instance": "i1", "name": "test-user", "iamUser": false}`,
want: `{"error":"missing 'password' parameter for non-IAM user"}`,
},
}

View File

@@ -95,7 +95,11 @@ func (h *masterRestoreBackupHandler) ServeHTTP(w http.ResponseWriter, r *http.Re
response = map[string]any{"name": "op1", "status": "PENDING"}
statusCode = http.StatusOK
default:
http.Error(w, fmt.Sprintf("unhandled restore request body: %v", body), http.StatusInternalServerError)
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(map[string]string{
"error": "source project and instance are required when restoring via backup ID",
})
return
}
@@ -178,11 +182,10 @@ func TestRestoreBackupToolEndpoints(t *testing.T) {
want: `{"name":"op1","status":"PENDING"}`,
},
{
name: "missing source instance info for standard backup",
toolName: "restore-backup",
body: `{"target_project": "p1", "target_instance": "instance-project-level", "backup_id": "12345"}`,
expectError: true,
errorStatus: http.StatusBadRequest,
name: "missing source instance info for standard backup",
toolName: "restore-backup",
body: `{"target_project": "p1", "target_instance": "instance-project-level", "backup_id": "12345"}`,
want: `{"error":"error processing GCP request: source project and instance are required when restoring via backup ID"}`,
},
{
name: "missing backup identifier",