/// <summary> /// Merge several launches. /// </summary> /// <param name="request">Request for merging.</param> /// <returns>Returns the model of merged launches.</returns> public virtual async Task <LaunchResponse> MergeAsync(MergeLaunchesRequest request) { var uri = BaseUri.Append($"{ProjectName}/launch/merge"); var body = ModelSerializer.Serialize <MergeLaunchesRequest>(request); var response = await HttpClient.PostAsync(uri, new StringContent(body, Encoding.UTF8, "application/json")).ConfigureAwait(false); response.VerifySuccessStatusCode(); return(ModelSerializer.Deserialize <LaunchResponse>(await response.Content.ReadAsStringAsync().ConfigureAwait(false))); }
public async Task StartFinishDeleteMergedLaunch() { var launch1 = await Service.Launch.StartAsync(new StartLaunchRequest { Name = "StartFinishDeleteLaunch", StartTime = DateTime.UtcNow }); Assert.NotNull(launch1.Uuid); var message = await Service.Launch.FinishAsync(launch1.Uuid, new FinishLaunchRequest { EndTime = DateTime.UtcNow }); Assert.Equal(launch1.Uuid, message.Id); var launch2 = await Service.Launch.StartAsync(new StartLaunchRequest { Name = "StartFinishDeleteLaunch2", StartTime = DateTime.UtcNow }); Assert.NotNull(launch2.Uuid); message = await Service.Launch.FinishAsync(launch2.Uuid, new FinishLaunchRequest { EndTime = DateTime.UtcNow }); Assert.Equal(launch2.Uuid, message.Id); var getLaunch1 = await Service.Launch.GetAsync(launch1.Uuid); var getLaunch2 = await Service.Launch.GetAsync(launch2.Uuid); var mergeRequest = new MergeLaunchesRequest { Name = "MergedLaunch", Launches = new List <long> { getLaunch1.Id, getLaunch2.Id }, MergeType = "BASIC", StartTime = DateTime.UtcNow, EndTime = DateTime.UtcNow }; var mergedLaunch = await Service.Launch.MergeAsync(mergeRequest); Assert.Equal(mergeRequest.StartTime, mergedLaunch.StartTime); Assert.Equal(mergeRequest.EndTime, mergedLaunch.EndTime); var delMessage = await Service.Launch.DeleteAsync(mergedLaunch.Id); Assert.Contains("successfully", delMessage.Info); }
public Task <LaunchResponse> MergeAsync(MergeLaunchesRequest model) { throw new NotImplementedException(); }
public async Task <LaunchResponse> MergeAsync(MergeLaunchesRequest request) { return(await PostAsJsonAsync <LaunchResponse, MergeLaunchesRequest>($"{ProjectName}/launch/merge", request)); }