fleet/ee/server/scim/path_test.go
Victor Lyuboslavsky d42b6aa556
SCIM Entra ID support -- PATCH User with op:replace (#28167)
For #28196

This PR adds the capability to SCIM API to PATCH a User using
op:replace. This brings us closer to fully supporting Entra ID SCIM.

In future PR:
- Add support op:add
- Add support for op:remove
- Add support for PATCH to Group
- Add filter support

# Checklist for submitter
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-04-15 10:14:20 -05:00

22 lines
697 B
Go

package scim
import (
"testing"
"github.com/scim2/filter-parser/v2"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestParsePath(t *testing.T) {
path, err := filter.ParsePath([]byte("emails[type eq \"work\"].primary"))
require.NoError(t, err)
assert.Equal(t, "emails", path.AttributePath.String())
attrExpression, ok := path.ValueExpression.(*filter.AttributeExpression)
require.True(t, ok)
assert.Equal(t, "type", attrExpression.AttributePath.String())
assert.Equal(t, filter.EQ, attrExpression.Operator)
assert.Equal(t, "work", attrExpression.CompareValue)
require.NotNil(t, path.SubAttribute)
assert.Equal(t, "primary", *path.SubAttribute)
}