v / vlib / net / mbedtls / mbedtls_read_timeout_test.v
25 lines · 19 sloc · 838 bytes · 5a1b7b030ce9ca6eb47c6eb3ee92cfa44608c49d
Raw
1// vtest build: !(windows && tinyc) // TODO: fix these by adding declarations for the missing functions in the prebuilt tcc
2module mbedtls
3
4import net
5import time
6
7fn test_ssl_conn_read_timeout_can_be_configured_at_runtime() ! {
8 config := SSLConnectConfig{}
9 assert config.read_timeout == default_mbedtls_client_read_timeout
10
11 mut conn := new_ssl_conn(config)!
12 assert conn.read_timeout() == default_mbedtls_client_read_timeout
13
14 timeout := 5 * time.minute
15 conn.set_read_timeout(timeout)
16 assert conn.read_timeout() == timeout
17
18 conn.set_read_timeout(net.infinite_timeout)
19 assert conn.read_timeout() == net.infinite_timeout
20}
21
22fn test_ssl_remaining_timeout_clamps_expired_deadlines() {
23 assert ssl_remaining_timeout(time.unix(0)) == net.infinite_timeout
24 assert ssl_remaining_timeout(time.now().add(-time.second)) == time.nanosecond
25}
26