public void CanHandleSimpleException()
        {
            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), new NameValueCollection());
            Exception result = instance.HandleException(new Exception(), Guid.NewGuid());

            Assert.IsTrue(result is FaultContractWrapperException);
            Assert.IsNotNull(((FaultContractWrapperException)result).FaultContract);
            Assert.IsTrue(((FaultContractWrapperException)result).FaultContract is MockFaultContract);
        }
        public void CanInjectGuidAttributesIntoFaultContract()
        {
            NameValueCollection attributes = new NameValueCollection();
            attributes.Add("Id", "{Guid}");
            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes);
            Guid id = Guid.NewGuid();
            FaultContractWrapperException result = (FaultContractWrapperException)instance.HandleException(new Exception(), id);

            Assert.AreEqual(id, ((MockFaultContract)result.FaultContract).Id);
        }
        public void CannotInjectInvalidPropertyNameIntoFaultContract()
        {
            NameValueCollection attributes = new NameValueCollection();
            attributes.Add("Message", "{Invalid}");
            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes);
            Exception exception = new Exception("MyException");
            FaultContractWrapperException result = (FaultContractWrapperException)instance.HandleException(exception, Guid.NewGuid());

            Assert.IsTrue(string.IsNullOrEmpty(((MockFaultContract)result.FaultContract).Message));
        }
        public void CanInjectInvalidPropertyValueIntoFaultContract()
        {
            NameValueCollection attributes = new NameValueCollection();

            attributes.Add("Invalid", "{Message}");
            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes);
            Exception exception = new Exception("MyException");
            FaultContractWrapperException result = (FaultContractWrapperException)instance.HandleException(exception, Guid.NewGuid());

            Assert.AreEqual(exception.Message, ((MockFaultContract)result.FaultContract).Message);
        }
        public void CanInjectInvalidPropertyValueIntoCustomPropertyFaultContract()
        {
            NameValueCollection attributes = new NameValueCollection();

            attributes.Add("Invalid", "{OffendingNumber}");
            FaultContractExceptionHandler instance  = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes);
            NotFiniteNumberException      exception = new NotFiniteNumberException("MyException", 1231254);
            FaultContractWrapperException result    = (FaultContractWrapperException)instance.HandleException(exception, Guid.NewGuid());

            Assert.AreEqual((double)0, ((MockFaultContract)result.FaultContract).SomeNumber);
        }
        public void CanInjectGuidAttributesIntoFaultContract()
        {
            NameValueCollection attributes = new NameValueCollection();

            attributes.Add("Id", "{Guid}");
            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes);
            Guid id = Guid.NewGuid();
            FaultContractWrapperException result = (FaultContractWrapperException)instance.HandleException(new Exception(), id);

            Assert.AreEqual(id, ((MockFaultContract)result.FaultContract).Id);
        }
        public void CannotInjectInvalidPropertyNameIntoFaultContract()
        {
            NameValueCollection attributes = new NameValueCollection();

            attributes.Add("Message", "{Invalid}");
            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes);
            Exception exception = new Exception("MyException");
            FaultContractWrapperException result = (FaultContractWrapperException)instance.HandleException(exception, Guid.NewGuid());

            Assert.IsTrue(string.IsNullOrEmpty(((MockFaultContract)result.FaultContract).Message));
        }
Esempio n. 8
0
        public void CanPreventFieldMapping()
        {
            NameValueCollection attributes = new NameValueCollection();

            attributes.Add("Message", "");
            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes);
            Exception exception = new Exception("Should not copy this message");
            FaultContractWrapperException result =
                (FaultContractWrapperException)instance.HandleException(exception, Guid.NewGuid());

            Assert.IsNull(((MockFaultContract)result.FaultContract).Message);
        }
        public IExceptionHandler Assemble(IBuilderContext context,
                                          ExceptionHandlerData objectConfiguration,
                                          IConfigurationSource configurationSource,
                                          ConfigurationReflectionCache reflectionCache)
        {
            FaultContractExceptionHandlerData castedObjectConfiguration
                = (FaultContractExceptionHandlerData)objectConfiguration;
            FaultContractExceptionHandler createdObject
                = new FaultContractExceptionHandler(
                      Type.GetType(castedObjectConfiguration.FaultContractType),
                      castedObjectConfiguration.ExceptionMessage,
                      castedObjectConfiguration.Attributes);

            return(createdObject);
        }
        public void CanInjectAttributesIntoFaultContract()
        {
            NameValueCollection attributes = new NameValueCollection();
            attributes.Add("Message", "{Message}");
            attributes.Add("Data", "{Data}");
            attributes.Add("SomeNumber", "{OffendingNumber}");

            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes);
            NotFiniteNumberException exception = new NotFiniteNumberException("MyException", 12341234123412);
            exception.Data.Add("someKey", "someValue");
            FaultContractWrapperException result = (FaultContractWrapperException)instance.HandleException(exception, Guid.NewGuid());

            MockFaultContract fault = (MockFaultContract)result.FaultContract;
            Assert.AreEqual(exception.Message, fault.Message);
            Assert.AreEqual(exception.Data.Count, fault.Data.Count);
            Assert.AreEqual(exception.Data["someKey"], fault.Data["someKey"]);
            Assert.AreEqual(exception.OffendingNumber, fault.SomeNumber);
        }
