77 "github.com/stretchr/testify/assert"
88)
99
10- func TestMailTool_sendMail (t * testing.T ) {
10+ func Test_emailToolSet_sendMail (t * testing.T ) {
1111 toolSet , err := NewToolSet (
1212 WithSendEmailEnabled (true ),
1313 )
@@ -21,6 +21,7 @@ func TestMailTool_sendMail(t *testing.T) {
2121 ToEmail string
2222 Subject string
2323 Content string
24+ wantErr bool
2425 }{
2526
2627 {
@@ -29,6 +30,7 @@ func TestMailTool_sendMail(t *testing.T) {
29303031 Subject : "test" ,
3132 Content : "test" ,
33+ wantErr : false ,
3234 },
3335
3436 {
@@ -37,14 +39,29 @@ func TestMailTool_sendMail(t *testing.T) {
37393840 Subject : "test" ,
3941 Content : "test" ,
42+ wantErr : false ,
43+ },
44+ // error case
45+ {
46+ 47+ Password : "" ,
48+ 49+ Subject : "test" ,
50+ Content : "test" ,
51+ wantErr : true ,
52+ },
53+ // error case
54+ {
55+ 56+ Password : "" ,
57+ ToEmail :
"185039@[email protected] " ,
58+ Subject : "test" ,
59+ Content : "test" ,
60+ wantErr : true ,
4061 },
4162 }
4263 for _ , tt := range tests {
4364
44- if tt .Password == "" {
45- t .Skip ("no passwd skip" )
46- }
47-
4865 rsp , err := toolSet .(* emailToolSet ).sendMail (context .Background (), & sendMailRequest {
4966 Auth : Auth {
5067 Name : tt .Name ,
@@ -58,10 +75,19 @@ func TestMailTool_sendMail(t *testing.T) {
5875 },
5976 },
6077 })
78+ t .Logf ("rsp: %+v err:%v" , rsp , err )
79+ if tt .Password == "" {
80+ t .Logf ("password is empty, skip" )
81+ continue
82+ }
6183 if err != nil {
62- t .Errorf ("send mail err: %v" , err )
84+ if tt .wantErr == true {
85+ t .Errorf ("send mail err: %v" , err )
86+ }
87+ } else if tt .wantErr == false {
88+ t .Errorf ("should err but not" )
6389 }
64- t . Logf ( "rsp: %+v" , rsp )
90+
6591 }
6692}
6793
@@ -147,6 +173,12 @@ func Test_checkMailBoxType(t *testing.T) {
147173 want : MAIL_GMAIL ,
148174 wantErr : false ,
149175 },
176+ {
177+ name : "not valid email" ,
178+ args : args {email : "UserGmAiL.cOm" },
179+ want : MAIL_GMAIL ,
180+ wantErr : true ,
181+ },
150182 }
151183 for _ , tt := range tests {
152184 t .Run (tt .name , func (t * testing.T ) {
0 commit comments