public void TestConnectionTimeout() { var initiator = new TcpInitiator { OperationalContext = new DefaultOperationalContext() }; Stream stream = GetType().Assembly.GetManifestResourceStream("Tangosol.Resources.s4hc-timeout-cache-config.xml"); IXmlDocument xmlConfig = XmlHelper.LoadXml(stream); IXmlElement initConfig = xmlConfig.FindElement("caching-schemes/remote-cache-scheme/initiator-config"); initiator.Configure(initConfig); initiator.RegisterProtocol(CacheServiceProtocol.Instance); initiator.RegisterProtocol(NamedCacheProtocol.Instance); initiator.Start(); Assert.AreEqual(initiator.IsRunning, true); IConnection conn = null; bool exceptionCaught = false; try { conn = initiator.EnsureConnection(); } catch (Tangosol.Net.Messaging.ConnectionException) { // good, should time out exceptionCaught = true; } Assert.IsNull(conn); Assert.IsTrue(exceptionCaught); initiator.Stop(); }
public void TestStartAndStopInitiator() { TcpInitiator initiator = GetInitiator(); initiator.Start(); Assert.AreEqual(initiator.IsRunning, true); initiator.Stop(); Assert.AreEqual(initiator.IsRunning, false); }
public void TestEnsureAndCloseConnection() { IConnection conn; TcpInitiator initiator = GetInitiator(); initiator.Start(); conn = initiator.EnsureConnection(); Assert.IsNotNull(conn); Assert.AreEqual(conn.IsOpen, true); conn.Close(); Assert.AreEqual(conn.IsOpen, false); initiator.Stop(); }
public void TestEnsureAndCloseConnectionSocket() { TcpConnection conn; TcpInitiator initiator = GetInitiator(); initiator.Start(); conn = (TcpConnection)initiator.EnsureConnection(); Assert.IsNotNull(conn); Assert.AreEqual(conn.IsOpen, true); conn.Client.Close(); Thread.Sleep(2000); Assert.AreEqual(conn.IsOpen, false); initiator.Stop(); }
private TcpInitiator LoadConfig(String file) { var initiator = new TcpInitiator { OperationalContext = new DefaultOperationalContext() }; Stream stream = GetType().Assembly.GetManifestResourceStream(file); IXmlDocument xmlConfig = XmlHelper.LoadXml(stream); IXmlElement initConfig = xmlConfig.FindElement("caching-schemes/remote-cache-scheme/initiator-config"); initiator.Configure(initConfig); return(initiator); }
private TcpInitiator GetInitiator() { var initiator = new TcpInitiator { OperationalContext = new DefaultOperationalContext() }; Stream stream = GetType().Assembly.GetManifestResourceStream("Tangosol.Resources.s4hc-cache-config.xml"); IXmlDocument xmlConfig = XmlHelper.LoadXml(stream); IXmlElement initConfig = xmlConfig.FindElement("caching-schemes/remote-cache-scheme/initiator-config"); initiator.Configure(initConfig); initiator.RegisterProtocol(CacheServiceProtocol.Instance); initiator.RegisterProtocol(NamedCacheProtocol.Instance); initiator.Start(); return(initiator); }
public void TestConnectTimeout() { // case 1 - both Connect and Request timeouts configured, Connect timeout should be used TcpInitiator initiator = LoadConfig("Tangosol.Resources.s4hc-timeout-cache-config.xml"); Assert.AreNotEqual(initiator.ConnectTimeout, initiator.RequestTimeout); // case 2 - only Connect timeouts configured, Connect timeout should be used initiator = LoadConfig("Tangosol.Resources.s4hc-timeout-cache-config2.xml"); Assert.AreNotEqual(initiator.ConnectTimeout, initiator.RequestTimeout); // case 3 - only Request timeouts configured, Connect timeout should be same as Request timeout initiator = LoadConfig("Tangosol.Resources.s4hc-timeout-cache-config3.xml"); Assert.AreEqual(initiator.ConnectTimeout, initiator.RequestTimeout); // case 4 - no Connect or Request timeouts configured, Connect timeout should be same as Request timeout initiator = LoadConfig("Tangosol.Resources.s4hc-timeout-cache-config4.xml"); Assert.AreEqual(initiator.ConnectTimeout, initiator.RequestTimeout); }
public void TestTcpConnectionRemoteHostAddress() { TcpInitiator initiator = GetInitiator(); IAddressProvider addressProvider = initiator.RemoteAddressProvider; Assert.IsTrue(addressProvider is ConfigurableAddressProvider); TcpConnection conn = (TcpConnection)initiator.EnsureConnection(); Assert.IsNotNull(conn); Assert.AreEqual(conn.IsOpen, true); Assert.True(addressProvider is ConfigurableAddressProvider); Assert.AreEqual(((ConfigurableAddressProvider)addressProvider).RemoteHostAddress, "127.0.0.1"); conn.Close(); Assert.AreEqual(conn.IsOpen, false); initiator.Stop(); Assert.AreEqual(initiator.IsRunning, false); }
public void TestWithAddressProvider() { var initiator = new TcpInitiator { OperationalContext = new DefaultOperationalContext() }; Stream stream = GetType().Assembly.GetManifestResourceStream("Tangosol.Resources.s4hc-cache-config.xml"); IXmlDocument xmlConfig = XmlHelper.LoadXml(stream); IXmlElement remoteAddressNode = xmlConfig.FindElement( "caching-schemes/remote-cache-scheme/initiator-config/tcp-initiator/remote-addresses"); if (null != remoteAddressNode) { IXmlElement socketAddressNode = remoteAddressNode.GetElement("socket-address"); if (null != socketAddressNode) { XmlHelper.RemoveElement(remoteAddressNode, "socket-address"); } remoteAddressNode.AddElement("address-provider").AddElement("class-name").SetString( "Tangosol.Net.ConfigurableAddressProviderTests+LoopbackAddressProvider, Coherence.Tests"); } IXmlElement initConfig = xmlConfig.FindElement("caching-schemes/remote-cache-scheme/initiator-config"); initiator.Configure(initConfig); initiator.RegisterProtocol(CacheServiceProtocol.Instance); initiator.RegisterProtocol(NamedCacheProtocol.Instance); initiator.Start(); Assert.AreEqual(initiator.IsRunning, true); IConnection conn = initiator.EnsureConnection(); Assert.IsNotNull(conn); Assert.AreEqual(conn.IsOpen, true); conn.Close(); initiator.Stop(); }