adjust unit tests

This commit is contained in:
Elvin Efendi 2019-03-11 00:41:08 -04:00
parent 70df5e03e5
commit c28247abf6

View file

@ -56,7 +56,7 @@ func generateRSACerts(host string) (*keyPair, *keyPair, error) {
}, ca, nil
}
func TestAddOrUpdateCertAndKey(t *testing.T) {
func TestStoreSSLCertOnDisk(t *testing.T) {
fs := newFS(t)
cert, _, err := generateRSACerts("echoheaders")
@ -69,21 +69,26 @@ func TestAddOrUpdateCertAndKey(t *testing.T) {
c := certutil.EncodeCertPEM(cert.Cert)
k := certutil.EncodePrivateKeyPEM(cert.Key)
ngxCert, err := AddOrUpdateCertAndKey(name, c, k, []byte{}, fs)
sslCert, err := CreateSSLCert(c, k)
if err != nil {
t.Fatalf("unexpected error checking SSL certificate: %v", err)
t.Fatalf("unexpected error creating SSL certificate: %v", err)
}
if ngxCert.PemFileName == "" {
err = StoreSSLCertOnDisk(fs, name, sslCert)
if err != nil {
t.Fatalf("unexpected error storing SSL certificate: %v", err)
}
if sslCert.PemFileName == "" {
t.Fatalf("expected path to pem file but returned empty")
}
if len(ngxCert.CN) == 0 {
if len(sslCert.CN) == 0 {
t.Fatalf("expected at least one cname but none returned")
}
if ngxCert.CN[0] != "echoheaders" {
t.Fatalf("expected cname echoheaders but %v returned", ngxCert.CN[0])
if sslCert.CN[0] != "echoheaders" {
t.Fatalf("expected cname echoheaders but %v returned", sslCert.CN[0])
}
}
@ -101,11 +106,26 @@ func TestCACert(t *testing.T) {
k := certutil.EncodePrivateKeyPEM(cert.Key)
ca := certutil.EncodeCertPEM(CA.Cert)
ngxCert, err := AddOrUpdateCertAndKey(name, c, k, ca, fs)
sslCert, err := CreateSSLCert(c, k)
if err != nil {
t.Fatalf("unexpected error checking SSL certificate: %v", err)
t.Fatalf("unexpected error creating SSL certificate: %v", err)
}
if ngxCert.CAFileName == "" {
err = StoreSSLCertOnDisk(fs, name, sslCert)
if err != nil {
t.Fatalf("unexpected error storing SSL certificate: %v", err)
}
if sslCert.CAFileName != "" {
t.Fatalf("expected CA file name to be empty")
}
err = ConfigureCACertWithCertAndKey(fs, name, ca, sslCert)
if err != nil {
t.Fatalf("unexpected error configuring CA certificate: %v", err)
}
if sslCert.CAFileName == "" {
t.Fatalf("expected a valid CA file name")
}
}
@ -120,7 +140,7 @@ func TestGetFakeSSLCert(t *testing.T) {
}
}
func TestAddCertAuth(t *testing.T) {
func TestConfigureCACert(t *testing.T) {
fs, err := file.NewFakeFS()
if err != nil {
t.Fatalf("unexpected error creating filesystem: %v", err)
@ -132,11 +152,23 @@ func TestAddCertAuth(t *testing.T) {
t.Fatalf("unexpected error creating SSL certificate: %v", err)
}
c := certutil.EncodeCertPEM(ca.Cert)
ic, err := AddCertAuth(cn, c, fs)
sslCert, err := CreateCACert(c)
if err != nil {
t.Fatalf("unexpected error creating SSL certificate: %v", err)
}
if ic.CAFileName == "" {
if sslCert.CAFileName != "" {
t.Fatalf("expected CAFileName to be empty")
}
if sslCert.Certificate == nil {
t.Fatalf("expected Certificate to be set")
}
err = ConfigureCACert(fs, cn, c, sslCert)
if err != nil {
t.Fatalf("unexpected error creating SSL certificate: %v", err)
}
if sslCert.CAFileName == "" {
t.Fatalf("expected a valid CA file name")
}
}
@ -155,12 +187,10 @@ func TestCreateSSLCert(t *testing.T) {
t.Fatalf("unexpected error creating SSL certificate: %v", err)
}
name := fmt.Sprintf("test-%v", time.Now().UnixNano())
c := certutil.EncodeCertPEM(cert.Cert)
k := certutil.EncodePrivateKeyPEM(cert.Key)
ngxCert, err := CreateSSLCert(name, c, k, []byte{})
sslCert, err := CreateSSLCert(c, k)
if err != nil {
t.Fatalf("unexpected error checking SSL certificate: %v", err)
}
@ -170,16 +200,16 @@ func TestCreateSSLCert(t *testing.T) {
certKeyBuf.Write([]byte("\n"))
certKeyBuf.Write(k)
if ngxCert.PemCertKey != certKeyBuf.String() {
t.Fatalf("expected concatenated PEM cert and key but returned %v", ngxCert.PemCertKey)
if sslCert.PemCertKey != certKeyBuf.String() {
t.Fatalf("expected concatenated PEM cert and key but returned %v", sslCert.PemCertKey)
}
if len(ngxCert.CN) == 0 {
t.Fatalf("expected at least one cname but none returned")
if len(sslCert.CN) == 0 {
t.Fatalf("expected at least one CN but none returned")
}
if ngxCert.CN[0] != "echoheaders" {
t.Fatalf("expected cname echoheaders but %v returned", ngxCert.CN[0])
if sslCert.CN[0] != "echoheaders" {
t.Fatalf("expected cname echoheaders but %v returned", sslCert.CN[0])
}
}