mirror of
https://github.com/bolkedebruin/rdpgw.git
synced 2025-08-18 06:23:49 +02:00
Add test
This commit is contained in:
parent
cdf6e68684
commit
9d9b7a9ab5
2 changed files with 50 additions and 5 deletions
|
@ -3,12 +3,10 @@ package web
|
|||
import (
|
||||
"encoding/hex"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"github.com/bolkedebruin/rdpgw/cmd/rdpgw/identity"
|
||||
"github.com/coreos/go-oidc/v3/oidc"
|
||||
"github.com/patrickmn/go-cache"
|
||||
"golang.org/x/oauth2"
|
||||
"log"
|
||||
"math/rand"
|
||||
"net/http"
|
||||
"time"
|
||||
|
@ -85,9 +83,7 @@ func (h *OIDC) HandleCallback(w http.ResponseWriter, r *http.Request) {
|
|||
|
||||
userName := findUsernameInClaims(data)
|
||||
if userName == "" {
|
||||
err = errors.New("no odic claim for username found")
|
||||
log.Print(err)
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
http.Error(w, "no oidc claim for username found", http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
id.SetUserName(userName)
|
||||
|
|
49
cmd/rdpgw/web/oidc_test.go
Normal file
49
cmd/rdpgw/web/oidc_test.go
Normal file
|
@ -0,0 +1,49 @@
|
|||
package web
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestFindUserNameInClaims(t *testing.T) {
|
||||
cases := []struct {
|
||||
data map[string]interface{}
|
||||
ret string
|
||||
name string
|
||||
}{
|
||||
{
|
||||
data: map[string]interface{}{
|
||||
"preferred_username": "exists",
|
||||
},
|
||||
ret: "exists",
|
||||
name: "preferred_username",
|
||||
},
|
||||
{
|
||||
data: map[string]interface{}{
|
||||
"upn": "exists",
|
||||
},
|
||||
ret: "exists",
|
||||
name: "upn",
|
||||
},
|
||||
{
|
||||
data: map[string]interface{}{
|
||||
"unique_name": "exists",
|
||||
},
|
||||
ret: "exists",
|
||||
name: "unique_name",
|
||||
},
|
||||
{
|
||||
data: map[string]interface{}{
|
||||
"fail": "exists",
|
||||
},
|
||||
ret: "",
|
||||
name: "fail",
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
s := findUsernameInClaims(tc.data)
|
||||
if s != tc.ret {
|
||||
t.Fatalf("expected return: %v, got: %v", tc.ret, s)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue