@@ -34,8 +34,12 @@ groups() ->
3434 choose_verify_over_peer_verification ,
3535 verify_set_to_verify_none ,
3636 peer_verification_set_to_verify_none ,
37+ peer_verification_set_to_verify_peer_with_cacerts ,
3738 peer_verification_set_to_verify_peer_with_cacertfile ,
38- verify_set_to_verify_peer_with_cacertfile
39+ peer_verification_set_to_verify_peer_without_cacerts_or_cacertfile ,
40+ verify_set_to_verify_peer_with_cacerts ,
41+ verify_set_to_verify_peer_with_cacertfile ,
42+ verify_set_to_verify_peer_without_cacerts_or_cacertfile
3943 ]},
4044 {get_expiration_time , [], [
4145 access_token_response_without_expiration_time ,
@@ -230,34 +234,98 @@ peer_verification_set_to_verify_none(_) ->
230234 cacertfile => " /tmp"
231235 })).
232236
237+ peer_verification_set_to_verify_peer_without_cacerts_or_cacertfile (_ ) ->
238+ CaCerts = try public_key :cacerts_get () of
239+ CaCerts0 when is_list (CaCerts0 ) ->
240+ CaCerts0 ;
241+ _ -> []
242+ catch _ ->
243+ []
244+ end ,
245+ Expected = [
246+ {verify , verify_peer },
247+ {depth , 10 },
248+ {crl_check , false },
249+ {fail_if_no_peer_cert , false },
250+ {cacerts , CaCerts }
251+ ],
252+ ? assertEqual (Expected , oauth2_client :extract_ssl_options_as_list (#{
253+ peer_verification => verify_peer
254+ })).
255+
256+ verify_set_to_verify_peer_without_cacerts_or_cacertfile (_ ) ->
257+ CaCerts = try public_key :cacerts_get () of
258+ CaCerts0 when is_list (CaCerts0 ) ->
259+ CaCerts0 ;
260+ _ -> []
261+ catch _ ->
262+ []
263+ end ,
264+ Expected = [
265+ {verify , verify_peer },
266+ {depth , 10 },
267+ {crl_check , false },
268+ {fail_if_no_peer_cert , false },
269+ {cacerts , CaCerts }
270+ ],
271+ ? assertEqual (Expected , oauth2_client :extract_ssl_options_as_list (#{
272+ verify => verify_peer
273+ })).
233274
234275peer_verification_set_to_verify_peer_with_cacertfile (_ ) ->
235276 Expected = [
236277 {verify , verify_peer },
237278 {depth , 10 },
238- {crl_check ,false },
239- {fail_if_no_peer_cert ,false },
279+ {crl_check , false },
280+ {fail_if_no_peer_cert , false },
240281 {cacertfile , " /tmp" }
241282 ],
242283 ? assertEqual (Expected , oauth2_client :extract_ssl_options_as_list (#{
243284 cacertfile => " /tmp" ,
244285 peer_verification => verify_peer
245286 })).
246287
247-
248288verify_set_to_verify_peer_with_cacertfile (_ ) ->
249289 Expected = [
250290 {verify , verify_peer },
251291 {depth , 10 },
252- {crl_check ,false },
253- {fail_if_no_peer_cert ,false },
292+ {crl_check , false },
293+ {fail_if_no_peer_cert , false },
254294 {cacertfile , " /tmp" }
255295 ],
256296 ? assertEqual (Expected , oauth2_client :extract_ssl_options_as_list (#{
257297 cacertfile => " /tmp" ,
258298 verify => verify_peer
259299 })).
260300
301+ peer_verification_set_to_verify_peer_with_cacerts (_ ) ->
302+ CaCerts = [<<1 ,2 ,3 ,4 >>, <<5 ,6 ,7 ,8 >>],
303+ Expected = [
304+ {verify , verify_peer },
305+ {depth , 10 },
306+ {crl_check , false },
307+ {fail_if_no_peer_cert , false },
308+ {cacerts , CaCerts }
309+ ],
310+ ? assertEqual (Expected , oauth2_client :extract_ssl_options_as_list (#{
311+ cacerts => CaCerts ,
312+ peer_verification => verify_peer
313+ })).
314+
315+ verify_set_to_verify_peer_with_cacerts (_ ) ->
316+ CaCerts = [<<1 ,2 ,3 ,4 >>, <<5 ,6 ,7 ,8 >>],
317+ Expected = [
318+ {verify , verify_peer },
319+ {depth , 10 },
320+ {crl_check , false },
321+ {fail_if_no_peer_cert , false },
322+ {cacerts , CaCerts }
323+ ],
324+ ? assertEqual (Expected , oauth2_client :extract_ssl_options_as_list (#{
325+ cacerts => CaCerts ,
326+ verify => verify_peer
327+ })).
328+
261329access_token_response_with_expires_in (_ ) ->
262330 Jwk = ? UTIL_MOD :fixture_jwk (),
263331 ExpiresIn = os :system_time (seconds ),
0 commit comments