Esempio n. 1
0
        private Type GetExceptionTypeFromFault(RequestFaultException ex)
        {
            var typeName = ex.Fault?.Exceptions?.Select(e => e.ExceptionType).FirstOrDefault();

            if (string.IsNullOrWhiteSpace(typeName))
            {
                return(null);
            }

            try
            {
                return(BuildManager.GetType(typeName, true));
            }
            catch (Exception)
            {
                // we tried
            }

            return(null);
        }
        public void GetNextDigitalisierungsauftrag_SQL_Server_not_available_returns_service_not_available()
        {
            // Arrange
            var archiveRecord = new ElasticArchiveRecord
            {
                ProtectionEndDate = new ElasticDateWithYear {
                    Date = new DateTime(1900, 12, 31), Year = 1900
                }
            };
            // Setup specific exception that signals that database is down
            var fe = new FaultEvent <OrderDatabaseNotFoundOrNotRunningException>(new OrderDatabaseNotFoundOrNotRunningException(), new Guid(), null,
                                                                                 new OrderDatabaseNotFoundOrNotRunningException(), null);
            var ex = new RequestFaultException("", fe);

            var controller = ArrangeControllerForGetNextDigitalisierungsauftragWithDigipoolException(ex, archiveRecord);

            // Act
            var auftrag = controller.GetNextDigitalisierungsauftrag().GetAwaiter().GetResult();

            // Assert
            auftrag.Should().BeOfType <NegotiatedContentResult <string> >();
            ((NegotiatedContentResult <string>)auftrag).StatusCode.Should().Be(HttpStatusCode.ServiceUnavailable);
        }