public void IgnoresMasterBranch() { var teamcityApi = new Mock <ITeamcityChangesApi>(); var githubApi = new Mock <IGithubStatusApi>(); var handler = new StatusWebhooksHandler(githubApi.Object, teamcityApi.Object); handler.Accept(new TeamcityEvent(TeamcityEventType.Unknown, "build-id", "buildType", "build name", BuildResultDelta.Unknown, "master", TeamcityBuildState.Unknown, "", "1.0")); teamcityApi.Verify(x => x.RevisionForBuild("build-id"), Times.Never); }
public void AsksTeamcityApiForRepoAndCommit() { var teamcityApi = new Mock <ITeamcityChangesApi>(); var githubApi = new Mock <IGithubStatusApi>(); var handler = new StatusWebhooksHandler(githubApi.Object, teamcityApi.Object); handler.Accept(new TeamcityEvent(TeamcityEventType.Unknown, "build-id", "buildType", "build name", BuildResultDelta.Unknown, "foo", TeamcityBuildState.Unknown, "", "1.0")); teamcityApi.Verify(x => x.RevisionForBuild("build-id")); }
public void PostsFailureStatusWhenBuildFails() { var teamcityApi = new Mock <ITeamcityChangesApi>(); teamcityApi.Setup(x => x.RevisionForBuild("build-id")).ReturnsAsync(new TeamcityRevisionForBuild("build-id", "a-user", "a-repo", "123hash")); var githubApi = new Mock <IGithubStatusApi>(); var handler = new StatusWebhooksHandler(githubApi.Object, teamcityApi.Object); handler.Accept(new TeamcityEvent(TeamcityEventType.BuildFinished, "build-id", "buildType", "build name", BuildResultDelta.Unknown, "foo", TeamcityBuildState.Failure, "Error message is logged", "1.0")); var url = "http://buildserver/viewLog.html?buildId=build-id"; githubApi.Verify(x => x.SetStatus("a-user", "a-repo", "123hash", "failure", "Error message is logged", "build name", url)); }