Esempio n. 11
0
        public void CanInjectAttributesIntoFaultContract()
        {
            NameValueCollection attributes = new NameValueCollection();

            attributes.Add("Message", "{Message}");
            attributes.Add("Data", "{Data}");
            attributes.Add("SomeNumber", "{OffendingNumber}");

            FaultContractExceptionHandler instance  = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes);
            NotFiniteNumberException      exception = new NotFiniteNumberException("MyException", 12341234123412);

            exception.Data.Add("someKey", "someValue");
            FaultContractWrapperException result = (FaultContractWrapperException)instance.HandleException(exception, Guid.NewGuid());

            MockFaultContract fault = (MockFaultContract)result.FaultContract;

            Assert.AreEqual(exception.Message, fault.Message);
            Assert.AreEqual(exception.Data.Count, fault.Data.Count);
            Assert.AreEqual(exception.Data["someKey"], fault.Data["someKey"]);
            Assert.AreEqual(exception.OffendingNumber, fault.SomeNumber);
        }
Esempio n. 12
0
        public void CanCreateInstance()
        {
            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), null);

            Assert.IsNotNull(instance);
        }
Esempio n. 13
0
 public void ThrowOnNullFaultContractType()
 {
     FaultContractExceptionHandler instance = new FaultContractExceptionHandler(null, null);
 }
 public void CanPreventFieldMapping()
 {
     NameValueCollection attributes = new NameValueCollection();
     attributes.Add("Message", "");
     FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes);
     Exception exception = new Exception("Should not copy this message");
     FaultContractWrapperException result =
         (FaultContractWrapperException)instance.HandleException(exception, Guid.NewGuid());
     Assert.IsNull(((MockFaultContract)result.FaultContract).Message);
 }
Esempio n. 15
0
        public void ThrowOnFaultContractWithNoDefaultConstructor()
        {
            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContractNoDefaultCtor), new NameValueCollection());

            instance.HandleException(new Exception(), Guid.NewGuid());
        }
        public void CanInjectInvalidPropertyValueIntoCustomPropertyFaultContract()
        {
            NameValueCollection attributes = new NameValueCollection();
            attributes.Add("Invalid", "{OffendingNumber}");
            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes);
            NotFiniteNumberException exception = new NotFiniteNumberException("MyException", 1231254);
            FaultContractWrapperException result = (FaultContractWrapperException)instance.HandleException(exception, Guid.NewGuid());

            Assert.AreEqual((double)0, ((MockFaultContract)result.FaultContract).SomeNumber);
        }
        public void CanInjectInvalidPropertyValueIntoFaultContract()
        {
            NameValueCollection attributes = new NameValueCollection();
            attributes.Add("Invalid", "{Message}");
            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), attributes);
            Exception exception = new Exception("MyException");
            FaultContractWrapperException result = (FaultContractWrapperException)instance.HandleException(exception, Guid.NewGuid());

            Assert.AreEqual(exception.Message, ((MockFaultContract)result.FaultContract).Message);
        }
 public void ThrowOnFaultContractWithNoDefaultConstructor()
 {
     FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContractNoDefaultCtor), new NameValueCollection());
     instance.HandleException(new Exception(), Guid.NewGuid());
 }
        public void ShouldGetReplacedExceptionMessage()
        {
            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), "NewValue", null);
            Exception exception = new Exception("MyException");
            FaultContractWrapperException result = (FaultContractWrapperException)instance.HandleException(exception, Guid.NewGuid());

            Assert.AreEqual("NewValue", result.Message);
        }
        public void ShouldGetReplacedExceptionMessageWithGuid()
        {
            FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), "NewValue: {handlingInstanceID}", null);
            Exception exception = new Exception("MyException");
            Guid guid = Guid.NewGuid();
            FaultContractWrapperException result = (FaultContractWrapperException)instance.HandleException(exception, guid);

            Assert.IsTrue(result.Message.Contains(guid.ToString()));
        }
 public void CanCreateInstance()
 {
     FaultContractExceptionHandler instance = new FaultContractExceptionHandler(typeof(MockFaultContract), null);
     Assert.IsNotNull(instance);
 }
 public void ThrowOnNullFaultContractType()
 {
     FaultContractExceptionHandler instance = new FaultContractExceptionHandler(null, null);
 }