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()));
        }
Example #2
0
        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");
        }