mirror of https://github.com/portainer/portainer
54 lines
880 B
Go
54 lines
880 B
Go
package crypto
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestService_Hash(t *testing.T) {
|
|
var s = &Service{}
|
|
|
|
type args struct {
|
|
hash string
|
|
data string
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
expect bool
|
|
}{
|
|
{
|
|
name: "Empty",
|
|
args: args{
|
|
hash: "",
|
|
data: "",
|
|
},
|
|
expect: false,
|
|
},
|
|
{
|
|
name: "Matching",
|
|
args: args{
|
|
hash: "$2a$10$6BFGd94oYx8k0bFNO6f33uPUpcpAJyg8UVX.akLe9EthF/ZBTXqcy",
|
|
data: "Passw0rd!",
|
|
},
|
|
expect: true,
|
|
},
|
|
{
|
|
name: "Not matching",
|
|
args: args{
|
|
hash: "$2a$10$ltKrUZ7492xyutHOb0/XweevU4jyw7QO66rP32jTVOMb3EX3JxA/a",
|
|
data: "Passw0rd!",
|
|
},
|
|
expect: false,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
|
|
err := s.CompareHashAndData(tt.args.hash, tt.args.data)
|
|
if (err != nil) == tt.expect {
|
|
t.Errorf("Service.CompareHashAndData() = %v", err)
|
|
}
|
|
})
|
|
}
|
|
}
|