Skip to content

Add test for GetKeyInfo(). #182

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions lib/pgp/pgp_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package pfpgp

import (
"io/ioutil"
"testing"
"time"
)

func TestGetKeyInfo(t *testing.T) {
timeFormat := "2006-01-02T15:04:05.000Z"
wt, err := time.Parse(timeFormat, "1970-01-01T00:00:00.000Z")
if err != nil {
t.Fatalf("failed parsing wantTime: %v", err)
}

tests := []struct {
desc string
keyFile string
email string
wantId string
wantExp time.Time
wantErr bool
}{{
desc: "Success reading exp/id",
keyFile: "key1.asc",
email: "[email protected]",
wantId: "AFAB3052A843B36B",
wantExp: wt,
}}

for _, test := range tests {
key, err := ioutil.ReadFile("testdata/" + test.keyFile)
if err != nil {
t.Fatalf("[%v]: failed to read keyfile (%v): %v", test.desc, test.keyFile, err)
}

gotId, gotExp, err := GetKeyInfo(string(key), test.email)
switch {
case err != nil && !test.wantErr:
t.Errorf("[%v]: got error when not expecting one: %v", test.desc, err)
case err == nil && test.wantErr:
t.Errorf("[%v]: did not get error when expecting one", test.desc)
case err == nil:
if gotId != test.wantId {
t.Errorf("[%v]: got/want ID differences: %v / %v", test.desc, gotId, test.wantId)
}
if !test.wantExp.Equal(gotExp) {
t.Errorf("[%v]: got/want Exp differences: %v / %v", test.desc, gotExp, test.wantExp)
}
}
}
}
142 changes: 142 additions & 0 deletions lib/pgp/testdata/key1.asc
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
=+LjA
-----END PGP PUBLIC KEY BLOCK-----