cryptocore: add API tests

This commit is contained in:
Jakob Unterwurzacher 2016-05-04 19:51:58 +02:00
parent bb16f2d565
commit 1bb907b38e
2 changed files with 36 additions and 0 deletions

View File

@ -18,6 +18,7 @@ type CryptoCore struct {
IVLen int
}
// "New" returns a new CryptoCore object or panics.
func New(key []byte, useOpenssl bool, GCMIV128 bool) *CryptoCore {
if len(key) != KeyLen {

View File

@ -0,0 +1,35 @@
package cryptocore
import (
"testing"
)
// "New" should accept all param combinations
func TestCryptoCoreNew(t *testing.T) {
key := make([]byte, 32)
c := New(key, true, true)
if c.IVLen != 16 {
t.Fail()
}
c = New(key, true, false)
if c.IVLen != 12 {
t.Fail()
}
c = New(key, false, true)
if c.IVLen != 16 {
t.Fail()
}
}
// "New" should panic on any key not 32 bytes long
func TestNewPanic(t *testing.T) {
defer func() {
if r := recover(); r == nil {
t.Errorf("The code did not panic")
}
}()
key := make([]byte, 16)
New(key, true, true)
}