Files
netbird/management/server/idp/okta_test.go
bcmmbaga 36654d6612 Refactor and fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
2024-12-23 22:15:20 +03:00

55 lines
1.2 KiB
Go

package idp
import (
"testing"
"github.com/okta/okta-sdk-golang/v5/okta"
"github.com/stretchr/testify/assert"
)
func TestParseOktaUser(t *testing.T) {
type parseOktaUserTest struct {
name string
inputUser *okta.User
expectedUserData *UserData
assertErrFunc assert.ErrorAssertionFunc
}
testCases := []parseOktaUserTest{
{
name: "valid okta user",
inputUser: &okta.User{
Id: okta.PtrString("123"),
Profile: &okta.UserProfile{
Email: okta.PtrString("test@example.com"),
FirstName: *okta.NewNullableString(okta.PtrString("John")),
LastName: *okta.NewNullableString(okta.PtrString("Doe")),
},
},
expectedUserData: &UserData{
Email: "test@example.com",
Name: "John Doe",
ID: "123",
AppMetadata: AppMetadata{
WTAccountID: "456",
},
},
assertErrFunc: assert.NoError,
},
{
name: "invalid okta user",
inputUser: nil,
expectedUserData: &UserData{},
},
}
for _, tt := range testCases {
t.Run(tt.name, func(t *testing.T) {
userData := parseOktaUser(tt.inputUser)
assert.Equal(t, tt.expectedUserData, userData, "user data should match")
})
}
}