mirror of
https://github.com/openziti/ziti.git
synced 2026-10-04 20:41:36 +00:00
90 lines
2.2 KiB
Go
90 lines
2.2 KiB
Go
package oidc_auth
|
|
|
|
import (
|
|
"github.com/stretchr/testify/require"
|
|
"testing"
|
|
)
|
|
|
|
func Test_Map(t *testing.T) {
|
|
|
|
const (
|
|
id = "123"
|
|
envArch = "x64"
|
|
envOs = "linux"
|
|
envOsRelease = "11"
|
|
envOsVersion = "1.1.1"
|
|
sdkAppId = "myAppid"
|
|
sdkAppVersion = "5.1.1"
|
|
sdkBranch = "branch34"
|
|
sdkRevision = "rev1"
|
|
sdkType = "fakeType"
|
|
sdkVersion = "6.4.3"
|
|
username = "admin"
|
|
password = "fake_admin_password"
|
|
configType1 = "one"
|
|
configType2 = "two"
|
|
)
|
|
|
|
t.Run("totp id/code payload", func(t *testing.T) {
|
|
dstTotp := &Totp{}
|
|
|
|
srcMap := map[string][]string{
|
|
"id": {"123"},
|
|
"code": {"456"},
|
|
}
|
|
err := MapToStruct(srcMap, dstTotp)
|
|
|
|
req := require.New(t)
|
|
req.NoError(err)
|
|
req.Equal(dstTotp.Code, "456")
|
|
req.Equal(dstTotp.AuthRequestId, "123")
|
|
})
|
|
|
|
t.Run("updb creds with env/sdk info payload", func(t *testing.T) {
|
|
srcMap := map[string][]string{
|
|
"id": {id},
|
|
"envArch": {envArch},
|
|
"envOs": {envOs},
|
|
"envOsRelease": {envOsRelease},
|
|
"envOsVersion": {envOsVersion},
|
|
"sdkAppId": {sdkAppId},
|
|
"sdkAppVersion": {sdkAppVersion},
|
|
"sdkBranch": {sdkBranch},
|
|
"sdkRevision": {sdkRevision},
|
|
"sdkType": {sdkType},
|
|
"sdkVersion": {sdkVersion},
|
|
"username": {username},
|
|
"password": {password},
|
|
"configTypes": {"one", "two"},
|
|
}
|
|
|
|
dst := &updbCreds{}
|
|
|
|
err := MapToStruct(srcMap, dst)
|
|
|
|
req := require.New(t)
|
|
req.NoError(err)
|
|
req.Equal(dst.AuthRequestId, id)
|
|
req.NotNil(dst.EnvInfo)
|
|
req.Equal(dst.EnvInfo.Arch, envArch)
|
|
req.Equal(dst.EnvInfo.OsVersion, envOsVersion)
|
|
req.Equal(dst.EnvInfo.OsRelease, envOsRelease)
|
|
req.Equal(dst.EnvInfo.Os, envOs)
|
|
req.NotNil(dst.SdkInfo)
|
|
req.Equal(dst.SdkInfo.AppID, sdkAppId)
|
|
req.Equal(dst.SdkInfo.AppVersion, sdkAppVersion)
|
|
req.Equal(dst.SdkInfo.Type, sdkType)
|
|
req.Equal(dst.SdkInfo.Revision, sdkRevision)
|
|
req.Equal(dst.SdkInfo.Branch, sdkBranch)
|
|
req.Equal(string(dst.Username), username)
|
|
req.Equal(string(dst.Password), password)
|
|
req.NotNil(dst.ConfigTypes)
|
|
req.Equal(dst.ConfigTypes[0], configType1)
|
|
req.Equal(dst.ConfigTypes[1], configType2)
|
|
})
|
|
|
|
// test - operator
|
|
// test nil translator
|
|
// test bad field names in translator
|
|
}
|