github.com/lovung/GoCleanArchitecture@v0.0.0-20210302152432-50d91fd29f9f/pkg/hasher/bcrypt_test.go (about) 1 package hasher 2 3 import "testing" 4 5 func Test_bcryptHashAndCheckPassword(t *testing.T) { 6 type args struct { 7 password string 8 } 9 tests := []struct { 10 name string 11 args args 12 }{ 13 {args: args{password: "testpassword"}}, 14 {args: args{password: "!@#$%^&*()_+"}}, 15 } 16 for _, tt := range tests { 17 t.Run(tt.name, func(t *testing.T) { 18 got, _ := bcryptHashPassword(tt.args.password) 19 if ok, _ := bcryptCheckPasswordHash(tt.args.password, got); !ok { 20 t.Errorf("Got error Hash and Check password hash = %v, password %v", got, tt.args.password) 21 } 22 }) 23 } 24 } 25 26 func Benchmark_bcryptHashAndCheckPassword(b *testing.B) { 27 type args struct { 28 password string 29 } 30 tests := []struct { 31 name string 32 args args 33 }{ 34 {args: args{password: "testpassword"}}, 35 {args: args{password: "!@#$%^&*()_+"}}, 36 } 37 for _, tt := range tests { 38 got, _ := bcryptHashPassword(tt.args.password) 39 if ok, _ := bcryptCheckPasswordHash(tt.args.password, got); !ok { 40 b.Errorf("Got error Hash and Check password hash = %v, password %v", got, tt.args.password) 41 } 42 } 43 } 44 45 func Benchmark_bcryptHashPassword(b *testing.B) { 46 type args struct { 47 password string 48 } 49 tests := []struct { 50 name string 51 args args 52 }{ 53 {args: args{password: "testpassword"}}, 54 {args: args{password: "!@#$%^&*()_+"}}, 55 } 56 for _, tt := range tests { 57 bcryptHashPassword(tt.args.password) 58 } 59 }