@@ -41,27 +41,41 @@ def test_imaps_unknown_ca
41
41
end
42
42
43
43
def test_imaps_with_ca_file
44
+ # Assert verified *after* the imaps_test and assert_nothing_raised blocks.
45
+ # Otherwise, failures can't logout and need to wait for the timeout.
46
+ verified , imap = :unknown , nil
44
47
assert_nothing_raised do
45
48
imaps_test do |port |
46
- begin
47
- Net :: IMAP . new ( "localhost" ,
48
- :port => port ,
49
- :ssl => { :ca_file => CA_FILE } )
50
- rescue SystemCallError
51
- skip $!
52
- end
49
+ imap = Net :: IMAP . new ( "localhost" ,
50
+ port : port ,
51
+ ssl : { :ca_file => CA_FILE } )
52
+ verified = imap . tls_verified?
53
+ imap
54
+ rescue SystemCallError
55
+ skip $!
53
56
end
54
57
end
58
+ assert_equal true , verified
59
+ assert_equal true , imap . tls_verified?
55
60
end
56
61
57
62
def test_imaps_verify_none
63
+ # Assert verified *after* the imaps_test and assert_nothing_raised blocks.
64
+ # Otherwise, failures can't logout and need to wait for the timeout.
65
+ verified , imap = :unknown , nil
58
66
assert_nothing_raised do
59
67
imaps_test do |port |
60
- Net ::IMAP . new ( server_addr ,
61
- :port => port ,
62
- :ssl => { :verify_mode => OpenSSL ::SSL ::VERIFY_NONE } )
68
+ imap = Net ::IMAP . new (
69
+ server_addr ,
70
+ port : port ,
71
+ ssl : { :verify_mode => OpenSSL ::SSL ::VERIFY_NONE }
72
+ )
73
+ verified = imap . tls_verified?
74
+ imap
63
75
end
64
76
end
77
+ assert_equal false , verified
78
+ assert_equal false , imap . tls_verified?
65
79
end
66
80
67
81
def test_imaps_post_connection_check
@@ -79,12 +93,15 @@ def test_imaps_post_connection_check
79
93
80
94
if defined? ( OpenSSL ::SSL )
81
95
def test_starttls
82
- imap = nil
96
+ verified , imap = :unknown , nil
83
97
starttls_test do |port |
84
98
imap = Net ::IMAP . new ( "localhost" , :port => port )
85
99
imap . starttls ( :ca_file => CA_FILE )
100
+ verified = imap . tls_verified?
86
101
imap
87
102
end
103
+ assert_equal true , verified
104
+ assert_equal true , imap . tls_verified?
88
105
rescue SystemCallError
89
106
skip $!
90
107
ensure
@@ -94,13 +111,17 @@ def test_starttls
94
111
end
95
112
96
113
def test_starttls_stripping
114
+ verified , imap = :unknown , nil
97
115
starttls_stripping_test do |port |
98
116
imap = Net ::IMAP . new ( "localhost" , :port => port )
99
117
assert_raise ( Net ::IMAP ::UnknownResponseError ) do
100
118
imap . starttls ( :ca_file => CA_FILE )
101
119
end
120
+ verified = imap . tls_verified?
102
121
imap
103
122
end
123
+ assert_equal false , verified
124
+ assert_equal false , imap . tls_verified?
104
125
end
105
126
end
106
127
@@ -1068,6 +1089,7 @@ def imaps_test(timeout: 10)
1068
1089
begin
1069
1090
imap = yield ( port )
1070
1091
imap . logout
1092
+ imap
1071
1093
ensure
1072
1094
imap . disconnect if imap
1073
1095
end
0 commit comments