Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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);
        }