mirror of
https://github.com/go-gitea/gitea.git
synced 2026-05-11 20:05:38 +02:00
Address review: delete empty remove entries, use existing fixture team
Co-Authored-By: Claude (Opus 4.6) <noreply@anthropic.com>
This commit is contained in:
parent
5109687831
commit
94891ebf4e
@ -75,7 +75,11 @@ func resolveMappedMemberships(sourceUserGroups container.Set[string], sourceGrou
|
||||
filtered = append(filtered, team)
|
||||
}
|
||||
}
|
||||
membershipsToRemove[org] = filtered
|
||||
if len(filtered) > 0 {
|
||||
membershipsToRemove[org] = filtered
|
||||
} else {
|
||||
delete(membershipsToRemove, org)
|
||||
}
|
||||
}
|
||||
|
||||
return membershipsToAdd, membershipsToRemove
|
||||
|
||||
@ -26,14 +26,14 @@ func TestSyncGroupsToTeams_LastOwnerNotRemoved(t *testing.T) {
|
||||
sourceUserGroups := container.SetOf("groupA")
|
||||
sourceGroupTeamMapping := map[string]map[string][]string{
|
||||
"groupA": {"org3": {"Owners"}},
|
||||
"groupB": {"org3": {"Owners", "Developers"}},
|
||||
"groupB": {"org3": {"Owners", "team1"}},
|
||||
}
|
||||
|
||||
// Verify deduplication: Owners must not be in remove list when groupA grants it.
|
||||
membershipsToAdd, membershipsToRemove := resolveMappedMemberships(sourceUserGroups, sourceGroupTeamMapping)
|
||||
assert.Contains(t, membershipsToAdd["org3"], "Owners")
|
||||
assert.NotContains(t, membershipsToRemove["org3"], "Owners")
|
||||
assert.Contains(t, membershipsToRemove["org3"], "Developers")
|
||||
assert.Contains(t, membershipsToRemove["org3"], "team1")
|
||||
|
||||
// End-to-end: sync must not fail with ErrLastOrgOwner.
|
||||
err := SyncGroupsToTeams(t.Context(), user2, sourceUserGroups, sourceGroupTeamMapping, true)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user