github.com/brimstone/sbuca@v0.0.0-20151202175429-8691d9eba5c5/pkix/cert_test.go (about) 1 package pkix 2 3 import ( 4 "crypto/x509/pkix" 5 "reflect" 6 "testing" 7 ) 8 9 func Test_Marshal(t *testing.T) { 10 testdata := make(map[string]pkix.Name) 11 12 testdata["O=null"] = pkix.Name{ 13 Organization: []string{"null"}, 14 } 15 16 testdata["CN=myserver,O=myorg"] = pkix.Name{ 17 Organization: []string{"myorg"}, 18 CommonName: "myserver", 19 } 20 testdata["CN=myserver,C=merica,L=City,ST=State,SA=StreetAddress,O=myorg,OU=myorgunit"] = pkix.Name{ 21 Organization: []string{"myorg"}, 22 OrganizationalUnit: []string{"myorgunit"}, 23 Country: []string{"merica"}, 24 Locality: []string{"City"}, 25 Province: []string{"State"}, 26 StreetAddress: []string{"StreetAddress"}, 27 CommonName: "myserver", 28 } 29 30 for expected, input := range testdata { 31 output, err := Marshal(input) 32 if err != nil { 33 t.Error(err) 34 } 35 if output != expected { 36 t.Error("Failed got " + output + " expected " + expected) 37 } 38 } 39 } 40 41 func Test_Unmarshal(t *testing.T) { 42 testdata := make(map[string]pkix.Name) 43 44 testdata["O=null"] = pkix.Name{ 45 Organization: []string{"null"}, 46 } 47 48 testdata["CN=myserver,O=myorg"] = pkix.Name{ 49 Organization: []string{"myorg"}, 50 CommonName: "myserver", 51 } 52 testdata["CN=myserver,C=merica,L=City,ST=State,SA=StreetAddress,O=myorg,OU=myorgunit"] = pkix.Name{ 53 Organization: []string{"myorg"}, 54 OrganizationalUnit: []string{"myorgunit"}, 55 Country: []string{"merica"}, 56 Locality: []string{"City"}, 57 Province: []string{"State"}, 58 StreetAddress: []string{"StreetAddress"}, 59 CommonName: "myserver", 60 } 61 62 for dnstring, expected := range testdata { 63 pkixName, err := Unmarshal(dnstring) 64 if err != nil { 65 t.Error(err) 66 } 67 if !reflect.DeepEqual(pkixName, expected) { 68 t.Error("Failed got ", pkixName, " expected ", expected) 69 } 70 } 71 }