(t *testing.T)
| 261 | } |
| 262 | |
| 263 | func 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 |
nothing calls this directly
no test coverage detected