mirror of https://github.com/fluxcd/flux2.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.3 KiB
Go
68 lines
1.3 KiB
Go
//go:build unit
|
|
// +build unit
|
|
|
|
package gogit
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/fluxcd/flux2/internal/bootstrap/git"
|
|
)
|
|
|
|
func TestGetOpenPgpEntity(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
keyPath string
|
|
passphrase string
|
|
id string
|
|
expectErr bool
|
|
}{
|
|
{
|
|
name: "no default key id given",
|
|
keyPath: "testdata/private.key",
|
|
passphrase: "flux",
|
|
id: "",
|
|
expectErr: false,
|
|
},
|
|
{
|
|
name: "key id given",
|
|
keyPath: "testdata/private.key",
|
|
passphrase: "flux",
|
|
id: "0619327DBD777415",
|
|
expectErr: false,
|
|
},
|
|
{
|
|
name: "wrong key id",
|
|
keyPath: "testdata/private.key",
|
|
passphrase: "flux",
|
|
id: "0619327DBD777416",
|
|
expectErr: true,
|
|
},
|
|
{
|
|
name: "wrong password",
|
|
keyPath: "testdata/private.key",
|
|
passphrase: "fluxe",
|
|
id: "0619327DBD777415",
|
|
expectErr: true,
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
gpgInfo := git.GPGSigningInfo{
|
|
KeyRingPath: tt.keyPath,
|
|
Passphrase: tt.passphrase,
|
|
KeyID: tt.id,
|
|
}
|
|
|
|
_, err := getOpenPgpEntity(gpgInfo)
|
|
if err != nil && !tt.expectErr {
|
|
t.Errorf("unexpected error: %s", err)
|
|
}
|
|
if err == nil && tt.expectErr {
|
|
t.Errorf("expected error when %s", tt.name)
|
|
}
|
|
})
|
|
}
|
|
}
|