Archived
1
0

feat: add getPasswordMethod & test for it

This commit is contained in:
Joe Previte
2021-06-02 15:17:39 -07:00
parent ffa5c16e51
commit 7ff4117531
2 changed files with 57 additions and 1 deletions

View File

@ -1,4 +1,11 @@
import { hash, isHashMatch, hashLegacy, isHashLegacyMatch } from "../../../src/node/util"
import {
hash,
isHashMatch,
PasswordMethod,
getPasswordMethod,
hashLegacy,
isHashLegacyMatch,
} from "../../../src/node/util"
describe("getEnvPaths", () => {
describe("on darwin", () => {
@ -203,3 +210,25 @@ describe("isHashLegacyMatch", () => {
expect(isHashLegacyMatch(password, _hash)).toBe(true)
})
})
describe("getPasswordMethod", () => {
it("should return PLAIN_TEXT for no hashed password", () => {
const hashedPassword = undefined
const passwordMethod = getPasswordMethod(hashedPassword)
const expected: PasswordMethod = "PLAIN_TEXT"
expect(passwordMethod).toEqual(expected)
})
it("should return ARGON2 for password with 'argon2'", () => {
const hashedPassword =
"$argon2i$v=19$m=4096,t=3,p=1$0qR/o+0t00hsbJFQCKSfdQ$oFcM4rL6o+B7oxpuA4qlXubypbBPsf+8L531U7P9HYY"
const passwordMethod = getPasswordMethod(hashedPassword)
const expected: PasswordMethod = "ARGON2"
expect(passwordMethod).toEqual(expected)
})
it("should return SHA256 for password with legacy hash", () => {
const hashedPassword = "936a185caaa266bb9cbe981e9e05cb78cd732b0b3280eb944412bb6f8f8f07af"
const passwordMethod = getPasswordMethod(hashedPassword)
const expected: PasswordMethod = "SHA256"
expect(passwordMethod).toEqual(expected)
})
})