From 1511884ee6c2df14ffad02b272ab720cf11791ad Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Thu, 1 Oct 2020 20:11:43 +0200 Subject: [PATCH] Test authentication --- auth/auth_test.go | 26 ++++++++++++++++++++++++++ auth/basic/basic_test.go | 16 ++++++++++++++++ auth/bypass/bypass_test.go | 13 +++++++++++++ 3 files changed, 55 insertions(+) diff --git a/auth/auth_test.go b/auth/auth_test.go index 8832b06..54f2e91 100644 --- a/auth/auth_test.go +++ b/auth/auth_test.go @@ -1 +1,27 @@ package auth + +import ( + "gitlab.crans.org/nounous/ghostream/auth/basic" + "gitlab.crans.org/nounous/ghostream/auth/ldap" + "testing" +) + +func TestLoadConfiguration(t *testing.T) { + _, err := New(&Options{Backend: "bypass"}) + if err != nil { + t.Error("Creating bypass authentication backend failed:", err) + } + + _, err = New(&Options{Backend: "basic", Basic: basic.Options{Credentials: make(map[string]string)}}) + + if err != nil { + t.Error("Creating basic authentication backend failed:", err) + } + + _, err = New(&Options{Backend: "ldap", LDAP: ldap.Options{URI: "ldap://127.0.0.1:389", UserDn: "cn=users,dc=example,dc=com"}}) + + // TODO Maybe start a LDAP server? + if err == nil { + t.Error("Creating ldap authentication backend successed mysteriously:", err) + } +} diff --git a/auth/basic/basic_test.go b/auth/basic/basic_test.go index 69c8169..7d71498 100644 --- a/auth/basic/basic_test.go +++ b/auth/basic/basic_test.go @@ -1 +1,17 @@ package basic + +import ( + "testing" +) + +func TestBasicLogin(t *testing.T) { + basicCredentials := make(map[string]string) + basicCredentials["demo"] = "$2b$15$LRnG3eIHFlYIguTxZOLH7eHwbQC/vqjnLq6nDFiHSUDKIU.f5/1H6" + + backend, _ := New(&Options{Credentials: basicCredentials}) + ok, err := backend.Login("demo", "demo") + if !ok { + t.Error("Error while logging with the basic authentication:", err) + } + backend.Close() +} diff --git a/auth/bypass/bypass_test.go b/auth/bypass/bypass_test.go index 6a83a40..58fb015 100644 --- a/auth/bypass/bypass_test.go +++ b/auth/bypass/bypass_test.go @@ -1 +1,14 @@ package bypass + +import ( + "testing" +) + +func TestBypassLogin(t *testing.T) { + backend, _ := New() + ok, err := backend.Login("demo", "demo") + if !ok { + t.Error("Error while logging with the bypass authentication:", err) + } + backend.Close() +}