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); }
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); }
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); }