private static MockManagementNotificationContext GetNotification( string jobId, int ud, string[] instancesAndReasons, JobType jobType) { var impactedInstances = new List <ImpactedInstance>(); if (instancesAndReasons != null) { for (int i = 0; i < instancesAndReasons.Length - 1; i += 2) { var instance = instancesAndReasons[i]; var impactReason = (ImpactReason)Enum.Parse(typeof(ImpactReason), instancesAndReasons[i + 1]); var impactedInstance = new ImpactedInstance(instance, new List <ImpactReason> { impactReason }); impactedInstances.Add(impactedInstance); } } var notification = new MockManagementNotificationContext { ActiveJobId = jobId ?? Guid.NewGuid().ToString(), ActiveJobType = jobType, ActiveJobStepTargetUD = ud, ImpactedInstances = impactedInstances, NotificationType = NotificationType.StartJobStep, }; return(notification); }
protected BaseWorkflowExecutor(IDictionary <string, string> configSettings = null, MockQueryClient queryClient = null) { ManagementClient = new MockManagementClient(); QueryClient = queryClient; InfrastructureAgent = new MockInfrastructureAgentWrapper(); Coordinator = new MockInfrastructureCoordinatorFactory(ManagementClient, configSettings, queryClient, InfrastructureAgent).Create() as WindowsAzureInfrastructureCoordinator; NotificationContext = new MockManagementNotificationContext(); CompletedEvent = new ManualResetEvent(false); TestExecutionTimeInSeconds = 300; }
private static void TestManualApproval(IEnumerable <ImpactReason> impactReasons, bool expectedReturnValue) { var notification = new MockManagementNotificationContext { ImpactedInstances = new List <ImpactedInstance> { new ImpactedInstance("id_A", impactReasons), } }; bool manualApprovalRequired = notification.IsManualApprovalRequired(); Verify.AreEqual(manualApprovalRequired, expectedReturnValue); }