@@ -26,6 +26,8 @@ import (
2626 "github.com/stretchr/testify/assert"
2727 "github.com/supertokens/supertokens-golang/ingredients/emaildelivery"
2828 "github.com/supertokens/supertokens-golang/recipe/emailverification"
29+ "github.com/supertokens/supertokens-golang/recipe/emailverification/emaildelivery/smtpService"
30+ "github.com/supertokens/supertokens-golang/recipe/emailverification/evmodels"
2931 "github.com/supertokens/supertokens-golang/recipe/passwordless"
3032 "github.com/supertokens/supertokens-golang/recipe/passwordless/plessmodels"
3133 "github.com/supertokens/supertokens-golang/recipe/session"
@@ -378,7 +380,7 @@ func TestDefaultBackwardCompatibilityEmailVerifyForPasswordlessUser(t *testing.T
378380 Enabled : true ,
379381 },
380382 }
381- testServer := supertokensInitForTest (t , session .Init (nil ), Init (tplConfig ))
383+ testServer := supertokensInitForTest (t , emailverification . Init (evmodels. TypeInput { Mode : evmodels . ModeOptional }), session .Init (nil ), Init (tplConfig ))
382384 defer testServer .Close ()
383385
384386 querier , err := supertokens .GetNewQuerierInstanceOrThrowError ("" )
@@ -436,7 +438,7 @@ func TestDefaultBackwardCompatibilityEmailVerifyForThirdpartyUser(t *testing.T)
436438 customProviderForEmailVerification ,
437439 },
438440 }
439- testServer := supertokensInitForTest (t , session .Init (nil ), Init (tplConfig ))
441+ testServer := supertokensInitForTest (t , emailverification . Init (evmodels. TypeInput { Mode : evmodels . ModeOptional }), session .Init (nil ), Init (tplConfig ))
440442 defer testServer .Close ()
441443
442444 signinupPostData := PostDataForCustomProvider {
@@ -607,6 +609,9 @@ func TestCustomOverrideEmailVerifyForPasswordlessUser(t *testing.T) {
607609 ContactMethodEmail : plessmodels.ContactMethodEmailConfig {
608610 Enabled : true ,
609611 },
612+ }
613+ testServer := supertokensInitForTest (t , emailverification .Init (evmodels.TypeInput {
614+ Mode : evmodels .ModeOptional ,
610615 EmailDelivery : & emaildelivery.TypeInput {
611616 Override : func (originalImplementation emaildelivery.EmailDeliveryInterface ) emaildelivery.EmailDeliveryInterface {
612617 sendEmail := * originalImplementation .SendEmail
@@ -622,8 +627,7 @@ func TestCustomOverrideEmailVerifyForPasswordlessUser(t *testing.T) {
622627 return originalImplementation
623628 },
624629 },
625- }
626- testServer := supertokensInitForTest (t , session .Init (nil ), Init (tplConfig ))
630+ }), session .Init (nil ), Init (tplConfig ))
627631 defer testServer .Close ()
628632
629633 querier , err := supertokens .GetNewQuerierInstanceOrThrowError ("" )
@@ -687,6 +691,11 @@ func TestCustomOverrideEmailVerifyForThirdpartyUser(t *testing.T) {
687691 ContactMethodEmail : plessmodels.ContactMethodEmailConfig {
688692 Enabled : true ,
689693 },
694+
695+ Providers : []tpmodels.TypeProvider {customProviderForEmailVerification },
696+ }
697+ testServer := supertokensInitForTest (t , emailverification .Init (evmodels.TypeInput {
698+ Mode : evmodels .ModeOptional ,
690699 EmailDelivery : & emaildelivery.TypeInput {
691700 Override : func (originalImplementation emaildelivery.EmailDeliveryInterface ) emaildelivery.EmailDeliveryInterface {
692701 sendEmail := * originalImplementation .SendEmail
@@ -702,9 +711,7 @@ func TestCustomOverrideEmailVerifyForThirdpartyUser(t *testing.T) {
702711 return originalImplementation
703712 },
704713 },
705- Providers : []tpmodels.TypeProvider {customProviderForEmailVerification },
706- }
707- testServer := supertokensInitForTest (t , session .Init (nil ), Init (tplConfig ))
714+ }), session .Init (nil ), Init (tplConfig ))
708715 defer testServer .Close ()
709716
710717 signinupPostData := PostDataForCustomProvider {
@@ -746,7 +753,7 @@ func TestSMTPOverrideEmailVerifyForPasswordlessUser(t *testing.T) {
746753 emailVerifyLink := ""
747754 var userInputCode * string
748755
749- smtpService := MakeSMTPService (emaildelivery.SMTPServiceConfig {
756+ evSmtpService := smtpService . MakeSMTPService (emaildelivery.SMTPServiceConfig {
750757 Settings : emaildelivery.SMTPSettings {
751758 Host : "" ,
752759 From : emaildelivery.SMTPFrom {
@@ -762,7 +769,31 @@ func TestSMTPOverrideEmailVerifyForPasswordlessUser(t *testing.T) {
762769 email = input .EmailVerification .User .Email
763770 emailVerifyLink = input .EmailVerification .EmailVerifyLink
764771 getContentCalled = true
765- } else if input .PasswordlessLogin != nil {
772+ }
773+ return emaildelivery.EmailContent {}, nil
774+ }
775+
776+ (* originalImplementation .SendRawEmail ) = func (input emaildelivery.EmailContent , userContext supertokens.UserContext ) error {
777+ sendRawEmailCalled = true
778+ return nil
779+ }
780+
781+ return originalImplementation
782+ },
783+ })
784+ tplSmtpService := MakeSMTPService (emaildelivery.SMTPServiceConfig {
785+ Settings : emaildelivery.SMTPSettings {
786+ Host : "" ,
787+ From : emaildelivery.SMTPFrom {
788+ Name : "Test User" ,
789+ Email : "" ,
790+ },
791+ Port : 123 ,
792+ Password : "" ,
793+ },
794+ Override : func (originalImplementation emaildelivery.SMTPInterface ) emaildelivery.SMTPInterface {
795+ (* originalImplementation .GetContent ) = func (input emaildelivery.EmailType , userContext supertokens.UserContext ) (emaildelivery.EmailContent , error ) {
796+ if input .PasswordlessLogin != nil {
766797 userInputCode = input .PasswordlessLogin .UserInputCode
767798 }
768799 return emaildelivery.EmailContent {}, nil
@@ -782,10 +813,15 @@ func TestSMTPOverrideEmailVerifyForPasswordlessUser(t *testing.T) {
782813 Enabled : true ,
783814 },
784815 EmailDelivery : & emaildelivery.TypeInput {
785- Service : smtpService ,
816+ Service : tplSmtpService ,
786817 },
787818 }
788- testServer := supertokensInitForTest (t , session .Init (nil ), Init (tplConfig ))
819+ testServer := supertokensInitForTest (t , emailverification .Init (evmodels.TypeInput {
820+ Mode : evmodels .ModeOptional ,
821+ EmailDelivery : & emaildelivery.TypeInput {
822+ Service : evSmtpService ,
823+ },
824+ }), session .Init (nil ), Init (tplConfig ))
789825 defer testServer .Close ()
790826
791827 querier , err := supertokens .GetNewQuerierInstanceOrThrowError ("" )
@@ -848,7 +884,7 @@ func TestSMTPOverrideEmailVerifyForThirdpartyUser(t *testing.T) {
848884 email := ""
849885 emailVerifyLink := ""
850886
851- smtpService := MakeSMTPService (emaildelivery.SMTPServiceConfig {
887+ smtpService := smtpService . MakeSMTPService (emaildelivery.SMTPServiceConfig {
852888 Settings : emaildelivery.SMTPSettings {
853889 Host : "" ,
854890 From : emaildelivery.SMTPFrom {
@@ -881,12 +917,14 @@ func TestSMTPOverrideEmailVerifyForThirdpartyUser(t *testing.T) {
881917 ContactMethodEmail : plessmodels.ContactMethodEmailConfig {
882918 Enabled : true ,
883919 },
920+ Providers : []tpmodels.TypeProvider {customProviderForEmailVerification },
921+ }
922+ testServer := supertokensInitForTest (t , emailverification .Init (evmodels.TypeInput {
923+ Mode : evmodels .ModeOptional ,
884924 EmailDelivery : & emaildelivery.TypeInput {
885925 Service : smtpService ,
886926 },
887- Providers : []tpmodels.TypeProvider {customProviderForEmailVerification },
888- }
889- testServer := supertokensInitForTest (t , session .Init (nil ), Init (tplConfig ))
927+ }), session .Init (nil ), Init (tplConfig ))
890928 defer testServer .Close ()
891929
892930 signinupPostData := PostDataForCustomProvider {
0 commit comments