|
Packit |
63bb0d |
// +build !darwin
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
package crypt
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
import (
|
|
Packit |
63bb0d |
"testing"
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
"github.com/stretchr/testify/assert"
|
|
Packit |
63bb0d |
)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func Test_crypt_PasswordIsCrypted(t *testing.T) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
tests := []struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
password string
|
|
Packit |
63bb0d |
want bool
|
|
Packit |
63bb0d |
}{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
name: "bcrypt",
|
|
Packit |
63bb0d |
password: "$2b$04$123465789012345678901uac5A8egfBuZVHMrDZsQzR96IqNBivCy",
|
|
Packit |
63bb0d |
want: true,
|
|
Packit |
63bb0d |
}, {
|
|
Packit |
63bb0d |
name: "sha256",
|
|
Packit |
63bb0d |
password: "$5$1234567890123456$v.2bOKKLlpmUSKn0rxJmgnh.e3wOKivAVNZmNrOsoA3",
|
|
Packit |
63bb0d |
want: true,
|
|
Packit |
63bb0d |
}, {
|
|
Packit |
63bb0d |
name: "sha512",
|
|
Packit |
63bb0d |
password: "$6$1234567890123456$d.pgKQFaiD8bRiExg5NesbGR/3u51YvxeYaQXPzx4C6oSYREw8VoReiuYZjx0V9OhGVTZFqhc6emAxT1RC5BV.",
|
|
Packit |
63bb0d |
want: true,
|
|
Packit |
63bb0d |
}, {
|
|
Packit |
63bb0d |
name: "scrypt",
|
|
Packit |
63bb0d |
password: "$7$123456789012345", //not actual hash output from scrypt
|
|
Packit |
63bb0d |
want: false,
|
|
Packit |
63bb0d |
}, {
|
|
Packit |
63bb0d |
name: "plain",
|
|
Packit |
63bb0d |
password: "password",
|
|
Packit |
63bb0d |
want: false,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for _, test := range tests {
|
|
Packit |
63bb0d |
t.Run(test.name, func(t *testing.T) {
|
|
Packit |
63bb0d |
if got := PasswordIsCrypted(test.password); got != test.want {
|
|
Packit |
63bb0d |
t.Errorf("PasswordIsCrypted() =%v, want %v", got, test.want)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
})
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestCryptSHA512(t *testing.T) {
|
|
Packit |
63bb0d |
retPassFirst, err := CryptSHA512("testPass")
|
|
Packit |
63bb0d |
assert.NoError(t, err)
|
|
Packit |
63bb0d |
retPassSecond, _ := CryptSHA512("testPass")
|
|
Packit |
63bb0d |
expectedPassStart := "$6$"
|
|
Packit |
63bb0d |
assert.Equal(t, expectedPassStart, retPassFirst[0:3])
|
|
Packit |
63bb0d |
assert.NotEqual(t, retPassFirst, retPassSecond)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestGenSalt(t *testing.T) {
|
|
Packit |
63bb0d |
length := 10
|
|
Packit |
63bb0d |
retSaltFirst, err := genSalt(length)
|
|
Packit |
63bb0d |
assert.NoError(t, err)
|
|
Packit |
63bb0d |
retSaltSecond, _ := genSalt(length)
|
|
Packit |
63bb0d |
assert.NotEqual(t, retSaltFirst, retSaltSecond)
|
|
Packit |
63bb0d |
}
|