MCPcopy Create free account
hub / github.com/QuantumNous/new-api / runTokenMigrationCompatibilityTest

Function runTokenMigrationCompatibilityTest

controller/token_test.go:276–357  ·  view source on GitHub ↗
(t *testing.T, db *gorm.DB, dialect string, managedTokensTable *bool)

Source from the content-addressed store, hash-verified

274}
275
276func runTokenMigrationCompatibilityTest(t *testing.T, db *gorm.DB, dialect string, managedTokensTable *bool) {
277 t.Helper()
278
279 legacyKey := strings.Repeat("a", 48)
280 longKey := strings.Repeat("b", 64)
281
282 if err := db.AutoMigrate(&legacyToken{}); err != nil {
283 t.Fatalf("failed to create legacy token schema: %v", err)
284 }
285 if managedTokensTable != nil {
286 *managedTokensTable = true
287 }
288 if err := db.Create(&legacyToken{
289 UserId: 7,
290 Key: legacyKey,
291 Status: common.TokenStatusEnabled,
292 Name: "legacy-token",
293 CreatedTime: 1,
294 AccessedTime: 1,
295 ExpiredTime: -1,
296 RemainQuota: 100,
297 UnlimitedQuota: true,
298 ModelLimitsEnabled: false,
299 ModelLimits: "",
300 AllowIps: common.GetPointer(""),
301 UsedQuota: 0,
302 Group: "default",
303 CrossGroupRetry: false,
304 }).Error; err != nil {
305 t.Fatalf("failed to seed legacy token row: %v", err)
306 }
307
308 if got := getTokenKeyColumnType(t, db, dialect); got != "char(48)" {
309 t.Fatalf("expected legacy key column type char(48), got %q", got)
310 }
311
312 migrateTokenControllerTestDB(t, db)
313
314 if got := getTokenKeyColumnType(t, db, dialect); got != "varchar(128)" {
315 t.Fatalf("expected migrated key column type varchar(128), got %q", got)
316 }
317
318 var migratedToken model.Token
319 if err := db.First(&migratedToken, "name = ?", "legacy-token").Error; err != nil {
320 t.Fatalf("failed to load migrated token row: %v", err)
321 }
322 if migratedToken.Key != legacyKey {
323 t.Fatalf("expected migrated token key %q, got %q", legacyKey, migratedToken.Key)
324 }
325 if migratedToken.Name != "legacy-token" {
326 t.Fatalf("expected migrated token name to be preserved, got %q", migratedToken.Name)
327 }
328
329 inserted := model.Token{
330 UserId: 8,
331 Name: "long-token",
332 Key: longKey,
333 Status: common.TokenStatusEnabled,

Calls 4

GetPointerFunction · 0.92
getTokenKeyColumnTypeFunction · 0.85
CreateMethod · 0.80

Tested by

no test coverage detected