seekia/internal/cryptography/blake3/blake3_test.go
2024-06-21 08:47:06 +00:00

36 lines
1 KiB
Go

package blake3_test
import "seekia/internal/cryptography/blake3"
import "testing"
func TestHashes(t *testing.T) {
testData := []byte("Seekia:ARaceAndGeneticsAwareMateDiscoveryNetwork.")
expectedHashResult := "4fa43b5aa023d62e9874655e2bd43c6f623a7820055f34d2907072e52aff2a2f59208c5b8d335fbb467f319c3cf83604f27495ed122b7d472bd8a8f07c7cd7da"
hashResult, err := blake3.GetBlake3HashAsHexString(64, testData)
if (err != nil) {
t.Fatalf("Failed to get 64 byte blake3 hash: " + err.Error())
}
if (hashResult != expectedHashResult){
t.Fatalf("Blake3 512 bits hash result is not expected: " + hashResult)
}
_, err = blake3.GetBlake3HashAsBase32String(32, testData)
if (err == nil) {
t.Fatalf("Failed to get correct length error on base32 hash.")
}
outputHex, err := blake3.GetBlake3HashAsHexString(16, testData)
if (err != nil) {
t.Fatalf("Failed to get 16 byte blake3 hash: " + err.Error())
}
if (outputHex != "4fa43b5aa023d62e9874655e2bd43c6f"){
t.Fatalf("16 byte blake3 hash provides invalid output: " + outputHex)
}
}