@@ -6218,3 +6218,99 @@ def test_pep625_emails(
6218
6218
},
6219
6219
)
6220
6220
]
6221
+
6222
+ def test_environment_ignored_in_trusted_publisher_emails (
6223
+ self , pyramid_request , pyramid_config , monkeypatch
6224
+ ):
6225
+ template_name = "environment-ignored-in-trusted-publisher"
6226
+ stub_user_owner = pretend .stub (
6227
+ id = "id_owner" ,
6228
+ username = "username_owner" ,
6229
+ name = "" ,
6230
+
6231
+ primary_email = pretend .
stub (
email = "[email protected] " ,
verified = True ),
6232
+ )
6233
+ subject_renderer = pyramid_config .testing_add_renderer (
6234
+ f"email/{ template_name } /subject.txt"
6235
+ )
6236
+ subject_renderer .string_response = "Email Subject"
6237
+ body_renderer = pyramid_config .testing_add_renderer (
6238
+ f"email/{ template_name } /body.txt"
6239
+ )
6240
+ body_renderer .string_response = "Email Body"
6241
+ html_renderer = pyramid_config .testing_add_renderer (
6242
+ f"email/{ template_name } /body.html"
6243
+ )
6244
+ html_renderer .string_response = "Email HTML Body"
6245
+
6246
+ send_email = pretend .stub (
6247
+ delay = pretend .call_recorder (lambda * args , ** kwargs : None )
6248
+ )
6249
+ pyramid_request .task = pretend .call_recorder (lambda * args , ** kwargs : send_email )
6250
+ monkeypatch .setattr (email , "send_email" , send_email )
6251
+
6252
+ pyramid_request .db = pretend .stub (
6253
+ query = lambda a : pretend .stub (
6254
+ filter = lambda * a : pretend .stub (
6255
+ one = lambda : pretend .stub (user_id = stub_user_owner .id )
6256
+ )
6257
+ ),
6258
+ )
6259
+ fakepublisher = pretend .stub (
6260
+ publisher_name = "fakepublisher" ,
6261
+ repository_owner = "fakeowner" ,
6262
+ repository_name = "fakerepository" ,
6263
+ environment = "" ,
6264
+ )
6265
+ fakeenvironment = "fakeenvironment"
6266
+ pyramid_request .user = stub_user_owner
6267
+ pyramid_request .
registry .
settings = {
"mail.sender" :
"[email protected] " }
6268
+
6269
+ project_name = "test_project"
6270
+ result = email .send_environment_ignored_in_trusted_publisher_email (
6271
+ pyramid_request ,
6272
+ [stub_user_owner ],
6273
+ project_name = project_name ,
6274
+ publisher = fakepublisher ,
6275
+ environment_name = fakeenvironment ,
6276
+ )
6277
+
6278
+ assert result == {
6279
+ "project_name" : project_name ,
6280
+ "publisher" : fakepublisher ,
6281
+ "environment_name" : fakeenvironment ,
6282
+ }
6283
+ subject_renderer .assert_ ()
6284
+ body_renderer .assert_ ()
6285
+ html_renderer .assert_ (
6286
+ project_name = project_name ,
6287
+ publisher = fakepublisher ,
6288
+ environment_name = fakeenvironment ,
6289
+ )
6290
+ assert pyramid_request .task .calls == [
6291
+ pretend .call (send_email ),
6292
+ ]
6293
+ assert send_email .delay .calls == [
6294
+ pretend .call (
6295
+ f"{ stub_user_owner .username } <{ stub_user_owner .email } >" ,
6296
+ {
6297
+ "sender" : None ,
6298
+ "subject" : "Email Subject" ,
6299
+ "body_text" : "Email Body" ,
6300
+ "body_html" : (
6301
+ "<html>\n <head></head>\n "
6302
+ "<body><p>Email HTML Body</p></body>\n </html>\n "
6303
+ ),
6304
+ },
6305
+ {
6306
+ "tag" : "account:email:sent" ,
6307
+ "user_id" : stub_user_owner .id ,
6308
+ "additional" : {
6309
+
6310
+ "to" : stub_user_owner .email ,
6311
+ "subject" : "Email Subject" ,
6312
+ "redact_ip" : False ,
6313
+ },
6314
+ },
6315
+ ),
6316
+ ]
0 commit comments