@@ -39,7 +39,7 @@ const bodyTpl = `
39
39
</html>
40
40
`
41
41
42
- func TestComposeIssueCommentMessage (t * testing.T ) {
42
+ func prepareMailerTest (t * testing.T ) ( doer * models. User , repo * models. Repository , issue * models. Issue , comment * models. Comment ) {
43
43
assert .NoError (t , models .PrepareTestDatabase ())
44
44
var mailService = setting.Mailer {
45
45
@@ -48,10 +48,16 @@ func TestComposeIssueCommentMessage(t *testing.T) {
48
48
setting .MailService = & mailService
49
49
setting .Domain = "localhost"
50
50
51
- doer := models .AssertExistsAndLoadBean (t , & models.User {ID : 2 }).(* models.User )
52
- repo := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 1 , Owner : doer }).(* models.Repository )
53
- issue := models .AssertExistsAndLoadBean (t , & models.Issue {ID : 1 , Repo : repo , Poster : doer }).(* models.Issue )
54
- comment := models .AssertExistsAndLoadBean (t , & models.Comment {ID : 2 , Issue : issue }).(* models.Comment )
51
+ doer = models .AssertExistsAndLoadBean (t , & models.User {ID : 2 }).(* models.User )
52
+ repo = models .AssertExistsAndLoadBean (t , & models.Repository {ID : 1 , Owner : doer }).(* models.Repository )
53
+ issue = models .AssertExistsAndLoadBean (t , & models.Issue {ID : 1 , Repo : repo , Poster : doer }).(* models.Issue )
54
+ assert .NoError (t , issue .LoadRepo ())
55
+ comment = models .AssertExistsAndLoadBean (t , & models.Comment {ID : 2 , Issue : issue }).(* models.Comment )
56
+ return
57
+ }
58
+
59
+ func TestComposeIssueCommentMessage (t * testing.T ) {
60
+ doer , _ , issue , comment := prepareMailerTest (t )
55
61
56
62
stpl := texttmpl .Must (texttmpl .New ("issue/comment" ).Parse (subjectTpl ))
57
63
btpl := template .Must (template .New ("issue/comment" ).Parse (bodyTpl ))
@@ -76,17 +82,7 @@ func TestComposeIssueCommentMessage(t *testing.T) {
76
82
}
77
83
78
84
func TestComposeIssueMessage (t * testing.T ) {
79
- assert .NoError (t , models .PrepareTestDatabase ())
80
- var mailService = setting.Mailer {
81
-
82
- }
83
-
84
- setting .MailService = & mailService
85
- setting .Domain = "localhost"
86
-
87
- doer := models .AssertExistsAndLoadBean (t , & models.User {ID : 2 }).(* models.User )
88
- repo := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 1 , Owner : doer }).(* models.Repository )
89
- issue := models .AssertExistsAndLoadBean (t , & models.Issue {ID : 1 , Repo : repo , Poster : doer }).(* models.Issue )
85
+ doer , _ , issue , _ := prepareMailerTest (t )
90
86
91
87
stpl := texttmpl .Must (texttmpl .New ("issue/new" ).Parse (subjectTpl ))
92
88
btpl := template .Must (template .New ("issue/new" ).Parse (bodyTpl ))
@@ -111,17 +107,7 @@ func TestComposeIssueMessage(t *testing.T) {
111
107
}
112
108
113
109
func TestTemplateSelection (t * testing.T ) {
114
- assert .NoError (t , models .PrepareTestDatabase ())
115
- var mailService = setting.Mailer {
116
-
117
- }
118
-
119
- setting .MailService = & mailService
120
- setting .Domain = "localhost"
121
-
122
- doer := models .AssertExistsAndLoadBean (t , & models.User {ID : 2 }).(* models.User )
123
- repo := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 1 , Owner : doer }).(* models.Repository )
124
- issue := models .AssertExistsAndLoadBean (t , & models.Issue {ID : 1 , Repo : repo , Poster : doer }).(* models.Issue )
110
+ doer , repo , issue , comment := prepareMailerTest (t )
125
111
recipients := []
* models.
User {{
Name :
"Test" ,
Email :
"[email protected] " }}
126
112
127
113
stpl := texttmpl .Must (texttmpl .New ("issue/default" ).Parse ("issue/default/subject" ))
@@ -149,7 +135,6 @@ func TestTemplateSelection(t *testing.T) {
149
135
Content : "test body" }, recipients , false , "TestTemplateSelection" )
150
136
expect (t , msg , "issue/new/subject" , "issue/new/body" )
151
137
152
- comment := models .AssertExistsAndLoadBean (t , & models.Comment {ID : 2 , Issue : issue }).(* models.Comment )
153
138
msg = testComposeIssueCommentMessage (t , & mailCommentContext {Issue : issue , Doer : doer , ActionType : models .ActionCommentIssue ,
154
139
Content : "test body" , Comment : comment }, recipients , false , "TestTemplateSelection" )
155
140
expect (t , msg , "issue/default/subject" , "issue/default/body" )
@@ -166,18 +151,7 @@ func TestTemplateSelection(t *testing.T) {
166
151
}
167
152
168
153
func TestTemplateServices (t * testing.T ) {
169
- assert .NoError (t , models .PrepareTestDatabase ())
170
- var mailService = setting.Mailer {
171
-
172
- }
173
-
174
- setting .MailService = & mailService
175
- setting .Domain = "localhost"
176
-
177
- doer := models .AssertExistsAndLoadBean (t , & models.User {ID : 2 }).(* models.User )
178
- repo := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 1 , Owner : doer }).(* models.Repository )
179
- issue := models .AssertExistsAndLoadBean (t , & models.Issue {ID : 1 , Repo : repo , Poster : doer }).(* models.Issue )
180
- comment := models .AssertExistsAndLoadBean (t , & models.Comment {ID : 2 , Issue : issue }).(* models.Comment )
154
+ doer , _ , issue , comment := prepareMailerTest (t )
181
155
assert .NoError (t , issue .LoadRepo ())
182
156
183
157
expect := func (t * testing.T , issue * models.Issue , comment * models.Comment , doer * models.User ,
@@ -225,3 +199,32 @@ func testComposeIssueCommentMessage(t *testing.T, ctx *mailCommentContext, recip
225
199
assert .Len (t , msgs , 1 )
226
200
return msgs [0 ]
227
201
}
202
+
203
+ func TestGenerateAdditionalHeaders (t * testing.T ) {
204
+ doer , _ , issue , _ := prepareMailerTest (t )
205
+
206
+ ctx := & mailCommentContext {Issue : issue , Doer : doer }
207
+ recipient := & models.
User {
Name :
"Test" ,
Email :
"[email protected] " }
208
+
209
+ headers := generateAdditionalHeaders (ctx , "dummy-reason" , recipient )
210
+
211
+ expected := map [string ]string {
212
+ "List-ID" : "user2/repo1 <repo1.user2.localhost>" ,
213
+ "List-Archive" : "<https://try.gitea.io/user2/repo1>" ,
214
+ "X-Gitea-Reason" : "dummy-reason" ,
215
+ "X-Gitea-Sender" : "< U<se>r Tw<o > ><" ,
216
+ "X-Gitea-Recipient" : "Test" ,
217
+ "X-Gitea-Recipient-Address" :
"[email protected] " ,
218
+ "X-Gitea-Repository" : "repo1" ,
219
+ "X-Gitea-Repository-Path" : "user2/repo1" ,
220
+ "X-Gitea-Repository-Link" : "https://try.gitea.io/user2/repo1" ,
221
+ "X-Gitea-Issue-ID" : "1" ,
222
+ "X-Gitea-Issue-Link" : "https://try.gitea.io/user2/repo1/issues/1" ,
223
+ }
224
+
225
+ for key , value := range expected {
226
+ if assert .Contains (t , headers , key ) {
227
+ assert .Equal (t , value , headers [key ])
228
+ }
229
+ }
230
+ }
0 commit comments