示例#1
0
        public async Task <IActionResult> CreateAuditAsync([FromBody] PublishAuditCommand command, [FromHeader(Name = Constants.XRequest.XRequestIdHeaderName)] string requestId)
        {
            if (Guid.TryParse(requestId, out Guid guid) && guid != Guid.Empty)
            {
                var requestCreateAudit = new IdentifiedCommand <PublishAuditCommand, Result <string> >(command, guid);

                _logger.LogInformation(
                    "----- Sending command: {CommandName} - ({@Command})",
                    requestCreateAudit.GetGenericTypeName(),
                    requestCreateAudit);

                var commandResult = await _mediator.Send(requestCreateAudit).ConfigureAwait(false);

                if (commandResult.IsFailure)
                {
                    return(BadRequest());
                }
            }
            else
            {
                return(BadRequest(Constants.ErrorMessages.XRequestIdIsMissing));
            }

            return(StatusCode(201));
        }
示例#2
0
        public async Task PostAudit()
        {
            //Arrange
            var publishAuditCommand = new PublishAuditCommand
            {
                SubjectId   = 1,
                Subject     = "Subject",
                ActorId     = 1,
                Actor       = "Actor",
                Description = "Descirption",
                Properties  = "some json string"
            };

            //Act
            var response = await _client.PostAsJsonAsync("/api/v1/audits", publishAuditCommand);

            response.EnsureSuccessStatusCode();

            //Assert
            Assert.AreEqual(HttpStatusCode.Created, response.StatusCode);
        }