internal ChaosTestScenario(FabricClient fabricClient, string testScenarioName, ChaosTestScenarioParameters chaosScenarioParameters) : base(fabricClient, chaosScenarioParameters) { this.chaosScenarioParameters = chaosScenarioParameters; this.actionTranslator = new ActionTranslator(this.ReportProgress); this.ScenarioInstanceName = testScenarioName; this.random = new Random((int)DateTime.Now.Ticks); this.rootActionGenerator = new RootActionGenerator(chaosScenarioParameters.ActionGeneratorParameters, this.random); }
internal ChaosScenario( FabricClient fabricClient, ChaosParameters chaosParameters, IReliableDictionary <long, byte[]> eventsDictionary, IReliableDictionary <string, byte[]> lastEventKeyDict, IReliableStateManager stateManager, TimeSpan timeToRun, double chaosSnapshotTelemetrySamplingProbability, IStatefulServicePartition partition, bool testMode, CancellationToken cancellationToken) { this.actionTranslator = new ActionTranslator(); this.random = new Random((int)DateTime.Now.Ticks); this.rootActionGenerator = new RootActionGenerator(chaosParameters.ActionGeneratorParameters, this.random); this.generatedActions = new List <FabricTestAction>(); this.FabricClient = fabricClient; this.TestContext = this.FabricClient.FaultManager.TestContext; this.ChaosParameters = chaosParameters; this.EventsDictionary = eventsDictionary; this.LastEventKeyDict = lastEventKeyDict; this.StateManager = stateManager; this.consecutiveFailures = 0; this.chaosSnapshotTelemetrySamplingProbability = chaosSnapshotTelemetrySamplingProbability; this.partition = partition; this.cancellationToken = cancellationToken; if (testMode) { this.testMode = testMode; chaosParameters.OperationTimeout = FASConstants.TestOperationTimeout; } this.validationHelper = new ValidationHelper(chaosParameters, fabricClient); this.ApplyInternalConfigFromContextIfPresent(this.ChaosParameters.Context); }