public void CancelQueuedBuild()
        {
            // Arrange
            var teamCityApiClient = A.Fake <ITeamCityApiClient>();
            var buildService      = new QueuedBuildService(teamCityApiClient);

            // Act
            buildService.Cancel(123, "Test");

            // Assert
            A.CallTo(() => teamCityApiClient.Post <BuildCancelRequest, BuildModel>("buildQueue/123", A <BuildCancelRequest> .Ignored))
            .MustHaveHappened();
        }
        public void CancelRunningBuild_BadRequest_ExceptionRethrown()
        {
            // Arrange
            var teamCityApiClient = A.Fake <ITeamCityApiClient>();

            A.CallTo(() => teamCityApiClient.Post <BuildCancelRequest, BuildModel>("buildQueue/123", A <BuildCancelRequest> .Ignored))
            .Throws(new HttpException(HttpStatusCode.BadRequest));

            var buildService = new QueuedBuildService(teamCityApiClient);

            // Act
            Action action = () => buildService.Cancel(123, "Test");

            // Assert
            action.ShouldThrow <HttpException>().Which.StatusCode.Should().Be(HttpStatusCode.BadRequest);
        }