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  }