public void ServerReturnsBigData_EnsureReceivedOnClient() { ITestContractAsync channel = CreateChannel(); Server() .Setup(v => v.FunctionReturningHugeData()) .Returns(() => Enumerable.Repeat(0, 1000).Select(_ => CompositeType.CreateRandom()).ToList()); List <CompositeType> result = channel.FunctionReturningHugeData(); Assert.Equal(1000, result.Count); }
public void ClientSendsBigData_EnsureReceivedOnServer() { ITestContractAsync channel = CreateChannel(); var data = Enumerable.Repeat(0, 1000).Select(_ => CompositeType.CreateRandom()).ToList(); Mock <ITestContract> server = Server(); server.Setup(v => v.MethodTakingHugeData(It.IsAny <List <CompositeType> >())) .Callback <List <CompositeType> >(v => Assert.Equal(1000, v.Count)); channel.MethodTakingHugeData(data); server.Verify(v => v.MethodTakingHugeData(It.IsAny <List <CompositeType> >())); }
public void LongOperation_TimeoutSet_EnsureCallTimeouted() { IClientPipeline pipeline = CreatePipeline(); pipeline.Find <CommunicationMiddleware>().ResponseTimeout = TimeSpan.FromSeconds(0.1); ITestContractAsync client = CreateChannel(pipeline); CompositeType arg = CompositeType.CreateRandom(); Mock <ITestContract> server = Server(); server.Setup(v => v.SimpleMethodWithComplexParameter(arg)).Callback(() => Thread.Sleep(TimeSpan.FromSeconds(10))); Assert.Throws <TimeoutException>(() => client.SimpleMethodWithComplexParameter(arg)); }