Fix tests.

This commit is contained in:
Mariano Cano 2019-11-26 18:48:28 -08:00 committed by max furman
parent f26103d150
commit 2fe07cd79c
3 changed files with 19 additions and 0 deletions

View file

@ -12,6 +12,7 @@ import (
"fmt" "fmt"
"net/http" "net/http"
"net/http/httptest" "net/http/httptest"
"os"
"strings" "strings"
"testing" "testing"
"time" "time"
@ -50,6 +51,11 @@ func getCSR(priv interface{}) (*x509.CertificateRequest, error) {
return x509.ParseCertificateRequest(csrBytes) return x509.ParseCertificateRequest(csrBytes)
} }
func TestMain(m *testing.M) {
DisableIdentity = true
os.Exit(m.Run())
}
func TestCASign(t *testing.T) { func TestCASign(t *testing.T) {
pub, priv, err := keys.GenerateDefaultKeyPair() pub, priv, err := keys.GenerateDefaultKeyPair()
assert.FatalError(t, err) assert.FatalError(t, err)

View file

@ -63,6 +63,10 @@ func (o *clientOptions) apply(opts []ClientOption) (err error) {
// applyDefaultIdentity sets the options for the default identity if the // applyDefaultIdentity sets the options for the default identity if the
// identity file is present. The identity is enabled by default. // identity file is present. The identity is enabled by default.
func (o *clientOptions) applyDefaultIdentity() error { func (o *clientOptions) applyDefaultIdentity() error {
if DisableIdentity {
return nil
}
b, err := ioutil.ReadFile(IdentityFile) b, err := ioutil.ReadFile(IdentityFile)
if err != nil { if err != nil {
return nil return nil
@ -132,10 +136,16 @@ func (o *clientOptions) getTransport(endpoint string) (tr http.RoundTripper, err
if o.certificate.Certificate != nil { if o.certificate.Certificate != nil {
switch tr := tr.(type) { switch tr := tr.(type) {
case *http.Transport: case *http.Transport:
if tr.TLSClientConfig == nil {
tr.TLSClientConfig = &tls.Config{}
}
if len(tr.TLSClientConfig.Certificates) == 0 && tr.TLSClientConfig.GetClientCertificate == nil { if len(tr.TLSClientConfig.Certificates) == 0 && tr.TLSClientConfig.GetClientCertificate == nil {
tr.TLSClientConfig.Certificates = []tls.Certificate{o.certificate} tr.TLSClientConfig.Certificates = []tls.Certificate{o.certificate}
} }
case *http2.Transport: case *http2.Transport:
if tr.TLSClientConfig == nil {
tr.TLSClientConfig = &tls.Config{}
}
if len(tr.TLSClientConfig.Certificates) == 0 && tr.TLSClientConfig.GetClientCertificate == nil { if len(tr.TLSClientConfig.Certificates) == 0 && tr.TLSClientConfig.GetClientCertificate == nil {
tr.TLSClientConfig.Certificates = []tls.Certificate{o.certificate} tr.TLSClientConfig.Certificates = []tls.Certificate{o.certificate}
} }

View file

@ -23,6 +23,9 @@ import (
// IdentityType represents the different types of identity files. // IdentityType represents the different types of identity files.
type IdentityType string type IdentityType string
// DisableIdentity is a global variable to disable the identity.
var DisableIdentity bool = false
// Disabled represents a disabled identity type // Disabled represents a disabled identity type
const Disabled IdentityType = "" const Disabled IdentityType = ""