package repository import ( "opsxloki/models" "testing" ) func TestMigrateLogAccessToGroups(t *testing.T) { d := &JsonDB{ Users: []models.User{{ID: 1, Role: "user"}, {ID: 2, Role: "user"}}, LogSources: []models.LogSource{{ID: 9, Name: "loki", Access: []models.LogSourceAccess{ {UserID: 1, Labels: map[string]string{"namespace": "log"}}, {UserID: 2, Labels: map[string]string{"namespace": "log"}}, }}}, sequences: map[string]uint{"logPolicyGroups": 0}, } if !migrateLogAccessToGroups(d) { t.Fatal("expected migration") } if len(d.LogSources[0].Access) != 0 { t.Fatal("legacy grants remain") } if len(d.LogPolicyGroups) != 1 || len(d.LogPolicyGroups[0].UserIDs) != 2 { t.Fatalf("expected one shared group, got %#v", d.LogPolicyGroups) } }