public async Task TestClientAddressableHappyPath() { var myOb = new MyPseudoGrain(); this.anchor = myOb; var myRef = await ((GrainFactory) GrainClient.GrainFactory).CreateObjectReference<IClientAddressableTestClientObject>(myOb); var proxy = GrainClient.GrainFactory.GetGrain<IClientAddressableTestGrain>(GetRandomGrainId()); const string expected = "o hai!"; await proxy.SetTarget(myRef); var actual = await proxy.HappyPath(expected); Assert.AreEqual(expected, actual); await GrainReference.DeleteObjectReference(myRef); }
public async Task TestClientAddressableHappyPath() { var myOb = new MyPseudoGrain(); this.anchor = myOb; var myRef = ((GrainFactory)GrainClient.GrainFactory).CreateObjectReference <IClientAddressableTestClientObject>(myOb); var proxy = GrainClient.GrainFactory.GetGrain <IClientAddressableTestGrain>(GetRandomGrainId()); const string expected = "o hai!"; await proxy.SetTarget(myRef); var actual = await proxy.HappyPath(expected); Assert.Equal(expected, actual); RuntimeClient.Current.DeleteObjectReference(myRef); }
public async Task TestClientAddressableSadPath() { const string message = "o hai!"; var myOb = new MyPseudoGrain(); this.anchor = myOb; var myRef = await((GrainFactory)GrainClient.GrainFactory).CreateObjectReference <IClientAddressableTestClientObject>(myOb); var proxy = GrainClient.GrainFactory.GetGrain <IClientAddressableTestGrain>(GetRandomGrainId()); await proxy.SetTarget(myRef); await Xunit.Assert.ThrowsAsync <ApplicationException>(() => proxy.SadPath(message) ); await GrainReference.DeleteObjectReference(myRef); }
public async Task MicroClientAddressableParallelStressTest() { const int iterationCount = 1000; var myOb = new MyPseudoGrain(); this.anchor = myOb; var myRef = await((GrainFactory)GrainClient.GrainFactory).CreateObjectReference <IClientAddressableTestClientObject>(myOb); var proxy = GrainClient.GrainFactory.GetGrain <IClientAddressableTestGrain>(GetRandomGrainId()); await proxy.SetTarget(myRef); await proxy.MicroParallelStressTest(iterationCount); await GrainReference.DeleteObjectReference(myRef); myOb.VerifyNumbers(iterationCount); }
public async Task TestClientAddressableSadPath() { const string message = "o hai!"; try { var myOb = new MyPseudoGrain(); this.anchor = myOb; var myRef = await ((GrainFactory) GrainClient.GrainFactory).CreateObjectReference<IClientAddressableTestClientObject>(myOb); var proxy = GrainClient.GrainFactory.GetGrain<IClientAddressableTestGrain>(GetRandomGrainId()); await proxy.SetTarget(myRef); await proxy.SadPath(message); await GrainReference.DeleteObjectReference(myRef); } catch (AggregateException e) { var ef = e.Flatten(); if (ef.InnerExceptions.Count == 1 && ef.InnerExceptions[0] is ApplicationException && ef.InnerExceptions[0].Message == message) { throw (ApplicationException)ef.InnerExceptions[0]; } else { throw; } } }
public async Task MicroClientAddressableParallelStressTest() { const int iterationCount = 1000; var myOb = new MyPseudoGrain(); this.anchor = myOb; var myRef = await ((GrainFactory) GrainClient.GrainFactory).CreateObjectReference<IClientAddressableTestClientObject>(myOb); var proxy = GrainClient.GrainFactory.GetGrain<IClientAddressableTestGrain>(GetRandomGrainId()); await proxy.SetTarget(myRef); await proxy.MicroParallelStressTest(iterationCount); await GrainReference.DeleteObjectReference(myRef); myOb.VerifyNumbers(iterationCount); }
public async Task TestClientAddressableSadPath() { const string message = "o hai!"; var myOb = new MyPseudoGrain(); this.anchor = myOb; var myRef = ((GrainFactory)GrainClient.GrainFactory).CreateObjectReference<IClientAddressableTestClientObject>(myOb); var proxy = GrainClient.GrainFactory.GetGrain<IClientAddressableTestGrain>(GetRandomGrainId()); await proxy.SetTarget(myRef); await Assert.ThrowsAsync<ApplicationException>(() => proxy.SadPath(message) ); RuntimeClient.Current.DeleteObjectReference(myRef); }