@ParameterizedTest
    @ArgumentsSource(ClientDecoratorProvider.class)
    void testDisabledTimeout(Function<? super RpcClient, ? extends RpcClient> clientDecorator)
            throws Exception {
        final SleepService.Iface client =
                ThriftClients.builder(server.httpUri())
                             .path("/fakeSleep")
                             .rpcDecorator(clientDecorator)
                             .responseTimeout(Duration.ofSeconds(1))
                             .build(SleepService.Iface.class);

        final long delay = 30000;
        final Stopwatch sw = Stopwatch.createStarted();
        // This call should take very short amount of time because the fakeSleep service does not sleep.
        client.sleep(delay);
        assertThat(sw.elapsed(TimeUnit.MILLISECONDS)).isLessThan(delay);
    }
Tests if Armeria decorators can alter the request/response timeout specified in Thrift call parameters
and disable the request/response timeout dynamically.
thrift/thrift0.13/src/test/java/com/linecorp/armeria/it/thrift/ThriftDynamicTimeoutTest.java