
RetryAfterTest.pudu
Pudu22 lines1.0 KB
1/** @Test.Domain.RetryAfter.Suite — how long a server asked the client to wait */2module PuduLangHttpClient.Domain.RetryAfterTest34import Std.Io as Io5import Std.Test as Test6import PuduLangHttpClient.Domain.RetryAfter as RetryAfter789fn main() -> Int {10 let checks = Test.suite("Domain.RetryAfter", &[11 Test.equals("seconds become milliseconds", &[RetryAfter.delay("120", 0), RetryAfter.delay(" 0 ", 0)], &[Some(120000), Some(0)]),12 Test.equals("negative seconds or other text ask for nothing", &[RetryAfter.delay("-1", 0), RetryAfter.delay("soon", 0)], &[None, None]),13 Test.equals("a date asks for the time until it", &RetryAfter.delay("Thu, 01 Jan 1970 00:00:10 GMT", 4000), &Some(6000)),14 Test.equals("a date in the past asks for no wait", &(RetryAfter.delay("Thu, 01 Jan 1970 00:00:10 GMT", 10000), RetryAfter.delay("Thu, 01 Jan 1970 00:00:10 GMT", 20000)), &(Some(0), Some(0)))15 ])16 let ran = Test.run(&checks)17 for failure in Test.failuresOf(&ran) {18 let _reported = Io.writeErrorLine(failure)19 }20 Test.report(&ran)21}22