tests for PiecePublicKey/PiecePrivateKey (#2526)
This commit is contained in:
parent
d52f764e54
commit
8a9c63809b
68
pkg/storj/piecekey_test.go
Normal file
68
pkg/storj/piecekey_test.go
Normal file
@ -0,0 +1,68 @@
|
||||
// Copyright (C) 2019 Storj Labs, Inc.
|
||||
// See LICENSE for copying information.
|
||||
|
||||
package storj_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"storj.io/storj/internal/memory"
|
||||
"storj.io/storj/internal/testrand"
|
||||
"storj.io/storj/pkg/storj"
|
||||
)
|
||||
|
||||
func TestPublicPrivatePieceKey(t *testing.T) {
|
||||
expectedPublicKey, expectedPrivateKey, err := storj.NewPieceKey()
|
||||
require.NoError(t, err)
|
||||
|
||||
publicKey, err := storj.PiecePublicKeyFromBytes(expectedPublicKey.Bytes())
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, expectedPublicKey, publicKey)
|
||||
|
||||
privateKey, err := storj.PiecePrivateKeyFromBytes(expectedPrivateKey.Bytes())
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, expectedPrivateKey, privateKey)
|
||||
|
||||
{
|
||||
data := testrand.Bytes(10 * memory.KiB)
|
||||
signature, err := privateKey.Sign(data)
|
||||
require.NoError(t, err)
|
||||
|
||||
err = publicKey.Verify(data, signature)
|
||||
require.NoError(t, err)
|
||||
|
||||
err = publicKey.Verify(data, testrand.BytesInt(32))
|
||||
require.Error(t, err)
|
||||
|
||||
err = publicKey.Verify(testrand.Bytes(10*memory.KiB), signature)
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
||||
{
|
||||
// to small
|
||||
_, err = storj.PiecePublicKeyFromBytes([]byte{1})
|
||||
require.Error(t, err)
|
||||
|
||||
// to small
|
||||
_, err = storj.PiecePrivateKeyFromBytes([]byte{1})
|
||||
require.Error(t, err)
|
||||
|
||||
// to large
|
||||
_, err = storj.PiecePublicKeyFromBytes(testrand.Bytes(33))
|
||||
require.Error(t, err)
|
||||
|
||||
// to large
|
||||
_, err = storj.PiecePrivateKeyFromBytes(testrand.Bytes(65))
|
||||
require.Error(t, err)
|
||||
|
||||
// public key from private
|
||||
_, err = storj.PiecePublicKeyFromBytes(expectedPrivateKey.Bytes())
|
||||
require.Error(t, err)
|
||||
|
||||
// private key from public
|
||||
_, err = storj.PiecePrivateKeyFromBytes(expectedPublicKey.Bytes())
|
||||
require.Error(t, err)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user