Esempio n. 1
0
        public async Task HipChatRoomResult_OneBuildMissingAndTimeout_ExpectFailureMessagePostedJustAfterTimeout()
        {
            var tenantService = makeTenantService(new[] { "build", "ndepend", "duplication", "publish" });
            var hipChatRoom   = Substitute.For <IHipChatRoom>();

            var teamCityAggregator = new TeamCityAggregatorSUT(
                tenantService,
                hipChatRoom,
                Substitute.For <IOptions <AppSettings> >());

            await teamCityAggregator.Initialization;

            teamCityAggregator.TestScheduler.Start();

            await SendTeamcityBuildNotification(teamCityAggregator, "1", "build");
            await SendTeamcityBuildNotification(teamCityAggregator, "1", "ndepend");
            await SendTeamcityBuildNotification(teamCityAggregator, "1", "duplication");

            teamCityAggregator.TestScheduler.AdvanceBy(TimeSpan.FromMinutes(9).Ticks);

            await hipChatRoom.Received(0).SendActivityCardAsync(Arg.Any <HipChatActivityCardData>(), Arg.Is("oAuth"));

            hipChatRoom.ClearReceivedCalls();

            teamCityAggregator.TestScheduler.AdvanceBy(TimeSpan.FromMinutes(1).Ticks);

            await hipChatRoom.Received(1).SendActivityCardAsync(
                Arg.Is <HipChatActivityCardData>(x => x.Description == "Failed to build branch awesomeBranch"),
                Arg.Is("oAuth"));
        }
Esempio n. 2
0
        public async Task HipChatRoomResult_2BuildsOneSuccessfulAndOneFailed_ExpectSuccessAndFailureMessagesPosted()
        {
            var tenantService = makeTenantService(new[] { "build", "ndepend", "duplication", "publish" });
            var hipChatRoom   = Substitute.For <IHipChatRoom>();

            var teamCityAggregator = new TeamCityAggregatorSUT(
                tenantService,
                hipChatRoom,
                Substitute.For <IOptions <AppSettings> >());

            await teamCityAggregator.Initialization;

            teamCityAggregator.TestScheduler.Start();

            await SendTeamcityBuildNotification(teamCityAggregator, "1", "duplication", branchName : "b1");
            await SendTeamcityBuildNotification(teamCityAggregator, "2", "duplication", branchName : "b2");
            await SendTeamcityBuildNotification(teamCityAggregator, "1", "ndepend", branchName : "b1");
            await SendTeamcityBuildNotification(teamCityAggregator, "2", "ndepend", branchName : "b2");
            await SendTeamcityBuildNotification(teamCityAggregator, "1", "build", branchName : "b1");
            await SendTeamcityBuildNotification(teamCityAggregator, "2", "build", branchName : "b2");

            await SendTeamcityBuildNotification(teamCityAggregator, "1", "publish", "failure", "b1");

            await hipChatRoom.Received(1).SendActivityCardAsync(
                Arg.Is <HipChatActivityCardData>(x => x.Description == "Failed to build branch b1"),
                Arg.Is("oAuth"));

            hipChatRoom.ClearReceivedCalls();

            await SendTeamcityBuildNotification(teamCityAggregator, "2", "publish", branchName : "b2");

            await hipChatRoom.Received(1).SendActivityCardAsync(
                Arg.Is <HipChatActivityCardData>(x => x.Description == "Successfully built branch b2"),
                Arg.Is("oAuth"));
        }
Esempio n. 3
0
        public async Task HipChatRoomResult_OneMessageWithOtherBuildNameArrivesForSameBuild_ExpectMessageIgnoredAndSuccessMessagePosted()
        {
            var tenantService = makeTenantService(new[] { "build", "ndepend", "duplication", "publish" });
            var hipChatRoom   = Substitute.For <IHipChatRoom>();

            var teamCityAggregator = new TeamCityAggregatorSUT(
                tenantService,
                hipChatRoom,
                Substitute.For <IOptions <AppSettings> >());

            await teamCityAggregator.Initialization;

            teamCityAggregator.TestScheduler.Start();

            await SendTeamcityBuildNotification(teamCityAggregator, "1", "duplication", branchName : "b1");
            await SendTeamcityBuildNotification(teamCityAggregator, "1", "ndepend", branchName : "b1");
            await SendTeamcityBuildNotification(teamCityAggregator, "1", "build", branchName : "b1");

            await SendTeamcityBuildNotification(teamCityAggregator, "1", "other build name", branchName : "b1");

            await hipChatRoom.Received(0).SendActivityCardAsync(Arg.Any <HipChatActivityCardData>(), Arg.Is("oAuth"));

            hipChatRoom.ClearReceivedCalls();

            await SendTeamcityBuildNotification(teamCityAggregator, "1", "publish", branchName : "b1");

            await hipChatRoom.Received(1).SendActivityCardAsync(
                Arg.Is <HipChatActivityCardData>(x => x.Description == "Successfully built branch b1"),
                Arg.Is("oAuth"));
        }
        public async Task HipChatRoomResult_OneBuildStepFailed_ExpectFailureMessagePosted()
        {
            var tenantService = makeTenantService(new[] { "build", "ndepend", "duplication", "publish" });
            var hipChatRoom   = Substitute.For <IHipChatRoom>();

            var teamCityAggregator = new TeamCityAggregatorSUT(
                tenantService,
                hipChatRoom,
                Substitute.For <IOptions <AppSettings> >());

            await teamCityAggregator.Initialization;

            teamCityAggregator.TestScheduler.Start();

            await SendTeamcityBuildNotification(teamCityAggregator, "1", "build", "failed");

            await hipChatRoom.Received(1).SendActivityCardAsync(
                Arg.Is <ActivityCardData>(x => x.Description == "Failed to build branch awesomeBranch"),
                Arg.Is("oAuth"));
        }