public void CreateMinion() { var actorIdentity = TestClaptrapIdentity.Instance; var claptrapDesignStore = new ClaptrapDesignStore(); var masterDesign = new ClaptrapDesign { ClaptrapOptions = new ClaptrapOptions { MinionActivationOptions = new MinionActivationOptions(), EventLoadingOptions = new EventLoadingOptions(), StateRecoveryOptions = new StateRecoveryOptions(), StateSavingOptions = new StateSavingOptions() }, ClaptrapTypeCode = actorIdentity.TypeCode, EventHandlerDesigns = ImmutableDictionary <string, IClaptrapEventHandlerDesign> .Empty, StateHolderFactoryType = typeof(NoChangeStateHolderFactory), StateDataType = typeof(TestStateData), EventHandlerFactoryFactoryType = typeof(EventHandlerFactoryFactory), InitialStateDataFactoryType = typeof(DefaultInitialStateDataFactory) }; claptrapDesignStore.AddOrReplace(masterDesign); var minionDesign = new ClaptrapDesign { ClaptrapOptions = new ClaptrapOptions { MinionActivationOptions = new MinionActivationOptions(), EventLoadingOptions = new EventLoadingOptions(), StateRecoveryOptions = new StateRecoveryOptions(), StateSavingOptions = new StateSavingOptions() }, ClaptrapTypeCode = actorIdentity.TypeCode, EventHandlerDesigns = ImmutableDictionary <string, IClaptrapEventHandlerDesign> .Empty, StateHolderFactoryType = typeof(NoChangeStateHolderFactory), StateDataType = typeof(TestStateData), EventHandlerFactoryFactoryType = typeof(EventHandlerFactoryFactory), InitialStateDataFactoryType = typeof(DefaultInitialStateDataFactory), ClaptrapMasterDesign = masterDesign }; claptrapDesignStore.AddOrReplace(minionDesign); using var mocker = AutoMockHelper.Create(builderAction: builder => { builder.RegisterInstance(claptrapDesignStore) .AsImplementedInterfaces() .SingleInstance(); }); mocker.Mock <IClaptrapModuleProvider>() .Setup(x => x.GetClaptrapSharedModules(actorIdentity)) .Returns(Enumerable.Empty <IClaptrapSharedModule>()); mocker.Mock <IClaptrapModuleProvider>() .Setup(x => x.GetClaptrapMinionModules(actorIdentity)) .Returns(Enumerable.Empty <IClaptrapMinionModule>()); var actorFactory = mocker.Create <ClaptrapFactory>(); var actor = actorFactory.Create(actorIdentity); actor.Should().NotBeNull(); }
public async Task MinionNotFound() { var id = new ClaptrapIdentity("1", "2"); var store = new ClaptrapDesignStore(); var mainDesign = new ClaptrapDesign { ClaptrapTypeCode = id.TypeCode }; store.AddOrReplace(mainDesign); using var mocker = AutoMock.GetLoose(builder => { builder.RegisterInstance(store) .AsImplementedInterfaces() .SingleInstance(); }); var daprMinionActivator = mocker.Create <DaprMinionActivator>(); // act await daprMinionActivator.WakeAsync(id); mocker.Mock <IActorProxyFactory>() .Verify(x => x.Create(It.IsAny <ActorId>(), It.IsAny <string>(), It.IsAny <ActorProxyOptions>()), Times.Never); }
public async Task MinionFound() { var id = new ClaptrapIdentity("1", "2"); var store = new ClaptrapDesignStore(); var mainDesign = new ClaptrapDesign { ClaptrapTypeCode = id.TypeCode }; store.AddOrReplace(mainDesign); var minionDesign = new ClaptrapDesign { ClaptrapTypeCode = "minion", ClaptrapMasterDesign = mainDesign }; store.AddOrReplace(minionDesign); using var mocker = AutoMock.GetLoose(builder => { builder.RegisterInstance(store) .AsImplementedInterfaces() .SingleInstance(); }); mocker.Mock <IActorProxyFactory>() .Setup(x => x.Create(new ActorId(id.Id), minionDesign.ClaptrapTypeCode, It.IsAny <ActorProxyOptions>())) .Verifiable(); var daprMinionActivator = mocker.Create <DaprMinionActivator>(); // act await daprMinionActivator.WakeAsync(id); }
public void DesignNotFound() { var actorIdentity = TestClaptrapIdentity.Instance; var claptrapDesignStore = new ClaptrapDesignStore(); using var mocker = AutoMockHelper.Create(builderAction: builder => { builder.RegisterInstance(claptrapDesignStore) .AsImplementedInterfaces() .SingleInstance(); }); var actorFactory = mocker.Create <ClaptrapFactory>(); Assert.Throws <ClaptrapDesignNotFoundException>(() => actorFactory.Create(actorIdentity)); }