package key import ( "bytes" "encoding/base64" "testing" ) func decode(s string) ([]byte, error) { return base64.StdEncoding.DecodeString(s) } 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) } }