Exemplo n.º 1
0
        public async Task <Ticket> GetTicketAsync(string ticketId, ExpectedResultEnum expectedFacadeResult)
        {
            BllContract.Require(nameof(expectedFacadeResult), expectedFacadeResult, x => x != ExpectedResultEnum.ContractException);
            var ticket = await _dalClient.GetTicketAsync(ticketId, expectedFacadeResult);

            return(ticket);
        }
Exemplo n.º 2
0
 public async Task <Ticket> GetTicketAsync(string ticketId, ExpectedResultEnum expectedFacadeResult)
 {
     try
     {
         return(await GetTicketAsyncInternal(ticketId, expectedFacadeResult));
     }
     catch (FulcrumException fulcrumException)
     {
         throw Converter.FromDalToBll(fulcrumException, ServerName);
     }
 }
Exemplo n.º 3
0
        private Ticket GetTicketWithExceptions(string ticketId, ExpectedResultEnum expectedFacadeResult)
        {
            FulcrumException fulcrumException = null;

            switch (expectedFacadeResult)
            {
            case ExpectedResultEnum.Ok:
                return(new Ticket
                {
                    Id = ticketId
                });

            case ExpectedResultEnum.BusinessRuleException:
                fulcrumException = new BusinessRuleException("Business rule exception");
                break;

            case ExpectedResultEnum.ConflictException:
                fulcrumException = new ConflictException("Conflict exception");
                break;

            case ExpectedResultEnum.ServerContractException:
                fulcrumException = new ServerContractException("Contract exception");
                break;

            case ExpectedResultEnum.NotFoundException:
                fulcrumException = new NotFoundException("Not found exception");
                break;

            case ExpectedResultEnum.UnauthorizedException:
                fulcrumException = new UnauthorizedException("Unauthorized exception");
                break;

            case ExpectedResultEnum.AssertionFailedException:
                fulcrumException = new AssertionFailedException("Assertion failed exception");
                break;

            case ExpectedResultEnum.NotImplementedException:
                fulcrumException = new NotImplementedException("Not implemented exception");
                break;

            case ExpectedResultEnum.TryAgainException:
                fulcrumException = new TryAgainException("Try again exception");
                break;

            default:
                fulcrumException = new AssertionFailedException($"Unexpected switch value: {expectedFacadeResult}");
                break;
            }
            // This is to be able to test that the properties are copied all the way back to the test case.
            fulcrumException.Code = fulcrumException.InstanceId;
            throw fulcrumException;
        }
Exemplo n.º 4
0
        private async Task <Ticket> GetTicketAsyncInternal(string ticketId, ExpectedResultEnum expectedFacadeResult)
        {
            var response  = _ticketFacadeClient.GetTicket(ticketId, expectedFacadeResult);
            var exception = await Converter.ToFulcrumExceptionAsync(response);

            if (exception != null)
            {
                throw exception;
            }
            var s = await response.Content.ReadAsStringAsync();

            var json   = JObject.Parse(s);
            var ticket = json.ToObject <Ticket>();

            return(ticket);
        }
Exemplo n.º 5
0
        public HttpResponseMessage GetTicket(string ticketId, ExpectedResultEnum expectedFacadeResult)
        {
            HttpResponseMessage response;

            try
            {
                var ticket = GetTicketWithExceptions(ticketId, expectedFacadeResult);
                var json   = JObject.FromObject(ticket);
                response = new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new StringContent(json.ToString(Formatting.Indented), Encoding.UTF8,
                                                "application/json")
                };
            }
            catch (System.Exception e)
            {
                response = Converter.ToHttpResponseMessage(e, true);
            }
            return(response);
        }