summaryrefslogtreecommitdiff
path: root/internal/configuration/validator/notifier_test.go
diff options
context:
space:
mode:
authorJames Elliott <james-d-elliott@users.noreply.github.com>2023-04-13 20:58:18 +1000
committerGitHub <noreply@github.com>2023-04-13 20:58:18 +1000
commit3d2da0b070d097129cc71b5e170692c3a6380b8f (patch)
treea639324484bd067a7b5eadd04867d6eb40b882c1 /internal/configuration/validator/notifier_test.go
parentdb130dad483dfdbc36d0f781713d01d6fd1b960c (diff)
feat(oidc): client authentication modes (#5150)
This adds a feature to OpenID Connect 1.0 where clients can be restricted to a specific client authentication mode, as well as implements some backend requirements for the private_key_jwt client authentication mode (and potentially the tls_client_auth / self_signed_tls_client_auth client authentication modes). It also adds some improvements to configuration defaults and validations which will for now be warnings but likely be made into errors. Signed-off-by: James Elliott <james-d-elliott@users.noreply.github.com>
Diffstat (limited to 'internal/configuration/validator/notifier_test.go')
-rw-r--r--internal/configuration/validator/notifier_test.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/internal/configuration/validator/notifier_test.go b/internal/configuration/validator/notifier_test.go
index c41776a29..17819993f 100644
--- a/internal/configuration/validator/notifier_test.go
+++ b/internal/configuration/validator/notifier_test.go
@@ -4,8 +4,10 @@ import (
"crypto/tls"
"fmt"
"net/mail"
+ "path/filepath"
"testing"
+ "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/authelia/authelia/v4/internal/configuration/schema"
@@ -187,6 +189,32 @@ func (suite *NotifierSuite) TestSMTPShouldEnsureSenderIsProvided() {
suite.Assert().EqualError(suite.validator.Errors()[0], fmt.Sprintf(errFmtNotifierSMTPNotConfigured, "sender"))
}
+func (suite *NotifierSuite) TestTemplatesEmptyDir() {
+ dir := suite.T().TempDir()
+
+ suite.config.TemplatePath = dir
+
+ ValidateNotifier(&suite.config, suite.validator)
+
+ suite.Assert().Len(suite.validator.Warnings(), 0)
+ suite.Assert().Len(suite.validator.Errors(), 0)
+}
+
+func (suite *NotifierSuite) TestTemplatesEmptyDirNoExist() {
+ dir := suite.T().TempDir()
+
+ p := filepath.Join(dir, "notexist")
+
+ suite.config.TemplatePath = p
+
+ ValidateNotifier(&suite.config, suite.validator)
+
+ suite.Assert().Len(suite.validator.Warnings(), 0)
+ suite.Assert().Len(suite.validator.Errors(), 1)
+
+ assert.EqualError(suite.T(), suite.validator.Errors()[0], fmt.Sprintf("notifier: option 'template_path' refers to location '%s' which does not exist", p))
+}
+
/*
File Tests.
*/