Example #1
0
        public void ShouldHaveCustomErrorType()
        {
            // Arrange
            var fault = new CustomFault();

            // Act
            var type = fault.Type;

            // Assert
            type.Should().Be(ErrorType.CustomError);
        }
        public async Task HandleShouldReturnFailWhenExceptionThrown()
        {
            //Arrange
            var blobStorageMock = new Mock <IBlobStorage>();

            blobStorageMock.Setup(x => x.DownloadFileAsync(It.IsAny <string>())).Throws(new Exception("Test"));
            var blobStorage   = blobStorageMock.Object;
            var mapperMock    = new Mock <IMapper>().Object;
            var query         = new DownloadFileQuery("test");
            var expectedError = new CustomFault
            {
                Message = CustomFailures.DownloadFileFailure
            };

            //Act
            var handler = new DownloadFileQueryHandler(blobStorage, mapperMock);
            var result  = await handler.Handle(query, CancellationToken.None);

            //Assert
            result.IsFailure.Should().BeTrue();
            result.Failures.Should().ContainEquivalentOf(expectedError);
        }
Example #3
0
 public ucEditJobs(CustomFault customFault) : this()
 {
     _customFault = customFault;
     Load        += UcEditJobs_Load;
 }
Example #4
0
 public frmEditJob(CustomFault customFault) : this()
 {
     _customFault = customFault;
     Load        += FrmEditJob_Load;
 }
        /// <summary>
        /// Writes the log message to register Log4Net appenders in config file.
        /// </summary>
        /// <param name="fault">The fault.</param>
        /// <param name="logType">Type of the log.</param>
        /// <returns></returns>
        private Guid WriteLog(CustomFault fault, LogMessageTypes logType)
        {
            //Hp --> Logic: Break if we are debugging the code
            if ((Debugger.IsAttached) &&
                ((logType == LogMessageTypes.Error) || (logType == LogMessageTypes.Fatal)))
            {
                Debugger.Break();
            }

            var isSuccess = false;
            var ticketId  = Guid.Empty;

            if (fault == null)
            {
                return(ticketId);
            }

            try
            {
                fault.LogType = logType;
                switch (fault.LogType)
                {
                case LogMessageTypes.None:
                    break;

                case LogMessageTypes.Debug:
                {
                    if (log4NetBuilder.IsDebugEnabled)
                    {
                        log4NetBuilder.Debug(fault);
                        isSuccess = true;
                    }
                }
                break;

                case LogMessageTypes.Error:
                {
                    if (log4NetBuilder.IsErrorEnabled)
                    {
                        log4NetBuilder.Error(fault);
                        isSuccess = true;
                    }
                }
                break;

                case LogMessageTypes.Fatal:
                {
                    if (log4NetBuilder.IsFatalEnabled)
                    {
                        log4NetBuilder.Fatal(fault);
                        isSuccess = true;
                    }
                }
                break;

                case LogMessageTypes.Warning:
                {
                    if (log4NetBuilder.IsWarnEnabled)
                    {
                        log4NetBuilder.Warn(fault);
                        isSuccess = true;
                    }
                }
                break;

                case LogMessageTypes.Information:
                {
                    if (log4NetBuilder.IsInfoEnabled)
                    {
                        log4NetBuilder.Info(fault);
                        isSuccess = true;
                    }
                }
                break;

                default:
                {
                    isSuccess = false;
                }
                break;
                }
            }
            catch
            {
                isSuccess = false;
            }
            finally
            {
                if (!isSuccess)
                {
                    //Hp --> Logic: If log4Net fails to write then return empty ticket id.
                    fault.TicketNumber = Guid.Empty;
                }

                ticketId = fault.TicketNumber;
                if (fault.IsNotifyUser)
                {
                    //Hp --> Logic: Shows generic error message to user.
                    throw new FaultException <CustomFault>(fault, fault.Reason);
                }
            }

            return(ticketId);
        }
 /// <summary>
 /// Informations the specified message.
 /// </summary>
 /// <param name="fault">The fault.</param>
 /// <returns></returns>
 public Guid Information(CustomFault fault) => WriteLog(fault, LogMessageTypes.Information);
 /// <summary>
 /// Warnings the specified message.
 /// </summary>
 /// <param name="fault">The fault.</param>
 /// <returns></returns>
 public Guid Warning(CustomFault fault) => WriteLog(fault, LogMessageTypes.Warning);
 /// <summary>
 /// Fatals the specified message.
 /// </summary>
 /// <param name="fault">The fault.</param>
 /// <returns></returns>
 public Guid Fatal(CustomFault fault) => WriteLog(fault, LogMessageTypes.Fatal);
 /// <summary>
 /// Errors the specified message and exception.
 /// </summary>
 /// <param name="fault">The fault.</param>
 public Guid Error(CustomFault fault) => WriteLog(fault, LogMessageTypes.Error);
 /// <summary>
 /// Debugs the specified message and exception.
 /// </summary>
 /// <param name="fault">The fault.</param>
 public Guid Debug(CustomFault fault) => WriteLog(fault, LogMessageTypes.Debug);