6
6
"crypto/tls"
7
7
"net"
8
8
"net/http/httptest"
9
+ "syscall"
9
10
"time"
10
11
11
12
. "github.com/bsm/ginkgo/v2"
@@ -16,50 +17,58 @@ var _ = Describe("tests conn_check with real conns", func() {
16
17
var ts * httptest.Server
17
18
var conn net.Conn
18
19
var tlsConn * tls.Conn
20
+ var sysConn syscall.Conn
21
+ var tlsSysConn syscall.Conn
19
22
var err error
20
23
21
24
BeforeEach (func () {
22
25
ts = httptest .NewServer (nil )
23
26
conn , err = net .DialTimeout (ts .Listener .Addr ().Network (), ts .Listener .Addr ().String (), time .Second )
24
27
Expect (err ).NotTo (HaveOccurred ())
28
+ sysConn = conn .(syscall.Conn )
25
29
tlsTestServer := httptest .NewUnstartedServer (nil )
26
30
tlsTestServer .StartTLS ()
27
31
tlsConn , err = tls .DialWithDialer (& net.Dialer {Timeout : time .Second }, tlsTestServer .Listener .Addr ().Network (), tlsTestServer .Listener .Addr ().String (), & tls.Config {InsecureSkipVerify : true })
28
32
Expect (err ).NotTo (HaveOccurred ())
33
+ tlsSysConn = tlsConn .NetConn ().(syscall.Conn )
29
34
})
30
35
31
36
AfterEach (func () {
32
37
ts .Close ()
33
38
})
34
39
35
40
It ("good conn check" , func () {
36
- Expect (connCheck (conn )).NotTo (HaveOccurred ())
41
+ Expect (connCheck (sysConn )).NotTo (HaveOccurred ())
37
42
38
43
Expect (conn .Close ()).NotTo (HaveOccurred ())
39
- Expect (connCheck (conn )).To (HaveOccurred ())
44
+ Expect (connCheck (sysConn )).To (HaveOccurred ())
40
45
})
41
46
42
47
It ("good tls conn check" , func () {
43
- Expect (connCheck (tlsConn )).NotTo (HaveOccurred ())
48
+ Expect (connCheck (tlsSysConn )).NotTo (HaveOccurred ())
44
49
45
50
Expect (tlsConn .Close ()).NotTo (HaveOccurred ())
46
- Expect (connCheck (tlsConn )).To (HaveOccurred ())
51
+ Expect (connCheck (tlsSysConn )).To (HaveOccurred ())
47
52
})
48
53
49
54
It ("bad conn check" , func () {
50
55
Expect (conn .Close ()).NotTo (HaveOccurred ())
51
- Expect (connCheck (conn )).To (HaveOccurred ())
56
+ Expect (connCheck (sysConn )).To (HaveOccurred ())
52
57
})
53
58
54
59
It ("bad tls conn check" , func () {
55
60
Expect (tlsConn .Close ()).NotTo (HaveOccurred ())
56
- Expect (connCheck (tlsConn )).To (HaveOccurred ())
61
+ Expect (connCheck (tlsSysConn )).To (HaveOccurred ())
57
62
})
58
63
59
64
It ("check conn deadline" , func () {
60
65
Expect (conn .SetDeadline (time .Now ())).NotTo (HaveOccurred ())
61
66
time .Sleep (time .Millisecond * 10 )
62
- Expect (connCheck (conn )).NotTo (HaveOccurred ())
67
+ Expect (connCheck (sysConn )).To (HaveOccurred ())
68
+
69
+ Expect (conn .SetDeadline (time .Now ().Add (time .Minute ))).NotTo (HaveOccurred ())
70
+ time .Sleep (time .Millisecond * 10 )
71
+ Expect (connCheck (sysConn )).NotTo (HaveOccurred ())
63
72
Expect (conn .Close ()).NotTo (HaveOccurred ())
64
73
})
65
74
})
0 commit comments