public async Task LastBuildResult_ReturnsInfoCorrectlyMapped(string status, CiBuildResultStatus resultStatus) { var buildId = _fixture.Create <string>(); var build = _fixture .Build <Build>() .With(b => b.Status, status) .Create(); A.CallTo(() => _teamcityClient.Builds.LastBuildByBuildConfigId(buildId)) .Returns(build); A.CallTo(() => _teamcityClient.Builds.ByBuildId(build.Id)) .Returns(build); var teamCityService = new TeamCityService(_teamcityClient); var result = await teamCityService.LastBuildResult(buildId); var expectedResult = new CiBuildResult { CiSource = CiSource.TeamCity, Id = build.Id, BuildId = build.BuildType.Id, BuildName = build.BuildType.Name, Url = build.WebUrl, FinishDate = build.FinishDate, StartDate = build.StartDate, Version = build.Number, Status = resultStatus }; result.ShouldBeEquivalentTo(expectedResult); }
public async Task LastBuildResult_WhenBuildIsRunning_ReturnsRunningBuildStatus() { var buildId = _fixture.Create <string>(); var build = _fixture .Build <Build>() .Create(); A.CallTo(() => _teamcityClient.Builds.LastBuildByBuildConfigId(buildId)) .Returns(build); A.CallTo(() => _teamcityClient.Builds.ByBuildId(build.Id)) .Returns(build); A.CallTo(() => _teamcityClient.Builds.ByBuildLocator(A <BuildLocator> .Ignored)) .Returns(_fixture.Build <Build>().CreateMany().ToList()); var teamCityService = new TeamCityService(_teamcityClient); var result = await teamCityService.LastBuildResult(buildId); var expectedResult = new CiBuildResult { CiSource = CiSource.TeamCity, Id = build.Id, BuildId = build.BuildType.Id, BuildName = build.BuildType.Name, Url = build.WebUrl, FinishDate = build.FinishDate, StartDate = build.StartDate, Version = build.Number, Status = CiBuildResultStatus.Running }; result.ShouldBeEquivalentTo(expectedResult); }
public async Task LastBuildResult_ReturnsStatisticsCorrectlyMapped() { var buildId = _fixture.Create <string>(); var build = _fixture .Build <Build>() .With(b => b.Status, "SUCCESS") .Create(); A.CallTo(() => _teamcityClient.Builds.LastBuildByBuildConfigId(buildId)) .Returns(build); A.CallTo(() => _teamcityClient.Builds.ByBuildId(build.Id)) .Returns(build); var stats = new List <Property> { new Property { Name = "PassedTestCount", Value = "1" }, new Property { Name = "FailedTestCount", Value = "2" }, new Property { Name = "IgnoredTestCount", Value = "3" }, new Property { Name = "CodeCoverageAbsSCovered", Value = "4" }, new Property { Name = "CodeCoverageAbsSTotal", Value = "5" }, }; A.CallTo(() => _teamcityClient.Statistics.GetByBuildId(build.Id)) .Returns(stats); var teamCityService = new TeamCityService(_teamcityClient); var result = await teamCityService.LastBuildResult(buildId); var expectedResult = new CiBuildResult { CiSource = CiSource.TeamCity, Id = build.Id, BuildId = build.BuildType.Id, BuildName = build.BuildType.Name, Url = build.WebUrl, FinishDate = build.FinishDate, StartDate = build.StartDate, Version = build.Number, Status = CiBuildResultStatus.Success, NumberTestPassed = 1, NumberTestFailed = 2, NumberTestIgnored = 3, NumberStatementsCovered = 4, NumberStatementsTotal = 5 }; result.ShouldBeEquivalentTo(expectedResult); }
private void btnTcBuild_Click(object sender, EventArgs e) { try { var confirmResult = MessageBox.Show( $"Are you sure to run the Teamcity build on {GlobalVariables.Enviroment}?", "Teamcity Build", MessageBoxButtons.YesNo); if (confirmResult == DialogResult.Yes) { var tcService = new TeamCityService(); tcService.RunBuildConfig(GlobalVariables.EnvironmentAccounts[GlobalVariables.Enviroment].TCBuildConfig); WriteNotification($"Building the appliction zip files on {GlobalVariables.Enviroment}."); } } catch (Exception ex) { HandleException(ex); } }
public async Task GetAllBuildConfigs_ReturnsProjectAndBuildTypesCorrectlyMapped_FilteringTheOnesThatTheProjectIsArchived() { IEnumerable <BuildConfig> buildConfigs = _fixture .Build <BuildConfig>() .CreateMany(); IEnumerable <BuildConfig> enumerable = buildConfigs as IList <BuildConfig> ?? buildConfigs.ToList(); List <CiBuildConfig> expectedResult = enumerable.Select( b => new CiBuildConfig { CiSource = CiSource.TeamCity, Id = b.Id, Name = b.Name, Url = b.WebUrl, ProjectName = b.ProjectName }) .ToList(); A.CallTo(() => _teamcityClient.BuildConfigs.All()) .Returns(enumerable.ToList()); foreach (BuildConfig buildConfig in enumerable) { Project project = _fixture .Build <Project>() .With(p => p.Id, buildConfig.ProjectId) .Create(); A.CallTo(() => _teamcityClient.Projects.ById(buildConfig.ProjectId)) .Returns(project); if (project.Archived) { expectedResult.Remove(expectedResult.First(b => b.Id == buildConfig.Id)); } } TeamCityService teamCityService = new TeamCityService(_teamcityClient); IEnumerable <CiBuildConfig> result = await teamCityService.GetAllBuildConfigs(); result.ShouldBeEquivalentTo(expectedResult); }
public void Arrange() { _teamCityService = Substitute.For <TeamCityService>(); _teamCityService.LoadXmlFromUrl(Arg.Any <string>()).ReturnsForAnyArgs(new XmlDocument()); }