Esempio n. 1
0
        public async Task RunWithNullRequestShouldThrowException()
        {
            // Arrange
            var fixture = new Fixture().Customize(new AutoMoqCustomization());

            // Act
            var activity = new ScanReleasePipelinesActivity(
                fixture.Create <EnvironmentConfig>(),
                fixture.CreateMany <IReleasePipelineRule>());

            var exception = await Assert.ThrowsAsync <ArgumentNullException>(async() =>
                                                                             await activity.RunAsync((null, null)));

            exception.Message.ShouldContainWithoutWhitespace("Value cannot be null. (Parameter 'input')");
        }
Esempio n. 2
0
        public async Task EvaluatesRules_IfNoRulesApply_ThenReportShouldAlsoNotContainsRules()
        {
            // Arrange
            var fixture  = new Fixture().Customize(new AutoMoqCustomization());
            var config   = fixture.Create <EnvironmentConfig>();
            var rules    = CreateRules(fixture, 0);
            var project  = fixture.Create <Project>();
            var pipeline = fixture.Create <ReleaseDefinition>();

            // Act
            var activity = new ScanReleasePipelinesActivity(config, rules);
            var actual   = await activity.RunAsync((project, pipeline));

            // Assert
            actual.ShouldNotBeNull();
            actual.Rules.ShouldNotBeNull();
            actual.Rules.ShouldBeEmpty();
        }
Esempio n. 3
0
        public async Task EvaluatesRules_IfThereAreRulesButNoStageIds_ThenTheRulesShouldStillBeProcessed()
        {
            // Arrange
            var fixture  = new Fixture().Customize(new AutoMoqCustomization());
            var config   = fixture.Create <EnvironmentConfig>();
            var rules    = CreateRules(fixture, 3, true);
            var project  = fixture.Create <Project>();
            var pipeline = fixture.Create <ReleaseDefinition>();

            // Act
            var activity = new ScanReleasePipelinesActivity(config, rules);
            var actual   = await activity.RunAsync((project, pipeline));

            // Assert
            actual.ShouldNotBeNull();
            actual.Rules.ShouldNotBeNull();
            actual.Rules.ShouldNotBeEmpty();
            Assert.True(actual.Rules.All(r => r.Status.GetValueOrDefault()));
        }