77 lines
2.7 KiB
Go
77 lines
2.7 KiB
Go
package go_pgp
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/ProtonMail/go-crypto/openpgp"
|
|
)
|
|
|
|
const (
|
|
testPayload = `test
|
|
data`
|
|
)
|
|
|
|
func TestCreateSignature(t *testing.T) {
|
|
initTest()
|
|
|
|
if sig, err := CreateSignature([]byte(testPayload), nil); err == nil || len(sig) > 0 {
|
|
t.Error("TestCreateSignature: test case 1: if the signer entity is undefined the function should not succeed")
|
|
}
|
|
|
|
if sig, err := CreateSignature([]byte(testPayload), testSenderEntity); err != nil || len(sig) == 0 {
|
|
t.Error("TestCreateSignature: test case 2: if the signer entity is defined the function should succeed")
|
|
}
|
|
}
|
|
|
|
func TestCreateTextSignature(t *testing.T) {
|
|
initTest()
|
|
|
|
if sig, err := CreateTextSignature(testPayload, nil); err == nil || len(sig) > 0 {
|
|
t.Error("TestCreateTextSignature: test case 1: if the signer entity is undefined the function should not succeed")
|
|
}
|
|
|
|
if sig, err := CreateTextSignature(testPayload, testSenderEntity); err != nil || len(sig) == 0 {
|
|
t.Error("TestCreateTextSignature: test case 2: if the signer entity is defined the function should succeed")
|
|
}
|
|
}
|
|
|
|
func TestCreateArmoredSignature(t *testing.T) {
|
|
initTest()
|
|
|
|
if sig, err := CreateArmoredSignature([]byte(testPayload), nil); err == nil || len(sig) > 0 {
|
|
t.Error("TestCreateArmoredSignature: test case 1: if the signer entity is undefined the function should not succeed")
|
|
}
|
|
|
|
if sig, err := CreateArmoredSignature([]byte(testPayload), testSenderEntity); err != nil || len(sig) == 0 {
|
|
t.Error("TestCreateArmoredSignature: test case 2: if the signer entity is defined the function should succeed")
|
|
}
|
|
}
|
|
|
|
func TestCreateArmoredTextSignature(t *testing.T) {
|
|
initTest()
|
|
|
|
if sig, err := CreateArmoredTextSignature(testPayload, nil); err == nil || len(sig) > 0 {
|
|
t.Error("TestCreateArmoredTextSignature: test case 1: if the signer entity is undefined the function should not succeed")
|
|
}
|
|
|
|
if sig, err := CreateArmoredTextSignature(testPayload, testSenderEntity); err != nil || len(sig) == 0 {
|
|
t.Error("TestCreateArmoredTextSignature: test case 2: if the signer entity is defined the function should succeed")
|
|
}
|
|
}
|
|
|
|
func TestCheckSignature(t *testing.T) {
|
|
initTest()
|
|
|
|
armoredSignature, _ := CreateArmoredSignature([]byte(testPayload), testSenderEntity)
|
|
|
|
e, err := CheckSignature(EntityList{EntityList: openpgp.EntityList{&testSenderEntity.Entity}}, []byte(testPayload), []byte(armoredSignature))
|
|
if e == nil || err != nil {
|
|
t.Error("TestCheckSignature: test case 1: verification of the signature should have succeeded")
|
|
}
|
|
|
|
e, err = CheckSignature(EntityList{EntityList: openpgp.EntityList{&testReceiverEntity.Entity}}, []byte(testPayload), []byte(armoredSignature))
|
|
if e != nil || err == nil {
|
|
t.Error("TestCheckSignature: test case 2: verification of the signature should not have succeeded")
|
|
}
|
|
}
|