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