public void Run_Commands_OnlyRunsOnNamedReplicaSet() { const int replicaToRunOn = 5; GraphCluster.Run(replicaToRunOn.ToString(), Commands); for (int replicaSetOrdinal = 0; replicaSetOrdinal < NumberOfReplicaSets; ++replicaSetOrdinal) { var expectedReplica = ReplicaSets[replicaSetOrdinal]; A.CallTo(() => expectedReplica.Run(Commands)) .MustHaveHappened(replicaSetOrdinal == replicaToRunOn ? 1 : 0, Times.Exactly); } }
public GraphClusterTests() { ReplicaSets = new IGraphReplicaSetLowLevel[NumberOfReplicaSets]; for (int replicaSetOrdinal = 0; replicaSetOrdinal < NumberOfReplicaSets; ++replicaSetOrdinal) { var replicaSet = ReplicaSets[replicaSetOrdinal] = A.Fake <IGraphReplicaSetLowLevel>(); A.CallTo(() => replicaSet.Name).Returns(replicaSetOrdinal.ToString()); } Logger = A.Fake <ILogger>(); GraphCluster = new GraphCluster(ReplicaSets, Logger); Queries = new[] { A.Fake <IQuery <int> >() }; Commands = new[] { A.Fake <ICommand>() }; }
public SyncOrchestratorTestsBase() { ContentDefinitionManager = A.Fake <IContentDefinitionManager>(); Notifier = A.Fake <GraphSyncNotifier>(); PreviewGraphReplicaSet = A.Fake <IGraphReplicaSet>(); A.CallTo(() => PreviewGraphReplicaSet.Name) .Returns(GraphReplicaSetNames.Preview); PublishedGraphReplicaSet = A.Fake <IGraphReplicaSet>(); A.CallTo(() => PublishedGraphReplicaSet.Name) .Returns(GraphReplicaSetNames.Published); var graphReplicaSets = new Dictionary <string, IGraphReplicaSet> { { GraphReplicaSetNames.Preview, PreviewGraphReplicaSet }, { GraphReplicaSetNames.Published, PublishedGraphReplicaSet }, }; GraphCluster = A.Fake <IGraphCluster>(); A.CallTo(() => GraphCluster.GetGraphReplicaSet(A <string> ._)) .ReturnsLazily <IGraphReplicaSet, string>(graphReplicaSetName => graphReplicaSets[graphReplicaSetName]); PublishedContentItemVersion = A.Fake <IPublishedContentItemVersion>(); A.CallTo(() => PublishedContentItemVersion.GraphReplicaSetName) .Returns(GraphReplicaSetNames.Published); ServiceProvider = A.Fake <IServiceProvider>(); Logger = A.Fake <ILogger <SyncOrchestrator> >(); ContentItem = new ContentItem(); ContentManager = A.Fake <IContentManager>(); A.CallTo(() => ServiceProvider.GetService(A <Type> .That.Matches( t => t.Name == nameof(IContentManager)))) .Returns(ContentManager); PreviewMergeGraphSyncer = A.Fake <IMergeGraphSyncer>(); PublishedMergeGraphSyncer = A.Fake <IMergeGraphSyncer>(); PreviewAllowSync = A.Fake <IAllowSync>(); A.CallTo(() => PreviewMergeGraphSyncer.SyncAllowed( A <IGraphReplicaSet> .That.Matches(s => s.Name == GraphReplicaSetNames.Preview), A <ContentItem> ._, A <IContentManager> ._, A <IGraphMergeContext?> ._)) .Returns(PreviewAllowSync); PublishedAllowSync = A.Fake <IAllowSync>(); A.CallTo(() => PublishedMergeGraphSyncer.SyncAllowed( A <IGraphReplicaSet> .That.Matches(s => s.Name == GraphReplicaSetNames.Published), A <ContentItem> ._, A <IContentManager> ._, A <IGraphMergeContext?> ._)) .Returns(PublishedAllowSync); EventGridPublishingHandler = A.Fake <IContentOrchestrationHandler>(); A.CallTo(() => EventGridPublishingHandler.Published(A <IOrchestrationContext> .Ignored)).Returns(Task.CompletedTask); A.CallTo(() => EventGridPublishingHandler.DraftSaved(A <IOrchestrationContext> .Ignored)).Returns(Task.CompletedTask); A.CallTo(() => EventGridPublishingHandler.Cloned(A <IOrchestrationContext> .Ignored)).Returns(Task.CompletedTask); A.CallTo(() => EventGridPublishingHandler.Unpublished(A <IOrchestrationContext> .Ignored)).Returns(Task.CompletedTask); A.CallTo(() => EventGridPublishingHandler.DraftDiscarded(A <IOrchestrationContext> .Ignored)).Returns(Task.CompletedTask); A.CallTo(() => EventGridPublishingHandler.Deleted(A <IOrchestrationContext> .Ignored)).Returns(Task.CompletedTask); SyncOrchestrator = new SyncOrchestrator( ContentDefinitionManager, Notifier, GraphCluster, ServiceProvider, Logger, PublishedContentItemVersion, new List <IContentOrchestrationHandler> { EventGridPublishingHandler }); TestActivity = new Activity("UnitTest").Start(); }