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 }