public void ComputeAdapterNameResolvesActualProtocolTypeNameForWcfCustomAdapter() { var sut = new NamingConventionDouble(); IAdapter adapter = new CustomAdapterFake <NetTcpBindingElement, CustomRLConfig>(); Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomNetTcp")); adapter = new CustomAdapterFake <System.ServiceModel.Configuration.NetMsmqBindingElement, CustomRLConfig>(); Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomNetMsmq")); adapter = new CustomAdapterFake <Be.Stateless.BizTalk.Dsl.Binding.ServiceModel.Configuration.NetMsmqBindingElement, CustomRLConfig>(); Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomNetMsmq")); adapter = new CustomAdapterFake <OracleDBBindingConfigurationElement, CustomRLConfig>(); Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomOracleDB")); adapter = new CustomAdapterFake <SqlAdapterBindingConfigurationElement, CustomRLConfig>(); Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomSql")); adapter = new WcfCustomAdapter.Outbound <CustomBindingElement>(a => a.Binding.Add(new MtomMessageEncodingElement(), new HttpsTransportElement())); Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomHttps")); adapter = new WcfCustomAdapter.Outbound <CustomBindingElement>(a => a.Binding.Add(new TcpTransportElement())); Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomTcp")); adapter = new WcfCustomAdapter.Outbound <CustomBindingElement>(a => a.Binding.Add(new SAPAdapterExtensionElement())); Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomSap")); adapter = new WcfCustomAdapter.Outbound <CustomBindingElement>(a => a.Binding.Add(new SqlAdapterBindingElementExtensionElement())); Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomSql")); // notice that OracleDBAdapterExtensionElement cannot be used because it is internal :( //adapter = new WcfCustomAdapter.Outbound<CustomBindingElement>(a => a.Binding.Add(new OracleDBAdapterExtensionElement())); }
public void ComputeAdapterNameResolvesActualProtocolTypeNameForWcfCustomAdapter() { Skip.IfNot(BizTalkServerGroup.IsConfigured); var sut = new NamingConventionSpy(); IAdapter adapter = new CustomAdapterDummy <NetTcpBindingElement, CustomRLConfig>(); sut.ComputeAdapterNameSpy(adapter).Should().Be("WCF-CustomNetTcp"); adapter = new CustomAdapterDummy <NetMsmqBindingElement, CustomRLConfig>(); sut.ComputeAdapterNameSpy(adapter).Should().Be("WCF-CustomNetMsmq"); adapter = new CustomAdapterDummy <Be.Stateless.BizTalk.Dsl.Binding.ServiceModel.Configuration.NetMsmqBindingElement, CustomRLConfig>(); sut.ComputeAdapterNameSpy(adapter).Should().Be("WCF-CustomNetMsmq"); adapter = new CustomAdapterDummy <OracleDBBindingConfigurationElement, CustomRLConfig>(); sut.ComputeAdapterNameSpy(adapter).Should().Be("WCF-CustomOracleDB"); adapter = new CustomAdapterDummy <SqlAdapterBindingConfigurationElement, CustomRLConfig>(); sut.ComputeAdapterNameSpy(adapter).Should().Be("WCF-CustomSql"); adapter = new WcfCustomAdapter.Outbound <CustomBindingElement>(a => a.Binding.Add(new MtomMessageEncodingElement(), new HttpsTransportElement())); sut.ComputeAdapterNameSpy(adapter).Should().Be("WCF-CustomHttps"); adapter = new WcfCustomAdapter.Outbound <CustomBindingElement>(a => a.Binding.Add(new TcpTransportElement())); sut.ComputeAdapterNameSpy(adapter).Should().Be("WCF-CustomTcp"); adapter = new WcfCustomAdapter.Outbound <CustomBindingElement>(a => a.Binding.Add(new SAPAdapterExtensionElement())); sut.ComputeAdapterNameSpy(adapter).Should().Be("WCF-CustomSap"); adapter = new WcfCustomAdapter.Outbound <CustomBindingElement>(a => a.Binding.Add(new SqlAdapterBindingElementExtensionElement())); sut.ComputeAdapterNameSpy(adapter).Should().Be("WCF-CustomSql"); // notice that OracleDBAdapterExtensionElement is internal :( //adapter = new WcfCustomAdapter.Outbound<CustomBindingElement>(a => a.Binding.Add(new OracleDBAdapterExtensionElement())); var type = typeof(Microsoft.Adapters.OracleDB.InboundOperation).Assembly.GetType("Microsoft.Adapters.OracleDB.OracleDBAdapterExtensionElement", true); var bindingElement = (BindingElementExtensionElement)Activator.CreateInstance(type); adapter = new WcfCustomAdapter.Outbound <CustomBindingElement>(a => a.Binding.Add(bindingElement)); sut.ComputeAdapterNameSpy(adapter).Should().Be("WCF-CustomOracleDB"); }