aboutsummaryrefslogtreecommitdiff
path: root/key
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-05-04 17:08:20 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-05-04 17:08:20 +0200
commitdf420016643c54ccdc0426ac5645374fe395015c (patch)
tree240ae206cb8bde35ae2ff09d952199bd524bbd79 /key
parent4a7233c2ee6c6d586f3523cdeab43747750833cb (diff)
Combine tests
Diffstat (limited to 'key')
-rw-r--r--key/key_test.go74
1 files changed, 27 insertions, 47 deletions
diff --git a/key/key_test.go b/key/key_test.go
index 8fd93cf..7c52af3 100644
--- a/key/key_test.go
+++ b/key/key_test.go
@@ -6,54 +6,34 @@ import (
"testing"
)
-func decode(s string) ([]byte, error) {
- return base64.StdEncoding.DecodeString(s)
+type Checker interface {
+ Check() error
}
-func TestUnmarshalSig(t *testing.T) {
- raw, err := decode("RWRbOC0bBf7abaGwGtq45KLDK63tgcF7CO4qTZSlTKCSbZTYlDfFm/DISQ60u+/jEzrk22suvXXAEsxQTe2xUOfV90get1YRGQo=")
- if err != nil {
- t.Fatal(err)
- }
- v := new(Sig)
- Unmarshal(raw, v)
- if err := v.Check(); err != nil {
- t.Error(err)
- }
- out, _ := Marshal(v)
- if !bytes.Equal(raw, out) {
- t.Errorf("want %v, got %v", raw, out)
- }
-}
-
-func TestUnmarshalPub(t *testing.T) {
- raw, err := decode("RWRbOC0bBf7abfanaXuTYfCa6+YO69Kxyz8RD5nL/3Ta7umY6iOwnBrG")
- if err != nil {
- t.Fatal(err)
- }
- v := new(Pub)
- Unmarshal(raw, v)
- if err := v.Check(); err != nil {
- t.Error(err)
- }
- out, _ := Marshal(v)
- if !bytes.Equal(raw, out) {
- t.Errorf("want %v, got %v", raw, out)
- }
-}
-
-func TestUnmarshalEnc(t *testing.T) {
- raw, err := decode("RWRCSwAAAACzJBN2gC5//jVvDiV76rs4m2aKXkljqDpbOC0bBf7abZhV/Zygr6b0KIbSI56JQutwzsQeouxnnHuVTZp3IW4M9qdpe5Nh8Jrr5g7r0rHLPxEPmcv/dNru6ZjqI7CcGsY=")
- if err != nil {
- t.Fatal(err)
- }
- v := new(Enc)
- Unmarshal(raw, v)
- if err := v.Check(); err != nil {
- t.Error(err)
- }
- out, _ := Marshal(v)
- if !bytes.Equal(raw, out) {
- t.Errorf("want %v, got %v", raw, out)
+func TestKeys(t *testing.T) {
+ var testCases = []struct {
+ name string
+ v Checker
+ raw string
+ }{
+ {"sig", new(Sig), "RWRbOC0bBf7abaGwGtq45KLDK63tgcF7CO4qTZSlTKCSbZTYlDfFm/DISQ60u+/jEzrk22suvXXAEsxQTe2xUOfV90get1YRGQo="},
+ {"pub", new(Pub), "RWRbOC0bBf7abfanaXuTYfCa6+YO69Kxyz8RD5nL/3Ta7umY6iOwnBrG"},
+ {"enc", new(Enc), "RWRCSwAAAACzJBN2gC5//jVvDiV76rs4m2aKXkljqDpbOC0bBf7abZhV/Zygr6b0KIbSI56JQutwzsQeouxnnHuVTZp3IW4M9qdpe5Nh8Jrr5g7r0rHLPxEPmcv/dNru6ZjqI7CcGsY="},
+ }
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ raw, err := base64.StdEncoding.DecodeString(tc.raw)
+ if err != nil {
+ t.Fatal(err)
+ }
+ Unmarshal(raw, tc.v)
+ if err := tc.v.Check(); err != nil {
+ t.Fatal(err)
+ }
+ out, _ := Marshal(tc.v)
+ if !bytes.Equal(raw, out) {
+ t.Errorf("want %v, got %v", raw, out)
+ }
+ })
}
}