Пример #1
0
        public void UpdateIssueQuery(string IssID, UpdateIssue updatedIssue /*IDictionary<string, string> myFilter*/)
        {
            //добавить здесь избавление от null
            foreach (Issue myIss in myIssues.issues)
            {
                if (myIss.ID.Equals(IssID))
                {
                    if (updatedIssue.assigned_to_id == null)
                    {
                        updatedIssue.assigned_to_id = myIss.Assigned_to.ID;
                    }
                    if (updatedIssue.done_ratio == null)
                    {
                        updatedIssue.done_ratio = myIss.Done_ratio;
                    }
                    if (updatedIssue.priority_id == null)
                    {
                        updatedIssue.priority_id = myIss.Priority.ID;
                    }
                    if (updatedIssue.status_id == null)
                    {
                        updatedIssue.status_id = myIss.Status.ID;
                    }
                    if (updatedIssue.project_id == null)
                    {
                        updatedIssue.project_id = myIss.Project.ID;
                    }
                }
            }

            RequestIssues.RunPut(IssID, updatedIssue, myLogin, myPassword);
        }
        public async Task update_issue_command_should_update_issue_with_given_data_to()
        {
            var projectId          = "projectKey";
            var epicId             = string.Empty;
            var issueId            = "issueKey";
            var sprintId           = string.Empty;
            var title              = "Title";
            var updatedTitle       = "UpdatedTitle";
            var description        = "description";
            var updatedDescription = "updatedDescription";
            var type        = IssueType.Story;
            var status      = IssueStatus.TODO;
            var storypoints = 0;

            var issue = new Issue(issueId, type, status, title, description, storypoints, projectId, epicId, sprintId, null, null, DateTime.Now);
            await _issuesMongoDbFixture.InsertAsync(issue.AsDocument());

            var command = new UpdateIssue(issueId, type, status, updatedTitle, updatedDescription, storypoints, epicId, null, null);

            // Check if exception is thrown

            _commandHandler
            .Awaiting(c => c.HandleAsync(command))
            .Should().NotThrow();


            var updatedIssue = await _issuesMongoDbFixture.GetAsync(command.IssueId);

            updatedIssue.Should().NotBeNull();
            updatedIssue.Id.Should().Be(issueId);
            updatedIssue.Title.Should().Be(updatedTitle);
            updatedIssue.Description.Should().Be(updatedDescription);
        }
Пример #3
0
        public async Task IssueCRUDTest()
        {
            //Read
            var initCount = (await GetIssues()).Count;

            //Create
            var createCommand = new CreateIssue(
                IssueType.Task,
                "Check Create Task",
                "Task should be created after running command"
                );

            var createdIssue = await CreateIssue(createCommand, initCount);

            //Update
            var updateCommand = new UpdateIssue(
                createdIssue.Id,
                IssueType.Task,
                "Check Update Task",
                "Task should be update after running command"
                );

            await UpdateIssue(updateCommand);

            //Delete
            await DeleteIssue(createdIssue.Id);
        }
Пример #4
0
 protected UpdateStatus Add(string k, string v, UpdateIssue code, UpdateStatus exist)
 {
     if (exist == null)
     {
         exist = new UpdateStatus(code);
     }
     exist.Add(new IssueNotice(k, v));
     return(exist);
 }
Пример #5
0
        public async Task <Unit> Handle(UpdateIssue request, CancellationToken cancellationToken)
        {
            var issue = _mapper.Map <Issue>(request);
            await _repository.UpdateAsync(issue);

            var @event = _mapper.Map <IssueUpdated>(issue);
            await _eventBus.Publish(@event);

            return(Unit.Value);
        }
Пример #6
0
        public async Task Handle(UpdateIssue command, CancellationToken cancellationToken)
        {
            var aggregate = await repository.GetByIdAsync(command.Id, cancellationToken);

            aggregate.Update(command.Type, command.Title, command.Description);
            await repository.UpdateAsync(aggregate, cancellationToken);

            var @event = new IssueUpdated(aggregate.Id, aggregate.Type, aggregate.Title, aggregate.Description);
            await eventBus.PublishAsync(@event, cancellationToken);
        }
