public async Task JobExtensionIntraTaskState() { using (TestHostContext hc = CreateTestContext()) { TestJobExtension testExtension = new TestJobExtension(); testExtension.Initialize(hc); JobInitializeResult result = await testExtension.InitializeJob(_jobEc, _message); var trace = hc.GetTrace(); trace.Info(string.Join(", ", result.PreJobSteps.Select(x => x.DisplayName))); trace.Info(string.Join(", ", result.JobSteps.Select(x => x.DisplayName))); trace.Info(string.Join(", ", result.PostJobStep.Select(x => x.DisplayName))); Assert.Equal(4, result.PreJobSteps.Count); Assert.Equal(4, result.JobSteps.Count); Assert.Equal(4, result.PostJobStep.Count); result.PreJobSteps[0].ExecutionContext.TaskVariables.Set("state1", "value1", false); Assert.Equal("value1", result.JobSteps[1].ExecutionContext.TaskVariables.Get("state1")); Assert.Equal("value1", result.PostJobStep[3].ExecutionContext.TaskVariables.Get("state1")); Assert.Null(result.JobSteps[0].ExecutionContext.TaskVariables.Get("state1")); Assert.Null(result.PreJobSteps[1].ExecutionContext.TaskVariables.Get("state1")); Assert.Null(result.PreJobSteps[2].ExecutionContext.TaskVariables.Get("state1")); Assert.Null(result.PostJobStep[2].ExecutionContext.TaskVariables.Get("state1")); Assert.Null(result.JobSteps[2].ExecutionContext.TaskVariables.Get("state1")); Assert.Null(result.JobSteps[3].ExecutionContext.TaskVariables.Get("state1")); } }
public async Task JobExtensioBuildStepsList() { using (TestHostContext hc = CreateTestContext()) { TestJobExtension testExtension = new TestJobExtension(); testExtension.Initialize(hc); JobInitializeResult result = await testExtension.InitializeJob(_jobEc, _message); var trace = hc.GetTrace(); trace.Info(string.Join(", ", result.PreJobSteps.Select(x => x.DisplayName))); trace.Info(string.Join(", ", result.JobSteps.Select(x => x.DisplayName))); trace.Info(string.Join(", ", result.PostJobStep.Select(x => x.DisplayName))); Assert.Equal(4, result.PreJobSteps.Count); Assert.Equal(4, result.JobSteps.Count); Assert.Equal(4, result.PostJobStep.Count); Assert.Equal("task2", result.PreJobSteps[0].DisplayName); Assert.Equal("task3", result.PreJobSteps[1].DisplayName); Assert.Equal("task4", result.PreJobSteps[2].DisplayName); Assert.Equal("task6", result.PreJobSteps[3].DisplayName); Assert.Equal("task1", result.JobSteps[0].DisplayName); Assert.Equal("task2", result.JobSteps[1].DisplayName); Assert.Equal("task6", result.JobSteps[2].DisplayName); Assert.Equal("task7", result.JobSteps[3].DisplayName); Assert.Equal("task7", result.PostJobStep[0].DisplayName); Assert.Equal("task5", result.PostJobStep[1].DisplayName); Assert.Equal("task3", result.PostJobStep[2].DisplayName); Assert.Equal("task2", result.PostJobStep[3].DisplayName); } }
public async Task JobExtensionManagementScriptStep() { using (TestHostContext hc = CreateTestContext()) { hc.EnqueueInstance <IPagingLogger>(_logger.Object); hc.EnqueueInstance <IPagingLogger>(_logger.Object); Environment.SetEnvironmentVariable("VSTS_AGENT_INIT_INTERNAL_TEMP_HACK", "C:\\init.ps1"); Environment.SetEnvironmentVariable("VSTS_AGENT_CLEANUP_INTERNAL_TEMP_HACK", "C:\\clenup.ps1"); try { TestJobExtension testExtension = new TestJobExtension(); testExtension.Initialize(hc); JobInitializeResult result = await testExtension.InitializeJob(_jobEc, _message); var trace = hc.GetTrace(); trace.Info(string.Join(", ", result.PreJobSteps.Select(x => x.DisplayName))); trace.Info(string.Join(", ", result.JobSteps.Select(x => x.DisplayName))); trace.Info(string.Join(", ", result.PostJobStep.Select(x => x.DisplayName))); Assert.Equal(5, result.PreJobSteps.Count); Assert.Equal(4, result.JobSteps.Count); Assert.Equal(5, result.PostJobStep.Count); Assert.True(result.PreJobSteps[0] is ManagementScriptStep); Assert.True(result.PostJobStep[4] is ManagementScriptStep); Assert.Equal(result.PreJobSteps[0].DisplayName, "Agent Initialization"); Assert.Equal(result.PostJobStep[4].DisplayName, "Agent Cleanup"); } finally { Environment.SetEnvironmentVariable("VSTS_AGENT_INIT_INTERNAL_TEMP_HACK", ""); Environment.SetEnvironmentVariable("VSTS_AGENT_CLEANUP_INTERNAL_TEMP_HACK", ""); } } }