public void AcquireIgniteTopologyProjections_Success() { var igniteMock = new IgniteMock(); DIBuilder.Continue() .Add(TRexGridFactory.AddGridFactoriesToDI) // Override the main Ignite grid factory method DI'ed from TRexGridFactory.AddGridFactoriesToDI() .Add(x => x.AddSingleton <Func <string, IgniteConfiguration, IIgnite> >(factory => (gridName, cfg) => igniteMock.mockIgnite.Object)) .Complete(); var ignite = new BaseIgniteClass(TRexGrids.GridName(StorageMutability.Immutable), "TestRole"); ignite.AcquireIgniteTopologyProjections(); }
public void AcquireIgniteTopologyProjections_FailWithUnknownGrid() { var igniteMock = new IgniteMock(); DIBuilder.Continue() .Add(TRexGridFactory.AddGridFactoriesToDI) // Override the main Ignite grid factory method DI'ed from TRexGridFactory.AddGridFactoriesToDI() .Add(x => x.AddSingleton <Func <string, IgniteConfiguration, IIgnite> >(factory => (gridName, cfg) => igniteMock.mockIgnite.Object)) .Complete(); string GridName = "TestGrid"; string Role = "TestRole"; Action act = () => new BaseIgniteClass(GridName, Role); act.Should().Throw <TRexException>().WithMessage($"{GridName} is an unknown grid to create a reference for."); }
public void AcquireIgniteTopologyProjections_FailWithNullComputeProjection() { var igniteMock = new IgniteMock(); // Nobble the ICompute setup to mimic a null compute projection igniteMock.mockClusterGroup.Setup(x => x.GetCompute()).Returns((ICompute)null); DIBuilder.Continue() .Add(TRexGridFactory.AddGridFactoriesToDI) // Override the main Ignite grid factory method DI'ed from TRexGridFactory.AddGridFactoriesToDI() .Add(x => x.AddSingleton <Func <string, IgniteConfiguration, IIgnite> >(factory => (gridName, cfg) => igniteMock.mockIgnite.Object)) .Complete(); var GridName = TRexGrids.GridName(StorageMutability.Immutable); var Role = "TestRole"; Action act = () => new BaseIgniteClass(GridName, Role); act.Should().Throw <TRexException>().WithMessage($"Compute projection is null in AcquireIgniteTopologyProjections on grid {GridName}"); }
public void AcquireIgniteTopologyProjections_FailWithEmptyClusterGroup() { var igniteMock = new IgniteMock(); // Nobble the IClusterNodes.Count() setup to mimic an empty cluster group igniteMock.mockClusterNodes.Setup(x => x.Count).Returns(0); igniteMock.mockCluster.Setup(x => x.GetNodes()).Returns((List <IClusterNode>)null); DIBuilder.Continue() .Add(TRexGridFactory.AddGridFactoriesToDI) // Override the main Ignite grid factory method DI'ed from TRexGridFactory.AddGridFactoriesToDI() .Add(x => x.AddSingleton <Func <string, IgniteConfiguration, IIgnite> >(factory => (gridName, cfg) => igniteMock.mockIgnite.Object)) .Complete(); string GridName = TRexGrids.GridName(StorageMutability.Immutable); string Role = "TestRole"; Action act = () => new BaseIgniteClass(GridName, Role); act.Should().Throw <TRexException>().WithMessage($"Group cluster topology is empty for role {Role} on grid {GridName}"); }