public async Task ExecuteTimeoutTest_Version_2018_06_28()
        {
            // Arrange
            var client = new Version_2018_06_28.ModuleManagementHttpClient(this.serverUrl, Option.Some(TimeSpan.FromSeconds(10)));

            await this.ExecuteTimeoutTest_Version_Base(client);
        }
        public async Task ExecuteTimeoutTest_Version_2018_06_28()
        {
            // Arrange
            var client = new Version_2018_06_28.ModuleManagementHttpClient(this.serverUrl, Option.Some(TimeSpan.FromSeconds(10)));

            async Task <int> LongOperation()
            {
                await Task.Delay(TimeSpan.FromHours(1));

                return(10);
            }

            // Act
            Task assertTask = Assert.ThrowsAsync <TimeoutException>(() => client.Execute <int>(LongOperation, "Dummy"));
            Task delayTask  = Task.Delay(TimeSpan.FromSeconds(20));

            Task completedTask = await Task.WhenAny(assertTask, delayTask);

            Assert.Equal(assertTask, completedTask);
        }