private MyGrain CreateGuidGrain() { var context = A.Fake <IGrainActivationContext>(); var limit = new ActivationLimit(context, sut); var serviceProvider = A.Fake <IServiceProvider>(); A.CallTo(() => grainRuntime.ServiceProvider) .Returns(serviceProvider); A.CallTo(() => context.ActivationServices) .Returns(serviceProvider); A.CallTo(() => serviceProvider.GetService(typeof(IActivationLimit))) .Returns(limit); A.CallTo(() => serviceProvider.GetService(typeof(IGrainRuntime))) .Returns(grainRuntime); var grain = new MyGrain(grainIdentity, grainRuntime, limit); A.CallTo(() => context.GrainInstance) .Returns(grain); A.CallTo(() => context.GrainType) .Returns(typeof(MyGrain)); grain.ReportIAmAlive(); return(grain); }
public DomainObjectGrainTests() { A.CallTo(() => store.WithSnapshotsAndEventSourcing(typeof(MyGrain), id, A <Func <MyDomainState, Task> > .Ignored, A <Func <Envelope <IEvent>, Task> > .Ignored)) .Returns(persistence); sut = new MyGrain(store); }
public async Task Should_update_iam_alive_for_grain_base() { var limit = A.Fake <IActivationLimit>(); var grain = new MyGrain(limit); A.CallTo(() => context.Grain) .Returns(grain); await sut.Invoke(context); A.CallTo(() => limit.ReportIAmAlive()) .MustHaveHappened(); A.CallTo(() => context.Invoke()) .MustHaveHappened(); }
public GrainOfGuidTests() { A.CallTo(() => persistence.ReadAsync(EtagVersion.Any)) .Invokes(_ => { read(new MyGrain.GrainState { Id = id }); }); A.CallTo(() => store.WithSnapshots(typeof(MyGrain), id, A <HandleSnapshot <MyGrain.GrainState> > .Ignored)) .Invokes(new Action <Type, Guid, HandleSnapshot <MyGrain.GrainState> >((type, id, callback) => { read = callback; })) .Returns(persistence); sut = new MyGrain(store); }