public void Convert_Null_ReturnsNull() { BuildResult?input = null; string expectedOutput = null; string output = (string)_converter.Convert(input, typeof(string), null, null); Assert.AreEqual(expectedOutput, output); }
public Build(BuildDefinitionReference definition, int id, BuildStatus?status, DateTime?queueTime, DateTime?startTime, DateTime?finishTime, BuildResult?result, IReadOnlyList <TestRun> testRuns) { Definition = definition; Id = id; Status = status; QueueTime = queueTime; StartTime = startTime; FinishTime = finishTime; Result = result; TestRuns = testRuns ?? new List <TestRun>(); }
public InstallerOperation(SetupBuilder builder, Action remove) { _builder = builder; BuilderFunc = builder.Run; Timeout = new Timer(_ => { Sender?.Dispose(); Sender = null; Result?.Dispose(); Result = null; remove(); }, null, TimeSpan.FromMinutes(30), System.Threading.Timeout.InfiniteTimeSpan); }
private CacheResult( CacheResultType resultType, BuildResult?buildResult = null, ProxyTargets?proxyTargets = null) { if (resultType == CacheResultType.CacheHit) { ErrorUtilities.VerifyThrow( buildResult != null ^ proxyTargets != null, "Either buildResult is specified, or proxyTargets is specified. Not both."); } ResultType = resultType; BuildResult = buildResult; ProxyTargets = proxyTargets; }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { BuildResult?result = value == null ? null : (BuildResult?)Enum.Parse(typeof(BuildResult), value.ToString()); switch (result) { case BuildResult.Succeeded: return("Icons/tickResource.ico"); case BuildResult.PartiallySucceeded: return("Icons/warningResource.ico"); case BuildResult.Failed: return("Icons/crossResource.ico"); } return("Icons/quesionResource.ico"); }
public static Core.Models.BuildStatus Convert(BuildStatus?status, BuildResult?result) { switch (status) { case BuildStatus.InProgress: return(Core.Models.BuildStatus.InProgress); case BuildStatus.NotStarted: return(Core.Models.BuildStatus.NotStarted); case BuildStatus.Completed: return(Convert(result)); default: throw new NotSupportedException("Unable to convert unrecognised BuildStatus."); } }
private static Core.Models.BuildStatus Convert(BuildResult?result) { switch (result) { case BuildResult.Canceled: return(Core.Models.BuildStatus.Stopped); case BuildResult.Failed: return(Core.Models.BuildStatus.Failed); case BuildResult.PartiallySucceeded: return(Core.Models.BuildStatus.PartiallySucceeded); case BuildResult.Succeeded: return(Core.Models.BuildStatus.Succeeded); default: throw new NotSupportedException("Unable to convert unrecognised BuildResult."); } }
/// <summary> /// List the builds that meet the provided query parameters /// </summary> public IAsyncEnumerable <Build> EnumerateBuildsAsync( string project, IEnumerable <int>?definitions = null, IEnumerable <int>?queues = null, string?buildNumber = null, DateTimeOffset?minTime = null, DateTimeOffset?maxTime = null, string?requestedFor = null, BuildReason?reasonFilter = null, BuildStatus?statusFilter = null, BuildResult?resultFilter = null, int?top = null, int?maxBuildsPerDefinition = null, QueryDeletedOption?deletedFilter = null, BuildQueryOrder?queryOrder = null, string?branchName = null, IEnumerable <int>?buildIds = null, string?repositoryId = null, string?repositoryType = null) { var builder = GetBuilder(project, "build/builds"); builder.AppendList("definitions", definitions); builder.AppendList("queues", queues); builder.AppendString("buildNumber", buildNumber); builder.AppendDateTime("minTime", minTime); builder.AppendDateTime("maxTime", maxTime); builder.AppendString("requestedFor", requestedFor); builder.AppendEnum("reasonFilter", reasonFilter); builder.AppendEnum("statusFilter", statusFilter); builder.AppendEnum("resultFilter", resultFilter); builder.AppendInt("$top", top); builder.AppendInt("maxBuildsPerDefinition", maxBuildsPerDefinition); builder.AppendEnum("deletedFilter", deletedFilter); builder.AppendEnum("queryOrder", queryOrder); builder.AppendString("branchName", branchName); builder.AppendList("buildIds", buildIds); builder.AppendString("repositoryId", repositoryId); builder.AppendString("repositoryType", repositoryType); return(EnumerateItemsAsync <Build>(builder, limit: top)); }
public Microsoft.TeamFoundation.Build.Server.BuildStatus ConvertBuildResult(BuildResult?result) { if (!result.HasValue) { return(Microsoft.TeamFoundation.Build.Server.BuildStatus.None); } BuildResult value = result.Value; switch (value) { case BuildResult.None: return(Microsoft.TeamFoundation.Build.Server.BuildStatus.None); case (BuildResult)1: case (BuildResult)3: break; case BuildResult.Succeeded: return(Microsoft.TeamFoundation.Build.Server.BuildStatus.Succeeded); case BuildResult.PartiallySucceeded: return(Microsoft.TeamFoundation.Build.Server.BuildStatus.PartiallySucceeded); default: if (value == BuildResult.Failed) { return(Microsoft.TeamFoundation.Build.Server.BuildStatus.Failed); } if (value == BuildResult.Canceled) { return(Microsoft.TeamFoundation.Build.Server.BuildStatus.Stopped); } break; } return(Microsoft.TeamFoundation.Build.Server.BuildStatus.None); }
public IList <Build> FindCompletedBuilds(DateTime?start = null, DateTime?finish = null, BuildResult?result = null, string actor = null) { if (finish == null) { finish = DateTime.Now; } if (start == null) { start = finish.Value.AddDays(-10); } var builds = new List <Build>(); foreach (var x in _myProjects) { try { var projectBuilds = _client.GetBuildsAsync(x, minFinishTime: start, maxFinishTime: finish, resultFilter: result, requestedFor: actor) .Result; builds.AddRange(projectBuilds); } catch (AggregateException e) when(e.InnerException is VssServiceResponseException ex) { Trace.WriteLine($"{nameof(BuildSearcher)}.{nameof(FindCompletedBuilds)}: Not enough privileges"); } }
private static async Task <IEnumerable <Build> > GetBuildsFromTFSAsync(BuildHttpClient buildClient, List <BuildDefinitionReference> definitions, CancellationToken cancellationToken, BuildResult?resultFilter = null) { IEnumerable <Build> builds = await GetBuildsFromTFSByBranchAsync(buildClient, definitions, Options.BranchName, resultFilter, cancellationToken); builds = builds.Concat(await GetBuildsFromTFSByBranchAsync(buildClient, definitions, "refs/heads/" + Options.BranchName, resultFilter, cancellationToken)); return(builds); }
private static async Task <List <Build> > GetBuildsFromTFSByBranchAsync(BuildHttpClient buildClient, List <BuildDefinitionReference> definitions, string branchName, BuildResult?resultFilter, CancellationToken cancellationToken) { return(await buildClient.GetBuildsAsync( project : Options.TFSProjectName, definitions : definitions.Select(d => d.Id), branchName : branchName, statusFilter : BuildStatus.Completed, resultFilter : resultFilter, cancellationToken : cancellationToken)); }
private static async Task <Build> GetLatestBuildAsync(CancellationToken cancellationToken, BuildResult?resultFilter = null) { var buildClient = ProjectCollection.GetClient <BuildHttpClient>(); var definitions = await buildClient.GetDefinitionsAsync(project : Options.TFSProjectName, name : Options.BuildQueueName); var builds = await GetBuildsFromTFSAsync(buildClient, definitions, cancellationToken, resultFilter); return((await GetInsertableBuildsAsync(buildClient, cancellationToken, from build in builds orderby build.FinishTime descending select build)).FirstOrDefault()); }
public Microsoft.TeamFoundation.Build.Server.BuildStatus ConvertBuildStatus(BuildStatus?status, BuildResult?result) { if (!status.HasValue) { return(Microsoft.TeamFoundation.Build.Server.BuildStatus.NotStarted); } BuildStatus value = status.Value; switch (value) { case BuildStatus.None: return(Microsoft.TeamFoundation.Build.Server.BuildStatus.None); case BuildStatus.InProgress: return(Microsoft.TeamFoundation.Build.Server.BuildStatus.InProgress); case BuildStatus.Completed: return(this.ConvertBuildResult(result)); case (BuildStatus)3: case (BuildStatus)5: case (BuildStatus)6: case (BuildStatus)7: break; case BuildStatus.Cancelling: return(Microsoft.TeamFoundation.Build.Server.BuildStatus.Stopped); case BuildStatus.Postponed: return(Microsoft.TeamFoundation.Build.Server.BuildStatus.NotStarted); default: if (value == BuildStatus.NotStarted) { return(Microsoft.TeamFoundation.Build.Server.BuildStatus.NotStarted); } break; } return(Microsoft.TeamFoundation.Build.Server.BuildStatus.NotStarted); }