1- use crate :: domain:: SubscriberEmail ;
21use reqwest:: Client ;
32use secrecy:: { ExposeSecret , Secret } ;
43
4+ use crate :: domain:: SubscriberEmail ;
5+
56#[ derive( Clone ) ]
67pub struct EmailClient {
78 http_client : Client ,
@@ -18,12 +19,7 @@ impl EmailClient {
1819 timeout : std:: time:: Duration ,
1920 ) -> Self {
2021 let http_client = Client :: builder ( ) . timeout ( timeout) . build ( ) . unwrap ( ) ;
21- Self {
22- http_client,
23- base_url,
24- sender,
25- authorization_token,
26- }
22+ Self { http_client, base_url, sender, authorization_token }
2723 }
2824}
2925
@@ -46,10 +42,7 @@ impl EmailClient {
4642
4743 self . http_client
4844 . post ( & url)
49- . header (
50- "X-Postmark-Server-Token" ,
51- self . authorization_token . expose_secret ( ) ,
52- )
45+ . header ( "X-Postmark-Server-Token" , self . authorization_token . expose_secret ( ) )
5346 . json ( & request_body)
5447 . send ( )
5548 . await ?
@@ -70,18 +63,16 @@ pub struct SendEmailRequest<'a> {
7063
7164#[ cfg( test) ]
7265mod tests {
73- use crate :: { domain:: SubscriberEmail , email_client:: EmailClient } ;
7466 use claim:: { assert_err, assert_ok} ;
75- use fake:: {
76- faker:: internet:: en:: SafeEmail ,
77- faker:: lorem:: en:: { Paragraph , Sentence } ,
78- Fake , Faker ,
79- } ;
67+ use fake:: faker:: internet:: en:: SafeEmail ;
68+ use fake:: faker:: lorem:: en:: { Paragraph , Sentence } ;
69+ use fake:: { Fake , Faker } ;
8070 use secrecy:: Secret ;
81- use wiremock:: {
82- matchers:: { any, header, header_exists, method, path} ,
83- Mock , MockServer , Request , ResponseTemplate ,
84- } ;
71+ use wiremock:: matchers:: { any, header, header_exists, method, path} ;
72+ use wiremock:: { Mock , MockServer , Request , ResponseTemplate } ;
73+
74+ use crate :: domain:: SubscriberEmail ;
75+ use crate :: email_client:: EmailClient ;
8576
8677 struct SendEmailBodyMatcher ;
8778
@@ -140,12 +131,7 @@ mod tests {
140131 let recipient = get_email ( ) ;
141132
142133 let _ = email_client
143- . send_email (
144- & recipient,
145- & generate_subject ( ) ,
146- & generate_content ( ) ,
147- & generate_content ( ) ,
148- )
134+ . send_email ( & recipient, & generate_subject ( ) , & generate_content ( ) , & generate_content ( ) )
149135 . await ;
150136 }
151137
@@ -208,11 +194,7 @@ mod tests {
208194
209195 let response = ResponseTemplate :: new ( 200 ) . set_delay ( std:: time:: Duration :: from_secs ( 180 ) ) ;
210196
211- Mock :: given ( any ( ) )
212- . respond_with ( response)
213- . expect ( 1 )
214- . mount ( & mock_server)
215- . await ;
197+ Mock :: given ( any ( ) ) . respond_with ( response) . expect ( 1 ) . mount ( & mock_server) . await ;
216198
217199 let outcome = email_client
218200 . send_email (
0 commit comments