public void CanCreatePoliciesForHandler() { ExceptionPolicyData exceptionPolicyData = new ExceptionPolicyData("policy"); settings.ExceptionPolicies.Add(exceptionPolicyData); ExceptionTypeData exceptionTypeData = new ExceptionTypeData("type1", typeof(Exception), PostHandlingAction.ThrowNewException); exceptionPolicyData.ExceptionTypes.Add(exceptionTypeData); FaultContractExceptionHandlerData exceptionHandlerData = new FaultContractExceptionHandlerData("handler1", typeof(MockFaultContract).AssemblyQualifiedName); exceptionHandlerData.ExceptionMessage = "fault message"; exceptionHandlerData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("Message", "{Message}")); exceptionHandlerData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("Data", "{Data}")); exceptionHandlerData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("SomeNumber", "{OffendingNumber}")); exceptionTypeData.ExceptionHandlers.Add(exceptionHandlerData); var manager = settings.BuildExceptionManager(); NotFiniteNumberException originalException = new NotFiniteNumberException("MyException", 12341234123412); originalException.Data.Add("someKey", "someValue"); try { manager.HandleException(originalException, "policy"); Assert.Fail("a new exception should have been thrown"); } catch (FaultContractWrapperException e) { MockFaultContract fault = (MockFaultContract)e.FaultContract; Assert.AreEqual(originalException.Message, fault.Message); Assert.AreEqual(originalException.Data.Count, fault.Data.Count); Assert.AreEqual(originalException.Data["someKey"], fault.Data["someKey"]); Assert.AreEqual(originalException.OffendingNumber, fault.SomeNumber); } }
protected override void Arrange() { configuration = new FaultContractExceptionHandlerData("wcf", typeof(MockFaultContract).AssemblyQualifiedName) { ExceptionMessage = ErrorMessage }; }
protected override void Arrange() { configuration = new FaultContractExceptionHandlerData("wcf", typeof(MockFaultContract).AssemblyQualifiedName) { ExceptionMessageResourceName = "WcfMessageResource", ExceptionMessageResourceType = typeof(Resources).AssemblyQualifiedName }; }
public ExceptionConfigurationLoggingProviderBuilder(IExceptionConfigurationForExceptionTypeOrPostHandling context, Type faultContractType, string faultContractMessage) :base(context) { shieldingHandling = new FaultContractExceptionHandlerData { Name = faultContractType.FullName, FaultContractType = faultContractType.AssemblyQualifiedName, ExceptionMessage = faultContractMessage }; base.CurrentExceptionTypeData.ExceptionHandlers.Add(shieldingHandling); }
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); }
static ExceptionHandlingSettings CreateSettings() { FaultContractExceptionHandlerData logData = new FaultContractExceptionHandlerData("test"); logData.FaultContractType = typeof(object).AssemblyQualifiedName; logData.ExceptionMessage = "my exception message"; logData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("property1", "source1")); logData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("property2", "source2")); ExceptionTypeData typeData = new ExceptionTypeData("test", typeof(Exception), PostHandlingAction.None); typeData.ExceptionHandlers.Add(logData); ExceptionPolicyData policy = new ExceptionPolicyData("test"); policy.ExceptionTypes.Add(typeData); ExceptionHandlingSettings settings = new ExceptionHandlingSettings(); settings.ExceptionPolicies.Add(policy); return settings; }
public void CanCreatePoliciesForHandler() { ExceptionPolicyData exceptionPolicyData = new ExceptionPolicyData("policy"); settings.ExceptionPolicies.Add(exceptionPolicyData); ExceptionTypeData exceptionTypeData = new ExceptionTypeData("type1", typeof(Exception), PostHandlingAction.ThrowNewException); exceptionPolicyData.ExceptionTypes.Add(exceptionTypeData); FaultContractExceptionHandlerData exceptionHandlerData = new FaultContractExceptionHandlerData("handler1", typeof(MockFaultContract).AssemblyQualifiedName); exceptionHandlerData.ExceptionMessage = "fault message"; exceptionHandlerData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("Message", "{Message}")); exceptionHandlerData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("Data", "{Data}")); exceptionHandlerData.PropertyMappings.Add(new FaultContractExceptionHandlerMappingData("SomeNumber", "{OffendingNumber}")); exceptionTypeData.ExceptionHandlers.Add(exceptionHandlerData); using(var container = new UnityContainer() .AddExtension(new EnterpriseLibraryCoreExtension(configurationSource))) { ExceptionPolicyImpl policy = container.Resolve<ExceptionPolicyImpl>("policy"); NotFiniteNumberException originalException = new NotFiniteNumberException("MyException", 12341234123412); originalException.Data.Add("someKey", "someValue"); try { policy.HandleException(originalException); Assert.Fail("a new exception should have been thrown"); } catch (FaultContractWrapperException e) { MockFaultContract fault = (MockFaultContract)e.FaultContract; Assert.AreEqual(originalException.Message, fault.Message); Assert.AreEqual(originalException.Data.Count, fault.Data.Count); Assert.AreEqual(originalException.Data["someKey"], fault.Data["someKey"]); Assert.AreEqual(originalException.OffendingNumber, fault.SomeNumber); } } }
protected override void Arrange() { this.configuration = new FaultContractExceptionHandlerData("wcf", typeof(MockFaultContract).AssemblyQualifiedName); }
protected override void Arrange() { configuration = new FaultContractExceptionHandlerData("wcf") { ExceptionMessage = ErrorMessage }; }
protected override void Arrange() { configuration = new FaultContractExceptionHandlerData(); }
public void ShouldReturnTypeRegistration() { var handlerData = new FaultContractExceptionHandlerData("name", typeof(object).AssemblyQualifiedName) { ExceptionMessage = "message" }; handlerData.Attributes["foo"] = "bar"; var registration = handlerData.GetRegistrations("prefix").First(); registration .AssertForServiceType(typeof(IExceptionHandler)) .ForName("prefix.name") .ForImplementationType(typeof(FaultContractExceptionHandler)); NameValueCollection attributes; IStringResolver resolver; registration .AssertConstructor() .WithValueConstructorParameter(out resolver) .WithValueConstructorParameter(typeof(object)) .WithValueConstructorParameter(out attributes) .VerifyConstructorParameters(); CollectionAssert.AreEquivalent(handlerData.Attributes, attributes); }