Resolve SCIM export profiles from event path IDs
SCIM events store user_name, not identity_id; profile GIDs
in /Users/{id} paths drive LoadExistingByIDs and identity
email lookup instead of batching by user_name.
Signed-off-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Bryan FRIMIN <bryan@frimin.fr>
This commit is contained in:
@@ -24,11 +24,23 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"go.probo.inc/probo/pkg/coredata"
|
||||
"go.probo.inc/probo/pkg/gid"
|
||||
)
|
||||
|
||||
func TestUniqueNonEmptyStrings(t *testing.T) {
|
||||
func TestScimProfileIDFromEventPath(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
got := uniqueNonEmptyStrings([]string{"a", "A", "", "b", "a"})
|
||||
assert.Equal(t, []string{"a", "b"}, got)
|
||||
profileID := gid.New(gid.NewTenantID(), coredata.MembershipProfileEntityType)
|
||||
|
||||
got, ok := scimProfileIDFromEventPath("/Users/" + profileID.String())
|
||||
require.True(t, ok)
|
||||
assert.Equal(t, profileID, got)
|
||||
|
||||
_, ok = scimProfileIDFromEventPath("/Users")
|
||||
assert.False(t, ok)
|
||||
|
||||
_, ok = scimProfileIDFromEventPath("/Users?filter=userName eq \"a\"")
|
||||
assert.False(t, ok)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user