From df420016643c54ccdc0426ac5645374fe395015c Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 4 May 2017 17:08:20 +0200 Subject: Combine tests --- key/key_test.go | 74 +++++++++++++++++++++------------------------------------ 1 file changed, 27 insertions(+), 47 deletions(-) (limited to 'key') 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) + } + }) } } -- cgit v1.2.3