コード例 #1
0
ファイル: JobExtensionL0.cs プロジェクト: wesleyae/vsts-agent
        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"));
            }
        }
コード例 #2
0
ファイル: JobExtensionL0.cs プロジェクト: wesleyae/vsts-agent
        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);
            }
        }
コード例 #3
0
ファイル: JobExtensionL0.cs プロジェクト: wesleyae/vsts-agent
        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", "");
                }
            }
        }