update cloud sql tests

This commit is contained in:
duwenxin
2026-02-09 19:41:16 -05:00
parent 95b15e4db7
commit 6182e6237e
2 changed files with 24 additions and 16 deletions

View File

@@ -180,12 +180,26 @@ func TestListDatabasesToolEndpoints(t *testing.T) {
t.Fatalf("failed to decode response: %v", err)
}
if strings.Contains(result.Result, `"error":`) {
var gotMap, wantMap map[string]any
if err := json.Unmarshal([]byte(result.Result), &gotMap); err != nil {
t.Fatalf("failed to unmarshal result error object: %v", err)
}
if err := json.Unmarshal([]byte(tc.want), &wantMap); err != nil {
t.Fatalf("failed to unmarshal want error object: %v", err)
}
if !reflect.DeepEqual(gotMap, wantMap) {
t.Fatalf("unexpected error result: got %+v, want %+v", gotMap, wantMap)
}
return
}
var got, want []map[string]any
if err := json.Unmarshal([]byte(result.Result), &got); err != nil {
t.Fatalf("failed to unmarshal result: %v", err)
t.Fatalf("failed to unmarshal result array: %v. Result was: %s", err, result.Result)
}
if err := json.Unmarshal([]byte(tc.want), &want); err != nil {
t.Fatalf("failed to unmarshal want: %v", err)
t.Fatalf("failed to unmarshal want array: %v", err)
}
if !reflect.DeepEqual(got, want) {

View File

@@ -23,7 +23,6 @@ import (
"net/http"
"net/http/httptest"
"net/url"
"reflect"
"regexp"
"strings"
"testing"
@@ -98,7 +97,7 @@ func (h *masterRestoreBackupHandler) ServeHTTP(w http.ResponseWriter, r *http.Re
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",
"error": `oaraneter "backup_id" is required`,
})
return
}
@@ -191,13 +190,13 @@ func TestRestoreBackupToolEndpoints(t *testing.T) {
name: "missing backup identifier",
toolName: "restore-backup",
body: `{"target_project": "p1", "target_instance": "instance-project-level"}`,
want: `{"error":"source project and instance are required when restoring via backup ID"}`,
want: `{"error":"parameter \"backup_id\" is required"}`,
},
{
name: "missing target instance info",
toolName: "restore-backup",
body: `{"backup_id": "12345"}`,
want: `{"error":"parameter \"target_instance\" is required"}`,
want: `{"error":"parameter \"target_project\" is required"}`,
},
}
@@ -233,19 +232,14 @@ func TestRestoreBackupToolEndpoints(t *testing.T) {
Result string `json:"result"`
}
if err := json.NewDecoder(resp.Body).Decode(&result); err != nil {
t.Fatalf("failed to decode response: %v", err)
t.Fatalf("failed to decode response envelope: %v", err)
}
var got, want map[string]any
if err := json.Unmarshal([]byte(result.Result), &got); err != nil {
t.Fatalf("failed to unmarshal result: %v", err)
}
if err := json.Unmarshal([]byte(tc.want), &want); err != nil {
t.Fatalf("failed to unmarshal want: %v", err)
}
got := strings.TrimSpace(result.Result)
want := strings.TrimSpace(tc.want)
if !reflect.DeepEqual(got, want) {
t.Fatalf("unexpected result: got %+v, want %+v", got, want)
if got != want {
t.Fatalf("unexpected result string:\n got: %s\nwant: %s", got, want)
}
})
}