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

Function TestChange_SQLBase64Encoded

backend/api/mcp/tool_change_test.go:263–288  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

261}
262
263func TestChange_SQLBase64Encoded(t *testing.T) {
264 mock := newChangeMock(employeeDB())
265 s := newChangeTestServer(t, mock)
266
267 sql := "ALTER TABLE users ADD COLUMN status VARCHAR(20)"
268 _, _, err := s.handleChange(testContext(), nil, ChangeInput{
269 Database: "employee_db",
270 SQL: sql,
271 Title: "Test",
272 })
273 require.NoError(t, err)
274
275 sheet := mock.getCapturedSheet()
276 sheetObj, ok := sheet["sheet"].(map[string]any)
277 require.True(t, ok)
278 encoded, ok := sheetObj["content"].(string)
279 require.True(t, ok)
280 decoded, decodeErr := base64.StdEncoding.DecodeString(encoded)
281 require.NoError(t, decodeErr)
282 require.Equal(t, sql, string(decoded))
283 // Sheet should not contain dead fields (title, engine removed from proto).
284 _, hasTitle := sheetObj["title"]
285 require.False(t, hasTitle)
286 _, hasEngine := sheetObj["engine"]
287 require.False(t, hasEngine)
288}
289
290// --- Defaults tests ---
291

Callers

nothing calls this directly

Calls 7

newChangeMockFunction · 0.85
employeeDBFunction · 0.85
newChangeTestServerFunction · 0.85
testContextFunction · 0.85
handleChangeMethod · 0.80
getCapturedSheetMethod · 0.80
EqualMethod · 0.65

Tested by

no test coverage detected