mirror of
https://github.com/wneessen/go-mail.git
synced 2024-12-18 17:00:38 +01:00
Add test for SCRAM-SHA authentication failure cases
Implemented tests for various SCRAM-SHA authentication methods including SCRAM-SHA-1, SCRAM-SHA-1-PLUS, SCRAM-SHA-256, and SCRAM-SHA-256-PLUS with invalid credentials. This ensures that the client correctly handles and reports authentication failures.
This commit is contained in:
parent
8838414c38
commit
5058fd5222
1 changed files with 33 additions and 0 deletions
|
@ -1872,6 +1872,39 @@ func TestClient_AuthSCRAMSHAX(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestClient_AuthSCRAMSHAX_fail(t *testing.T) {
|
||||
if os.Getenv("TEST_ONLINE_SCRAM") == "" {
|
||||
t.Skipf("TEST_ONLINE_SCRAM is not set. Skipping online SCRAM tests")
|
||||
}
|
||||
hostname := os.Getenv("TEST_HOST_SCRAM")
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
authtype SMTPAuthType
|
||||
}{
|
||||
{"SCRAM-SHA-1", SMTPAuthSCRAMSHA1},
|
||||
{"SCRAM-SHA-1-PLUS", SMTPAuthSCRAMSHA1PLUS},
|
||||
{"SCRAM-SHA-256", SMTPAuthSCRAMSHA256},
|
||||
{"SCRAM-SHA-256-PLUS", SMTPAuthSCRAMSHA256PLUS},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
client, err := NewClient(hostname,
|
||||
WithTLSPortPolicy(TLSMandatory),
|
||||
WithSMTPAuth(tt.authtype),
|
||||
WithUsername("invalid"), WithPassword("invalid"))
|
||||
if err != nil {
|
||||
t.Errorf("unable to create new client: %s", err)
|
||||
return
|
||||
}
|
||||
if err = client.DialWithContext(context.Background()); err == nil {
|
||||
t.Errorf("expected error but got nil")
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestClient_AuthSCRAMSHAXPLUS_tlsexporter(t *testing.T) {
|
||||
if os.Getenv("TEST_ONLINE_SCRAM") == "" {
|
||||
t.Skipf("TEST_ONLINE_SCRAM is not set. Skipping online SCRAM tests")
|
||||
|
|
Loading…
Reference in a new issue