1package xmpp 2 3import ( 4 gotls "crypto/tls" 5 "net" 6 "time" 7 8 "github.com/coyim/coyim/tls" 9) 10 11type tlsMock1 struct { 12 returnFromHandshake error 13 returnFromConnState gotls.ConnectionState 14 returnFromRead1 int 15 returnFromRead2 error 16} 17 18func (t *tlsMock1) Handshake() error { 19 return t.returnFromHandshake 20} 21 22func (t *tlsMock1) ConnectionState() gotls.ConnectionState { 23 return t.returnFromConnState 24} 25 26func (t *tlsMock1) Read(b []byte) (n int, err error) { 27 return t.returnFromRead1, t.returnFromRead2 28} 29 30func (t *tlsMock1) Write(b []byte) (n int, err error) { 31 return 0, nil 32} 33 34func (t *tlsMock1) Close() error { 35 return nil 36} 37 38func (t *tlsMock1) LocalAddr() net.Addr { 39 return nil 40} 41 42func (t *tlsMock1) RemoteAddr() net.Addr { 43 return nil 44} 45 46func (t *tlsMock1) SetDeadline(t2 time.Time) error { 47 return nil 48} 49 50func (t *tlsMock1) SetReadDeadline(t2 time.Time) error { 51 return nil 52} 53 54func (t *tlsMock1) SetWriteDeadline(t2 time.Time) error { 55 return nil 56} 57 58func fixedTlsFactory(t tls.Conn) tls.Factory { 59 return func(net.Conn, *gotls.Config) tls.Conn { 60 return t 61 } 62} 63 64type mockTLSVerifier struct { 65 verifyCalled int 66 state gotls.ConnectionState 67 conf *gotls.Config 68 originDomain string 69 70 toReturn error 71} 72 73func (v *mockTLSVerifier) Verify(state gotls.ConnectionState, conf *gotls.Config, originDomain string) error { 74 v.verifyCalled++ 75 v.state = state 76 v.conf = conf 77 v.originDomain = originDomain 78 79 return v.toReturn 80} 81