-
Notifications
You must be signed in to change notification settings - Fork 228
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This makes it so NewClient never blocks, much like tls.Client. This allows callers to have better control over timeouts.
- Loading branch information
Showing
2 changed files
with
44 additions
and
73 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -33,10 +33,7 @@ func TestClientAuthTrimSpace(t *testing.T) { | |
strings.NewReader(server), | ||
&wrote, | ||
} | ||
c, err := NewClient(fake) | ||
if err != nil { | ||
t.Fatalf("NewClient: %v", err) | ||
} | ||
c := NewClient(fake) | ||
c.tls = true | ||
c.didHello = true | ||
c.Auth(toServerEmptyAuth{}) | ||
|
@@ -185,12 +182,9 @@ func TestBasic_SMTPError(t *testing.T) { | |
strings.NewReader(faultyServer), | ||
&wrote, | ||
} | ||
c, err := NewClient(fake) | ||
if err != nil { | ||
t.Fatalf("NewClient failed: %v", err) | ||
} | ||
c := NewClient(fake) | ||
|
||
err = c.Mail("whatever", nil) | ||
err := c.Mail("whatever", nil) | ||
if err == nil { | ||
t.Fatal("MAIL succeeded") | ||
} | ||
|
@@ -267,12 +261,9 @@ func TestClient_TooLongLine(t *testing.T) { | |
pr, | ||
&wrote, | ||
} | ||
c, err := NewClient(fake) | ||
if err != nil { | ||
t.Fatalf("NewClient failed: %v", err) | ||
} | ||
c := NewClient(fake) | ||
|
||
err = c.Mail("whatever", nil) | ||
err := c.Mail("whatever", nil) | ||
if err != ErrTooLongLine { | ||
t.Fatal("MAIL succeeded or returned a different error:", err) | ||
} | ||
|
@@ -335,10 +326,7 @@ func TestNewClient(t *testing.T) { | |
} | ||
var fake faker | ||
fake.ReadWriter = bufio.NewReadWriter(bufio.NewReader(strings.NewReader(server)), bcmdbuf) | ||
c, err := NewClient(fake) | ||
if err != nil { | ||
t.Fatalf("NewClient: %v\n(after %v)", err, out()) | ||
} | ||
c := NewClient(fake) | ||
defer c.Close() | ||
if ok, args := c.Extension("aUtH"); !ok || args != "LOGIN PLAIN" { | ||
t.Fatalf("Expected AUTH supported") | ||
|
@@ -376,10 +364,7 @@ func TestNewClient2(t *testing.T) { | |
bcmdbuf := bufio.NewWriter(&cmdbuf) | ||
var fake faker | ||
fake.ReadWriter = bufio.NewReadWriter(bufio.NewReader(strings.NewReader(server)), bcmdbuf) | ||
c, err := NewClient(fake) | ||
if err != nil { | ||
t.Fatalf("NewClient: %v", err) | ||
} | ||
c := NewClient(fake) | ||
defer c.Close() | ||
if ok, _ := c.Extension("DSN"); ok { | ||
t.Fatalf("Shouldn't support DSN") | ||
|
@@ -422,15 +407,12 @@ func TestHello(t *testing.T) { | |
bcmdbuf := bufio.NewWriter(&cmdbuf) | ||
var fake faker | ||
fake.ReadWriter = bufio.NewReadWriter(bufio.NewReader(strings.NewReader(server)), bcmdbuf) | ||
c, err := NewClient(fake) | ||
if err != nil { | ||
t.Fatalf("NewClient: %v", err) | ||
} | ||
c := NewClient(fake) | ||
defer c.Close() | ||
c.serverName = "fake.host" | ||
c.localName = "customhost" | ||
err = nil | ||
|
||
var err error | ||
switch i { | ||
case 0: | ||
err = c.Hello("hostinjection>\n\rDATA\r\nInjected message body\r\n.\r\nQUIT\r\n") | ||
|
@@ -553,15 +535,12 @@ func TestAuthFailed(t *testing.T) { | |
bcmdbuf := bufio.NewWriter(&cmdbuf) | ||
var fake faker | ||
fake.ReadWriter = bufio.NewReadWriter(bufio.NewReader(strings.NewReader(server)), bcmdbuf) | ||
c, err := NewClient(fake) | ||
if err != nil { | ||
t.Fatalf("NewClient: %v", err) | ||
} | ||
c := NewClient(fake) | ||
defer c.Close() | ||
|
||
c.tls = true | ||
c.serverName = "smtp.google.com" | ||
err = c.Auth(sasl.NewPlainClient("", "user", "pass")) | ||
err := c.Auth(sasl.NewPlainClient("", "user", "pass")) | ||
|
||
if err == nil { | ||
t.Error("Auth: expected error; got none") | ||
|
@@ -830,7 +809,8 @@ Goodbye.` | |
} | ||
} | ||
|
||
var lmtpServer = `250-localhost at your service | ||
var lmtpServer = `220 localhost Simple Mail Transfer Service Ready | ||
250-localhost at your service | ||
250-SIZE 35651584 | ||
250 8BITMIME | ||
250 Sender OK | ||
|
@@ -856,7 +836,8 @@ QUIT | |
` | ||
|
||
func TestLMTPData(t *testing.T) { | ||
var lmtpServerPartial = `250-localhost at your service | ||
var lmtpServerPartial = `220 localhost Simple Mail Transfer Service Ready | ||
250-localhost at your service | ||
250-SIZE 35651584 | ||
250 8BITMIME | ||
250 Sender OK | ||
|
@@ -951,10 +932,7 @@ func TestClientXtext(t *testing.T) { | |
strings.NewReader(server), | ||
&wrote, | ||
} | ||
c, err := NewClient(fake) | ||
if err != nil { | ||
t.Fatalf("NewClient: %v", err) | ||
} | ||
c := NewClient(fake) | ||
c.didHello = true | ||
c.ext = map[string]string{"AUTH": "PLAIN", "DSN": ""} | ||
email := "[email protected]" | ||
|
@@ -1001,10 +979,7 @@ func TestClientDSN(t *testing.T) { | |
strings.NewReader(server), | ||
&wrote, | ||
} | ||
c, err := NewClient(fake) | ||
if err != nil { | ||
t.Fatalf("NewClient: %v", err) | ||
} | ||
c := NewClient(fake) | ||
c.didHello = true | ||
c.ext = map[string]string{"DSN": ""} | ||
c.Mail(dsnEmailRFC822, &MailOptions{ | ||
|