Pudu programming language
Menu
Package

@chrismichaelps / pudu-lang-httpclient

Named HTTP clients for Pudu: a client factory, delegating handlers, pooled keep-alive connections, handler lifetimes, logging, and resilience

0.1.1Apache-2.01

InstallClose

RetryAfterTest.pudu

Pudu22 lines1.0 KB

GitHub ↗
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 RetryAfter78/// Runs the suite.9fn 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