From 87832fb2dd6b86494ae79c7a4f5f05db14dd3c4d Mon Sep 17 00:00:00 2001 From: Andinus Date: Fri, 27 Mar 2020 12:01:40 +0530 Subject: Add test for hashPass func --- auth/checkpass_test.go | 7 ++++--- auth/hashpass_test.go | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 auth/hashpass_test.go diff --git a/auth/checkpass_test.go b/auth/checkpass_test.go index 03ff0ad..c8afaee 100644 --- a/auth/checkpass_test.go +++ b/auth/checkpass_test.go @@ -5,7 +5,7 @@ import "testing" // TestCheckPass tests the checkPass function. func TestCheckPass(t *testing.T) { var err error - var passhash = make(map[string]string) + passhash := make(map[string]string) // First we check with static values, these should always pass. passhash["ter4cQ=="] = "$2a$10$ANkaNEFFQ4zxDwTwvAUfoOCqpVIdgtPFopFOTMSrFy39WkaMAYLIC" @@ -27,9 +27,10 @@ func TestCheckPass(t *testing.T) { } // We test the checkPass func by ranging over all values of - // passhash. + // passhash. We assume that hashPass func returns correct + // hashes. for p, h := range passhash { - err := checkPass(p, h) + err = checkPass(p, h) if err != nil { t.Errorf("password: %s, hash: %s didn't match.", p, h) diff --git a/auth/hashpass_test.go b/auth/hashpass_test.go new file mode 100644 index 0000000..7ea9480 --- /dev/null +++ b/auth/hashpass_test.go @@ -0,0 +1,34 @@ +package auth + +import "testing" + +// TestHashPass tests the checkPass function. +func TestHashPass(t *testing.T) { + var err error + passhash := make(map[string]string) + + // We generate random hashes with hashPass, random string is + // generate by genID func. + for i := 1; i <= 8; i++ { + p := genID(8) + passhash[p], err = hashPass(p) + + // Here we test if the hashPass func runs sucessfully. + if err != nil { + t.Errorf("hashPass func failed for password: %s", + p) + } + } + + // Here we are testing if the hashPass func returns correct + // hashes. We assume that checkPass func returns correct + // values. + for p, h := range passhash { + err = checkPass(p, h) + if err != nil { + t.Errorf("password: %s, hash: %s didn't match.", + p, h) + } + } + +} -- cgit 1.4.1-2-gfad0