コード例 #1
0
        public async Task EvaluateShouldReturnFalseWhenRetainBuildsIsDisabled()
        {
            //Arrange
            CustomizePolicySettings(_fixture, 500, false);
            SetupClient(_client, _fixture);
            var releasePipeline = _fixture.Create <ReleaseDefinition>();

            //Act
            var rule   = new PipelineHasRequiredRetentionPolicy(_client);
            var result = await rule.EvaluateAsync("", releasePipeline);

            //Assert
            result.ShouldBe(false);
        }
        public async Task EvaluateIntegrationTest()
        {
            //Arrange
            var client          = new VstsRestClient(_config.Organization, _config.Token);
            var releasePipeline = await client.GetAsync(ReleaseManagement.Definition(_config.Project, PipelineId))
                                  .ConfigureAwait(false);

            //Act
            var rule   = new PipelineHasRequiredRetentionPolicy(client);
            var result = await rule.EvaluateAsync(_config.Project, releasePipeline);

            //Assert
            result.ShouldBe(true);
        }
コード例 #3
0
        public async Task EvaluateShouldReturnFalseWhenReleasesAreRetainedShorterThenRequired()
        {
            //Arrange
            // ReSharper disable once RedundantArgumentDefaultValue
            CustomizePolicySettings(_fixture, 5, true);
            SetupClient(_client, _fixture);
            var releasePipeline = _fixture.Create <ReleaseDefinition>();

            //Act
            var rule   = new PipelineHasRequiredRetentionPolicy(_client);
            var result = await rule.EvaluateAsync("", releasePipeline);

            //Assert
            result.ShouldBe(false);
        }
コード例 #4
0
        public async Task EvaluateShouldReturnFalseWhenAnyStageWithinPipelineDoesNotHaveRequiredRetentionPolicy()
        {
            //Arrange
            // ReSharper disable twice RedundantArgumentDefaultValue
            CustomizePolicySettings(_fixture, 450, true);
            SetupClient(_client, _fixture);
            var releasePipeline = _fixture.Create <ReleaseDefinition>();

            if (releasePipeline.Environments.Any())
            {
                releasePipeline.Environments.First().RetentionPolicy.DaysToKeep = 0;
            }

            //Act
            var rule   = new PipelineHasRequiredRetentionPolicy(_client);
            var result = await rule.EvaluateAsync("", releasePipeline);

            //Assert
            Assert.False(result);
        }