github.com/go-email-validator/go-email-validator@v0.0.0-20230409163946-b8b9e6a0552e/pkg/presentation/as-email-verifier/cmd/dep_test_generator/gen.go (about) 1 package main 2 3 import ( 4 "encoding/json" 5 emailverifier "github.com/AfterShip/email-verifier" 6 "github.com/emirpasic/gods/sets/hashset" 7 "github.com/go-email-validator/go-email-validator/pkg/presentation/converter" 8 "github.com/go-email-validator/go-email-validator/pkg/presentation/test" 9 "log" 10 "os" 11 ) 12 13 // TODO DRY for gen fixtures 14 func main() { 15 var err error 16 emails := converter.EmailsForTests() 17 deps := make([]interface{}, len(emails)) 18 19 verifier := emailverifier.NewVerifier(). 20 EnableGravatarCheck(). 21 EnableSMTPCheck() 22 // .EnableDomainSuggest() 23 24 incorrectGravatar := hashset.New( 25 "amazedfuckporno@gmail.com", 26 "theofanis.giot2is@12pm.gr", 27 "asdasd@tradepro.net", 28 "credit@mail.ru", 29 "admin@gmail.com", 30 "asdasd@tradepro.net", 31 ) 32 33 for i, email := range emails { 34 verifyResult, _ := verifier.Verify(email) 35 36 if incorrectGravatar.Contains(email) && verifyResult.Gravatar != nil { 37 verifyResult.Gravatar.HasGravatar = false 38 verifyResult.Gravatar.GravatarUrl = "" 39 } 40 41 deps[i] = verifyResult 42 } 43 44 f, err := os.Create(test.DefaultDepFixtureFile) 45 die(err) 46 defer f.Close() 47 48 bytes, err := json.MarshalIndent(deps, "", " ") 49 die(err) 50 _, err = f.Write(bytes) 51 die(err) 52 } 53 54 func die(err error) { 55 if err != nil { 56 log.Fatal(err) 57 } 58 }