github.com/keysonzzz/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgCrypto/tls_test.go (about)

     1  package kmgCrypto
     2  
     3  import (
     4  	"bytes"
     5  	"crypto/tls"
     6  	"net"
     7  	"testing"
     8  	"time"
     9  
    10  	"github.com/bronze1man/kmg/kmgTest"
    11  )
    12  
    13  type mockAddr struct {
    14  }
    15  
    16  func (*mockAddr) Network() string {
    17  	return "MockAddr.Network"
    18  }
    19  func (*mockAddr) String() string {
    20  	return "MockAddr.String"
    21  }
    22  
    23  type mockListener struct {
    24  }
    25  
    26  func (*mockListener) Accept() (c net.Conn, err error) {
    27  	return &mockConn{}, nil
    28  }
    29  
    30  func (*mockListener) Close() error {
    31  	return nil
    32  }
    33  
    34  func (*mockListener) Addr() net.Addr {
    35  	return &mockAddr{}
    36  }
    37  
    38  type mockConn struct {
    39  	bytes.Buffer
    40  }
    41  
    42  func (*mockConn) Close() error {
    43  	return nil
    44  }
    45  func (*mockConn) LocalAddr() net.Addr {
    46  	return &mockAddr{}
    47  }
    48  
    49  func (*mockConn) RemoteAddr() net.Addr {
    50  	return &mockAddr{}
    51  }
    52  
    53  func (*mockConn) SetDeadline(t time.Time) error {
    54  	return nil
    55  }
    56  
    57  func (*mockConn) SetReadDeadline(t time.Time) error {
    58  	return nil
    59  }
    60  
    61  func (*mockConn) SetWriteDeadline(t time.Time) error {
    62  	return nil
    63  }
    64  func TestCreateCert(ot *testing.T) {
    65  	config, err := CreateTlsConfig()
    66  	kmgTest.Equal(err, nil)
    67  	kmgTest.Ok(config != nil)
    68  
    69  	_ = tls.NewListener(&mockListener{}, config)
    70  }