Example #1
0
        /// <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)));
        }
Example #2
0
        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);
        }
Example #3
0
 public Task <LaunchResponse> MergeAsync(MergeLaunchesRequest model)
 {
     throw new NotImplementedException();
 }
Example #4
0
 public async Task <LaunchResponse> MergeAsync(MergeLaunchesRequest request)
 {
     return(await PostAsJsonAsync <LaunchResponse, MergeLaunchesRequest>($"{ProjectName}/launch/merge", request));
 }