summaryrefslogtreecommitdiff
path: root/internal/configuration/validator/notifier_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/configuration/validator/notifier_test.go')
-rw-r--r--internal/configuration/validator/notifier_test.go63
1 files changed, 47 insertions, 16 deletions
diff --git a/internal/configuration/validator/notifier_test.go b/internal/configuration/validator/notifier_test.go
index 0a48aa947..1af7219a8 100644
--- a/internal/configuration/validator/notifier_test.go
+++ b/internal/configuration/validator/notifier_test.go
@@ -2,6 +2,7 @@ package validator
import (
"fmt"
+ "net/mail"
"testing"
"github.com/stretchr/testify/suite"
@@ -20,12 +21,16 @@ func (suite *NotifierSuite) SetupTest() {
suite.configuration.SMTP = &schema.SMTPNotifierConfiguration{
Username: "john",
Password: "password",
- Sender: "admin@example.com",
+ Sender: mail.Address{Name: "Authelia", Address: "authelia@example.com"},
Host: "example.com",
Port: 25,
}
+ suite.configuration.FileSystem = nil
}
+/*
+ Common Tests.
+*/
func (suite *NotifierSuite) TestShouldEnsureAtLeastSMTPOrFilesystemIsProvided() {
ValidateNotifier(&suite.configuration, suite.validator)
@@ -63,29 +68,37 @@ func (suite *NotifierSuite) TestShouldEnsureEitherSMTPOrFilesystemIsProvided() {
suite.Assert().EqualError(suite.validator.Errors()[0], errFmtNotifierMultipleConfigured)
}
-func (suite *NotifierSuite) TestShouldEnsureFilenameOfFilesystemNotifierIsProvided() {
- suite.configuration.SMTP = nil
- suite.configuration.FileSystem = &schema.FileSystemNotifierConfiguration{
- Filename: "test",
- }
+/*
+ SMTP Tests.
+*/
+func (suite *NotifierSuite) TestSMTPShouldSetTLSDefaults() {
ValidateNotifier(&suite.configuration, suite.validator)
suite.Assert().False(suite.validator.HasWarnings())
suite.Assert().False(suite.validator.HasErrors())
- suite.configuration.FileSystem.Filename = ""
+ suite.Assert().Equal("example.com", suite.configuration.SMTP.TLS.ServerName)
+ suite.Assert().Equal("TLS1.2", suite.configuration.SMTP.TLS.MinimumVersion)
+ suite.Assert().False(suite.configuration.SMTP.TLS.SkipVerify)
+}
+
+func (suite *NotifierSuite) TestSMTPShouldDefaultTLSServerNameToHost() {
+ suite.configuration.SMTP.Host = "google.com"
+ suite.configuration.SMTP.TLS = &schema.TLSConfig{
+ MinimumVersion: "TLS1.1",
+ }
ValidateNotifier(&suite.configuration, suite.validator)
suite.Assert().False(suite.validator.HasWarnings())
- suite.Require().True(suite.validator.HasErrors())
-
- suite.Assert().Len(suite.validator.Errors(), 1)
+ suite.Assert().False(suite.validator.HasErrors())
- suite.Assert().EqualError(suite.validator.Errors()[0], errFmtNotifierFileSystemFileNameNotConfigured)
+ suite.Assert().Equal("google.com", suite.configuration.SMTP.TLS.ServerName)
+ suite.Assert().Equal("TLS1.1", suite.configuration.SMTP.TLS.MinimumVersion)
+ suite.Assert().False(suite.configuration.SMTP.TLS.SkipVerify)
}
-func (suite *NotifierSuite) TestShouldEnsureHostAndPortOfSMTPNotifierAreProvided() {
+func (suite *NotifierSuite) TestSMTPShouldEnsureHostAndPortAreProvided() {
suite.configuration.FileSystem = nil
ValidateNotifier(&suite.configuration, suite.validator)
@@ -108,15 +121,33 @@ func (suite *NotifierSuite) TestShouldEnsureHostAndPortOfSMTPNotifierAreProvided
suite.Assert().EqualError(errors[1], fmt.Sprintf(errFmtNotifierSMTPNotConfigured, "port"))
}
-func (suite *NotifierSuite) TestShouldEnsureSenderOfSMTPNotifierAreProvided() {
- suite.configuration.FileSystem = nil
+func (suite *NotifierSuite) TestSMTPShouldEnsureSenderIsProvided() {
+ suite.configuration.SMTP.Sender = mail.Address{}
+
+ ValidateNotifier(&suite.configuration, suite.validator)
+
+ suite.Assert().False(suite.validator.HasWarnings())
+ suite.Require().True(suite.validator.HasErrors())
+
+ suite.Assert().Len(suite.validator.Errors(), 1)
+
+ suite.Assert().EqualError(suite.validator.Errors()[0], fmt.Sprintf(errFmtNotifierSMTPNotConfigured, "sender"))
+}
+/*
+ File Tests.
+*/
+func (suite *NotifierSuite) TestFileShouldEnsureFilenameIsProvided() {
+ suite.configuration.SMTP = nil
+ suite.configuration.FileSystem = &schema.FileSystemNotifierConfiguration{
+ Filename: "test",
+ }
ValidateNotifier(&suite.configuration, suite.validator)
suite.Assert().False(suite.validator.HasWarnings())
suite.Assert().False(suite.validator.HasErrors())
- suite.configuration.SMTP.Sender = ""
+ suite.configuration.FileSystem.Filename = ""
ValidateNotifier(&suite.configuration, suite.validator)
@@ -125,7 +156,7 @@ func (suite *NotifierSuite) TestShouldEnsureSenderOfSMTPNotifierAreProvided() {
suite.Assert().Len(suite.validator.Errors(), 1)
- suite.Assert().EqualError(suite.validator.Errors()[0], fmt.Sprintf(errFmtNotifierSMTPNotConfigured, "sender"))
+ suite.Assert().EqualError(suite.validator.Errors()[0], errFmtNotifierFileSystemFileNameNotConfigured)
}
func TestNotifierSuite(t *testing.T) {