public void ExportPolicyDefault () { ConnectionOrientedTransportBindingElement binding_element = new NamedPipeTransportBindingElement (); IPolicyExportExtension export_extension = binding_element as IPolicyExportExtension; PolicyConversionContext conversion_context = new CustomPolicyConversionContext (); export_extension.ExportPolicy (new WsdlExporter (), conversion_context); PolicyAssertionCollection binding_assertions = conversion_context.GetBindingAssertions (); BindingElementCollection binding_elements = conversion_context.BindingElements; Assert.AreEqual (2, binding_assertions.Count, "#A0"); Assert.AreEqual (0, binding_elements.Count, "#A1"); // wsaw:UsingAddressing XmlNode using_addressing_node = FindAssertion (binding_assertions, "wsaw:UsingAddressing"); Assert.AreEqual (true, using_addressing_node != null, "#B0"); Assert.AreEqual ("UsingAddressing", using_addressing_node.LocalName, "#B1"); Assert.AreEqual ("http://www.w3.org/2006/05/addressing/wsdl", using_addressing_node.NamespaceURI, "#B2"); Assert.AreEqual (String.Empty, using_addressing_node.InnerText, "#B3"); Assert.AreEqual (0, using_addressing_node.Attributes.Count, "#B4"); Assert.AreEqual (0, using_addressing_node.ChildNodes.Count, "#B5"); // msb:BinaryEncoding XmlNode binary_encoding_node = FindAssertion (binding_assertions, "msb:BinaryEncoding"); Assert.AreEqual (true, binary_encoding_node != null, "#C0"); Assert.AreEqual ("BinaryEncoding", binary_encoding_node.LocalName, "#C1"); Assert.AreEqual ("http://schemas.microsoft.com/ws/06/2004/mspolicy/netbinary1", binary_encoding_node.NamespaceURI, "#C2"); Assert.AreEqual (String.Empty, binary_encoding_node.InnerText, "#C3"); Assert.AreEqual (0, binary_encoding_node.Attributes.Count, "#C4"); Assert.AreEqual (0, binary_encoding_node.ChildNodes.Count, "#C5"); }
public void ExportPolicyDefault () { MsmqBindingElementBase binding_element = new MsmqTransportBindingElement (); IPolicyExportExtension export_extension = binding_element as IPolicyExportExtension; PolicyConversionContext conversion_context = new CustomPolicyConversionContext (); export_extension.ExportPolicy (new WsdlExporter (), conversion_context); PolicyAssertionCollection binding_assertions = conversion_context.GetBindingAssertions (); BindingElementCollection binding_elements = conversion_context.BindingElements; Assert.AreEqual (4, binding_assertions.Count, "#A0"); Assert.AreEqual (0, binding_elements.Count, "#A1"); // wsaw:UsingAddressing XmlNode using_addressing_node = FindAssertion (binding_assertions, "wsaw:UsingAddressing"); Assert.AreEqual (true, using_addressing_node != null, "#B0"); Assert.AreEqual ("UsingAddressing", using_addressing_node.LocalName, "#B1"); Assert.AreEqual ("http://www.w3.org/2006/05/addressing/wsdl", using_addressing_node.NamespaceURI, "#B2"); Assert.AreEqual (String.Empty, using_addressing_node.InnerText, "#B3"); Assert.AreEqual (0, using_addressing_node.Attributes.Count, "#B4"); Assert.AreEqual (0, using_addressing_node.ChildNodes.Count, "#B5"); // msb:BinaryEncoding XmlNode binary_encoding_node = FindAssertion (binding_assertions, "msb:BinaryEncoding"); Assert.AreEqual (true, binary_encoding_node != null, "#C0"); Assert.AreEqual ("BinaryEncoding", binary_encoding_node.LocalName, "#C1"); Assert.AreEqual ("http://schemas.microsoft.com/ws/06/2004/mspolicy/netbinary1", binary_encoding_node.NamespaceURI, "#C2"); Assert.AreEqual (String.Empty, binary_encoding_node.InnerText, "#C3"); Assert.AreEqual (0, binary_encoding_node.Attributes.Count, "#C4"); Assert.AreEqual (0, binary_encoding_node.ChildNodes.Count, "#C5"); // msmq:Authenticated XmlNode authenticated_node = FindAssertion (binding_assertions, "msmq:Authenticated"); Assert.AreEqual (true, authenticated_node != null, "#D0"); Assert.AreEqual ("Authenticated", authenticated_node.LocalName, "#D1"); Assert.AreEqual ("http://schemas.microsoft.com/ws/06/2004/mspolicy/msmq", authenticated_node.NamespaceURI, "#D2"); Assert.AreEqual (String.Empty, authenticated_node.InnerText, "#D3"); Assert.AreEqual (0, authenticated_node.Attributes.Count, "#D4"); Assert.AreEqual (0, authenticated_node.ChildNodes.Count, "#D5"); // msmq:WindowsDomain XmlNode domain_node = FindAssertion (binding_assertions, "msmq:WindowsDomain"); Assert.AreEqual (true, domain_node != null, "#E0"); Assert.AreEqual ("WindowsDomain", domain_node.LocalName, "#E1"); Assert.AreEqual ("http://schemas.microsoft.com/ws/06/2004/mspolicy/msmq", domain_node.NamespaceURI, "#E2"); Assert.AreEqual (String.Empty, domain_node.InnerText, "#E3"); Assert.AreEqual (0, domain_node.Attributes.Count, "#E4"); Assert.AreEqual (0, domain_node.ChildNodes.Count, "#E5"); }
public void ExportPolicy () { ConnectionOrientedTransportBindingElement binding_element = new NamedPipeTransportBindingElement (); binding_element.ChannelInitializationTimeout = TimeSpan.FromSeconds (3); binding_element.ConnectionBufferSize = binding_element.ConnectionBufferSize / 2; binding_element.HostNameComparisonMode = HostNameComparisonMode.WeakWildcard; binding_element.ManualAddressing = !binding_element.ManualAddressing; binding_element.MaxBufferSize = binding_element.MaxBufferSize / 2; binding_element.MaxBufferPoolSize = binding_element.MaxBufferPoolSize / 2; binding_element.MaxOutputDelay = TimeSpan.FromSeconds (3); binding_element.MaxPendingAccepts = 3; binding_element.MaxPendingConnections = 15; binding_element.MaxReceivedMessageSize = binding_element.MaxReceivedMessageSize / 2; binding_element.TransferMode = TransferMode.Streamed; // Causes an assertion with Streamed* values IPolicyExportExtension export_extension = binding_element as IPolicyExportExtension; PolicyConversionContext conversion_context = new CustomPolicyConversionContext (); export_extension.ExportPolicy (new WsdlExporter (), conversion_context); PolicyAssertionCollection binding_assertions = conversion_context.GetBindingAssertions (); BindingElementCollection binding_elements = conversion_context.BindingElements; Assert.AreEqual (3, binding_assertions.Count, "#A0"); Assert.AreEqual (0, binding_elements.Count, "#A1"); // msf:Streamed XmlNode streamed_node = FindAssertion (binding_assertions, "msf:Streamed"); Assert.AreEqual (true, streamed_node != null, "#B0"); Assert.AreEqual ("Streamed", streamed_node.LocalName, "#B1"); Assert.AreEqual ("http://schemas.microsoft.com/ws/2006/05/framing/policy", streamed_node.NamespaceURI, "#B2"); Assert.AreEqual (String.Empty, streamed_node.InnerText, "#B3"); Assert.AreEqual (0, streamed_node.Attributes.Count, "#B4"); Assert.AreEqual (0, streamed_node.ChildNodes.Count, "#B5"); }
public void ExportPolicy_CustomEncoding_Soap12August2004 () { ConnectionOrientedTransportBindingElement binding_element = new NamedPipeTransportBindingElement (); IPolicyExportExtension export_extension = binding_element as IPolicyExportExtension; PolicyConversionContext conversion_context = new CustomPolicyConversionContext (); conversion_context.BindingElements.Add (new MyMessageEncodingElement (MessageVersion.Soap12WSAddressingAugust2004)); export_extension.ExportPolicy (new WsdlExporter (), conversion_context); PolicyAssertionCollection binding_assertions = conversion_context.GetBindingAssertions (); BindingElementCollection binding_elements = conversion_context.BindingElements; Assert.AreEqual (1, binding_assertions.Count, "#A0"); Assert.AreEqual (1, binding_elements.Count, "#A1"); // UsingAddressing XmlNode using_addressing_node = FindAssertionByLocalName (binding_assertions, "UsingAddressing"); Assert.AreEqual (true, using_addressing_node != null, "#B0"); Assert.AreEqual ("UsingAddressing", using_addressing_node.LocalName, "#B1"); Assert.AreEqual ("http://schemas.xmlsoap.org/ws/2004/08/addressing/policy", using_addressing_node.NamespaceURI, "#B2"); Assert.AreEqual (String.Empty, using_addressing_node.InnerText, "#B3"); Assert.AreEqual (0, using_addressing_node.Attributes.Count, "#B4"); Assert.AreEqual (0, using_addressing_node.ChildNodes.Count, "#B5"); }
public void ExportPolicy_CustomEncoding_Soap12 () { ConnectionOrientedTransportBindingElement binding_element = new NamedPipeTransportBindingElement (); IPolicyExportExtension export_extension = binding_element as IPolicyExportExtension; PolicyConversionContext conversion_context = new CustomPolicyConversionContext (); conversion_context.BindingElements.Add (new MyMessageEncodingElement (MessageVersion.Soap12)); export_extension.ExportPolicy (new WsdlExporter (), conversion_context); PolicyAssertionCollection binding_assertions = conversion_context.GetBindingAssertions (); BindingElementCollection binding_elements = conversion_context.BindingElements; Assert.AreEqual (0, binding_assertions.Count, "#A0"); Assert.AreEqual (1, binding_elements.Count, "#A1"); }
public void ExportPolicy () { HttpTransportBindingElement http_binding_element = new HttpTransportBindingElement (); // // Specify some non-default values // http_binding_element.AllowCookies = !http_binding_element.AllowCookies; http_binding_element.AuthenticationScheme = AuthenticationSchemes.Ntlm; http_binding_element.BypassProxyOnLocal = !http_binding_element.BypassProxyOnLocal; http_binding_element.HostNameComparisonMode = HostNameComparisonMode.WeakWildcard; http_binding_element.KeepAliveEnabled = !http_binding_element.KeepAliveEnabled; http_binding_element.ManualAddressing = !http_binding_element.ManualAddressing; http_binding_element.MaxBufferPoolSize = http_binding_element.MaxBufferPoolSize / 2; http_binding_element.MaxBufferSize = http_binding_element.MaxBufferSize / 2; http_binding_element.MaxReceivedMessageSize = http_binding_element.MaxReceivedMessageSize / 2; http_binding_element.ProxyAddress = new Uri ("http://proxyaddress.com"); http_binding_element.ProxyAuthenticationScheme = AuthenticationSchemes.Basic; http_binding_element.Realm = "RandomRealm"; http_binding_element.TransferMode = TransferMode.Streamed; http_binding_element.UnsafeConnectionNtlmAuthentication = !http_binding_element.UnsafeConnectionNtlmAuthentication; http_binding_element.UseDefaultWebProxy = !http_binding_element.UseDefaultWebProxy; #if NET_4_0 http_binding_element.DecompressionEnabled = !http_binding_element.DecompressionEnabled; http_binding_element.ExtendedProtectionPolicy = new ExtendedProtectionPolicy (PolicyEnforcement.WhenSupported); #endif // // Actual call to ExportPolicy // IPolicyExportExtension binding_element = http_binding_element as IPolicyExportExtension; PolicyConversionContext conversion_context = new CustomPolicyConversionContext (); binding_element.ExportPolicy (new WsdlExporter (), conversion_context); PolicyAssertionCollection binding_assertions = conversion_context.GetBindingAssertions (); BindingElementCollection binding_elements = conversion_context.BindingElements; Assert.AreEqual (2, binding_assertions.Count, "#A0"); Assert.AreEqual (0, binding_elements.Count, "#A1"); // AuthenticationScheme - the only property that causes information to be exported. XmlNode authentication_node = FindAssertion (binding_assertions, "http:NtlmAuthentication"); Assert.AreEqual (true, authentication_node != null, "#B0"); Assert.AreEqual ("NtlmAuthentication", authentication_node.LocalName, "#B1"); Assert.AreEqual ("http://schemas.microsoft.com/ws/06/2004/policy/http", authentication_node.NamespaceURI, "#B2"); Assert.AreEqual (String.Empty, authentication_node.InnerText, "#B3"); Assert.AreEqual (0, authentication_node.Attributes.Count, "#B4"); }
public void ExportPolicyDefault () { IPolicyExportExtension binding_element = new HttpTransportBindingElement (); PolicyConversionContext conversion_context = new CustomPolicyConversionContext (); binding_element.ExportPolicy (new WsdlExporter (), conversion_context); PolicyAssertionCollection binding_assertions = conversion_context.GetBindingAssertions (); BindingElementCollection binding_elements = conversion_context.BindingElements; Assert.AreEqual (1, binding_assertions.Count, "#A0"); Assert.AreEqual (0, binding_elements.Count, "#A1"); // wsaw:UsingAddressing XmlNode using_addressing_node = FindAssertion (binding_assertions, "wsaw:UsingAddressing"); Assert.AreEqual (true, using_addressing_node != null, "#B0"); Assert.AreEqual ("UsingAddressing", using_addressing_node.LocalName, "#B1"); Assert.AreEqual ("http://www.w3.org/2006/05/addressing/wsdl", using_addressing_node.NamespaceURI, "#B2"); Assert.AreEqual (0, using_addressing_node.Attributes.Count, "#B3"); Assert.AreEqual (0, using_addressing_node.ChildNodes.Count, "#B4"); Assert.AreEqual (String.Empty, using_addressing_node.InnerText, "#B5"); }
public void ExportPolicy () { MsmqBindingElementBase binding_element = new MsmqTransportBindingElement (); binding_element.CustomDeadLetterQueue = new Uri ("msmq://custom"); binding_element.DeadLetterQueue = DeadLetterQueue.Custom; binding_element.Durable = !binding_element.Durable; // Volatile binding_element.ExactlyOnce = !binding_element.ExactlyOnce; // BestEffort binding_element.ManualAddressing = !binding_element.ManualAddressing; binding_element.MaxBufferPoolSize = binding_element.MaxBufferPoolSize / 2; binding_element.MaxReceivedMessageSize = binding_element.MaxReceivedMessageSize / 2; binding_element.MaxRetryCycles = binding_element.MaxRetryCycles / 2; binding_element.ReceiveRetryCount = 10; binding_element.ReceiveErrorHandling = ReceiveErrorHandling.Reject; binding_element.RetryCycleDelay = TimeSpan.FromSeconds (5); binding_element.TimeToLive = TimeSpan.FromSeconds (60); binding_element.UseMsmqTracing = !binding_element.UseMsmqTracing; binding_element.UseSourceJournal = !binding_element.UseSourceJournal; // This ones haven't been implemented yet, so comment them for now. //binding_element.ReceiveContextEnabled = !binding_element.ReceiveContextEnabled; //binding_element.ValidityDuration = TimeSpan.FromSeconds (30); binding_element.MsmqTransportSecurity.MsmqAuthenticationMode = MsmqAuthenticationMode.Certificate; binding_element.MsmqTransportSecurity.MsmqEncryptionAlgorithm = MsmqEncryptionAlgorithm.Aes; binding_element.MsmqTransportSecurity.MsmqProtectionLevel = ProtectionLevel.EncryptAndSign; binding_element.MsmqTransportSecurity.MsmqSecureHashAlgorithm = MsmqSecureHashAlgorithm.Sha256; IPolicyExportExtension export_extension = binding_element as IPolicyExportExtension; PolicyConversionContext conversion_context = new CustomPolicyConversionContext (); export_extension.ExportPolicy (new WsdlExporter (), conversion_context); PolicyAssertionCollection binding_assertions = conversion_context.GetBindingAssertions (); BindingElementCollection binding_elements = conversion_context.BindingElements; Assert.AreEqual (5, binding_assertions.Count, "#A0"); Assert.AreEqual (0, binding_elements.Count, "#A1"); // msmq:MsmqVolatile XmlNode volatile_node = FindAssertion (binding_assertions, "msmq:MsmqVolatile"); Assert.AreEqual (true, volatile_node != null, "#B0"); Assert.AreEqual ("MsmqVolatile", volatile_node.LocalName, "#B1"); Assert.AreEqual ("http://schemas.microsoft.com/ws/06/2004/mspolicy/msmq", volatile_node.NamespaceURI, "#B2"); Assert.AreEqual (String.Empty, volatile_node.InnerText, "#B3"); Assert.AreEqual (0, volatile_node.Attributes.Count, "#B4"); Assert.AreEqual (0, volatile_node.ChildNodes.Count, "#B5"); // msmq:MsmqBestEffort XmlNode best_effort_node = FindAssertion (binding_assertions, "msmq:MsmqBestEffort"); Assert.AreEqual (true, best_effort_node != null, "#C0"); Assert.AreEqual ("MsmqBestEffort", best_effort_node.LocalName, "#C1"); Assert.AreEqual ("http://schemas.microsoft.com/ws/06/2004/mspolicy/msmq", best_effort_node.NamespaceURI, "#C2"); Assert.AreEqual (String.Empty, best_effort_node.InnerText, "#C3"); Assert.AreEqual (0, best_effort_node.Attributes.Count, "#C4"); Assert.AreEqual (0, best_effort_node.ChildNodes.Count, "#C5"); // Setting MsmqTransportSecurity.MsmqAuthenticationMode to a value other than WindowsDomain // causes the removal of the WindowsDomain policy. XmlNode domain_node = FindAssertion (binding_assertions, "msmq:WindowsDomain"); Assert.AreEqual (true, domain_node == null, "#D0"); }