forked from mystiq/dex
95 lines
1.8 KiB
Go
95 lines
1.8 KiB
Go
|
package connector
|
||
|
|
||
|
import (
|
||
|
"html/template"
|
||
|
"net/url"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/coreos/go-oidc/oidc"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
ns url.URL
|
||
|
lf oidc.LoginFunc
|
||
|
templates *template.Template
|
||
|
)
|
||
|
|
||
|
func init() {
|
||
|
templates = template.New(LDAPLoginPageTemplateName)
|
||
|
}
|
||
|
|
||
|
func TestLDAPConnectorConfigValidTLS(t *testing.T) {
|
||
|
cc := LDAPConnectorConfig{
|
||
|
ID: "ldap",
|
||
|
UseTLS: true,
|
||
|
UseSSL: false,
|
||
|
}
|
||
|
|
||
|
_, err := cc.Connector(ns, lf, templates)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestLDAPConnectorConfigInvalidSSLandTLS(t *testing.T) {
|
||
|
cc := LDAPConnectorConfig{
|
||
|
ID: "ldap",
|
||
|
UseTLS: true,
|
||
|
UseSSL: true,
|
||
|
}
|
||
|
|
||
|
_, err := cc.Connector(ns, lf, templates)
|
||
|
if err == nil {
|
||
|
t.Fatal("Expected LDAPConnector initialization to fail when both TLS and SSL enabled.")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestLDAPConnectorConfigValidSearchScope(t *testing.T) {
|
||
|
cc := LDAPConnectorConfig{
|
||
|
ID: "ldap",
|
||
|
SearchScope: "one",
|
||
|
}
|
||
|
|
||
|
_, err := cc.Connector(ns, lf, templates)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestLDAPConnectorConfigInvalidSearchScope(t *testing.T) {
|
||
|
cc := LDAPConnectorConfig{
|
||
|
ID: "ldap",
|
||
|
SearchScope: "three",
|
||
|
}
|
||
|
|
||
|
_, err := cc.Connector(ns, lf, templates)
|
||
|
if err == nil {
|
||
|
t.Fatal("Expected LDAPConnector initialization to fail when invalid value provided for SearchScope.")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestLDAPConnectorConfigInvalidCertFileNoKeyFile(t *testing.T) {
|
||
|
cc := LDAPConnectorConfig{
|
||
|
ID: "ldap",
|
||
|
CertFile: "/tmp/ldap.crt",
|
||
|
}
|
||
|
|
||
|
_, err := cc.Connector(ns, lf, templates)
|
||
|
if err == nil {
|
||
|
t.Fatal("Expected LDAPConnector initialization to fail when CertFile specified without KeyFile.")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestLDAPConnectorConfigValidCertFileAndKeyFile(t *testing.T) {
|
||
|
cc := LDAPConnectorConfig{
|
||
|
ID: "ldap",
|
||
|
CertFile: "/tmp/ldap.crt",
|
||
|
KeyFile: "/tmp/ldap.key",
|
||
|
}
|
||
|
|
||
|
_, err := cc.Connector(ns, lf, templates)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
}
|