Пример #7
0
        public async Task CreateIssueWithNotValidData_ShouldReturnBadRequest()
        {
            var command = new UpdateIssue(
                Guid.Empty,
                IssueType.Task,
                null,
                null
                );

            var response = await _sut.Client.PutAsync($"/api/Issues/{command.Id}", command.ToJsonStringContent());

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
        }
        public static void RunPut(string issueID, UpdateIssue updatedIssue, string Login, string Password)
        {
            String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(Login + ":" + Password));

            HttpClient client = new HttpClient();

            //client.DefaultRequestHeaders.Add("X-Redmine-API-Key", "");
            client.DefaultRequestHeaders.Add("Authorization", "Basic " + encoded);

            UriBuilder builder = new UriBuilder("http", "student-rm.exactpro.com", -1, "issues/" + issueID + ".json");

            HttpRequestMessage message = new HttpRequestMessage(HttpMethod.Put, builder.Uri);

            /*message.Content = new StringContent("{\"issue\":{\"status_id\":" + statusID + "}}",
             *                      Encoding.UTF8,
             *                      "application/json");*/


            //message.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            string json = serializer.Serialize(updatedIssue);

            message.Content = new StringContent("{\"issue\":" + json + "}",//{\"project_id\":12, \"subject\": \"Example\",\"priority_id\": 1, \"tracker_id\": 2}}",
                                                Encoding.UTF8,
                                                "application/json");

            Task <HttpResponseMessage> taskResponse = client.SendAsync(message);

            taskResponse.Wait();

            HttpResponseMessage response = taskResponse.Result;

            if (response.IsSuccessStatusCode)
            {
                Task <Stream> streamTask = response.Content.ReadAsStreamAsync();

                streamTask.Wait();

                if (streamTask.IsCompleted)
                {
                    Stream responseStream = streamTask.Result;
                    responseStream.Close();
                }
            }
            else
            {
                Console.WriteLine(" response failed. Response status code: [" + response.StatusCode + "]");
            }
        }
Пример #9
0
        private async Task <IssueView> UpdateIssue(UpdateIssue command)
        {
            var response = await _sut.Client.PutAsync($"/api/Issues/{command.Id}", command.ToJsonStringContent());

            response.EnsureSuccessStatusCode();
            response.StatusCode.Should().Be(HttpStatusCode.OK);

            var issue = await GetIssue(command.Id);

            issue.Should().NotBeNull();
            issue.Id.Should().Be(command.Id);
            issue.Type.Should().Be(command.Type);
            issue.Title.Should().Be(command.Title);
            issue.Description.Should().Be(command.Description);

            return(issue);
        }
        public async Task update_issue_command_fails_when_issue_with_key_does_not_exist()
        {
            var projectId   = "projectKey";
            var epicId      = "epicKey";
            var issueId     = "issueKey";
            var title       = "Title";
            var description = "description";
            var type        = IssueType.Story;
            var status      = IssueStatus.TODO;
            var storypoints = 0;

            var command = new UpdateIssue(issueId, type, status, title, description, storypoints, epicId, null, null);

            // Check if exception is thrown

            _commandHandler
            .Awaiting(c => c.HandleAsync(command))
            .Should().Throw <IssueNotFoundException>();
        }
        public async Task update_issue_command_fails_when_epic_does_not_exist()
        {
            var projectId   = "projectKey";
            var epicId      = "epicKey";
            var issueId     = "issueKey";
            var sprintId    = string.Empty;
            var title       = "Title";
            var description = "description";
            var type        = IssueType.Story;
            var status      = IssueStatus.TODO;
            var storypoints = 0;


            var issue = new Issue(issueId, type, status, title, description, storypoints, projectId, string.Empty, sprintId, null, null, DateTime.Now);
            await _issuesMongoDbFixture.InsertAsync(issue.AsDocument());

            var command = new UpdateIssue(issueId, type, status, title, description, storypoints, epicId, null, null);

            // Check if exception is thrown

            _commandHandler
            .Awaiting(c => c.HandleAsync(command))
            .Should().Throw <EpicNotFoundException>();
        }
Пример #12
0
        public async Task <IActionResult> Put([FromBody] UpdateIssue command)
        {
            await commandBus.SendAsync(command);

            return(Ok());
        }
Пример #13
0
        public async Task <ActionResult <OutputIssue> > Put(Guid projectId, Guid issueId, [FromBody] UpdateIssue updateIssue)
        {
            try
            {
                logger.LogInformation($"Beginning request: /api/projects/{projectId}/issues/{issueId} PUT");
                Issue updatedIssue = await issueManager.UpdateIssueAsync(projectId,
                                                                         issueId,
                                                                         updateIssue.EpicId,
                                                                         updateIssue.IssueType,
                                                                         updateIssue.Name,
                                                                         updateIssue.Description,
                                                                         updateIssue.Status,
                                                                         updateIssue.Estimate);

                OutputIssue output = issueMapper.MapOutputIssue(updatedIssue);
                logger.LogInformation($"Request complete: /api/projects/{projectId}/issues/{issueId} PUT");
                return(Ok(output));
            }
            catch (Exception ex)
            {
                return(exceptionManager.Handle(ex));
            }
        }
Пример #14
0
 public UpdateStatus(UpdateIssue issue)
 {
     this.Issue = issue;
 }
Пример #15
0
 private void SendChangeIssueQuery(string issID, UpdateIssue UpIss)
 {
     _storage.UpdateIssueQuery(issID, UpIss);
 }
Пример #16
0
 public IIssueModel Any(UpdateIssue request)
 {
     return(workflow.Update(request));
 }