From f5f7ca47ea7a27fb7f82367cc7a4e04e11cb5155 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 12 Oct 2011 21:31:22 +0100 Subject: Bring LindenUDP.Tests back from the dead. No tests are running. Code drift means that most of this stuff doesn't compile but the structure is still useful. --- .../Linden/UDP/Tests/BasicCircuitTests.cs | 343 ++++++++++----------- 1 file changed, 171 insertions(+), 172 deletions(-) (limited to 'OpenSim/Region/ClientStack/Linden/UDP/Tests/BasicCircuitTests.cs') diff --git a/OpenSim/Region/ClientStack/Linden/UDP/Tests/BasicCircuitTests.cs b/OpenSim/Region/ClientStack/Linden/UDP/Tests/BasicCircuitTests.cs index daab84f..b8a4e8e 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/Tests/BasicCircuitTests.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/Tests/BasicCircuitTests.cs @@ -29,7 +29,6 @@ using System.Net; using log4net.Config; using Nini.Config; using NUnit.Framework; -using NUnit.Framework.SyntaxHelpers; using OpenMetaverse; using OpenMetaverse.Packets; using OpenSim.Framework; @@ -57,27 +56,27 @@ namespace OpenSim.Region.ClientStack.LindenUDP.Tests } } - /// - /// Add a client for testing - /// - /// - /// - /// - /// Agent circuit manager used in setting up the stack - protected void SetupStack( - IScene scene, out TestLLUDPServer testLLUDPServer, out TestLLPacketServer testPacketServer, - out AgentCircuitManager acm) - { - IConfigSource configSource = new IniConfigSource(); - ClientStackUserSettings userSettings = new ClientStackUserSettings(); - testLLUDPServer = new TestLLUDPServer(); - acm = new AgentCircuitManager(); - - uint port = 666; - testLLUDPServer.Initialise(null, ref port, 0, false, configSource, acm); - testPacketServer = new TestLLPacketServer(testLLUDPServer, userSettings); - testLLUDPServer.LocalScene = scene; - } +// /// +// /// Add a client for testing +// /// +// /// +// /// +// /// +// /// Agent circuit manager used in setting up the stack +// protected void SetupStack( +// IScene scene, out TestLLUDPServer testLLUDPServer, out TestLLPacketServer testPacketServer, +// out AgentCircuitManager acm) +// { +// IConfigSource configSource = new IniConfigSource(); +// ClientStackUserSettings userSettings = new ClientStackUserSettings(); +// testLLUDPServer = new TestLLUDPServer(); +// acm = new AgentCircuitManager(); +// +// uint port = 666; +// testLLUDPServer.Initialise(null, ref port, 0, false, configSource, acm); +// testPacketServer = new TestLLPacketServer(testLLUDPServer, userSettings); +// testLLUDPServer.LocalScene = scene; +// } /// /// Set up a client for tests which aren't concerned with this process itself and where only one client is being @@ -145,155 +144,155 @@ namespace OpenSim.Region.ClientStack.LindenUDP.Tests return onp; } - /// - /// Test adding a client to the stack - /// - [Test, LongRunning] - public void TestAddClient() - { - TestHelper.InMethod(); - - uint myCircuitCode = 123456; - UUID myAgentUuid = UUID.Parse("00000000-0000-0000-0000-000000000001"); - UUID mySessionUuid = UUID.Parse("00000000-0000-0000-0000-000000000002"); - - TestLLUDPServer testLLUDPServer; - TestLLPacketServer testLLPacketServer; - AgentCircuitManager acm; - SetupStack(new MockScene(), out testLLUDPServer, out testLLPacketServer, out acm); - - AgentCircuitData acd = new AgentCircuitData(); - acd.AgentID = myAgentUuid; - acd.SessionID = mySessionUuid; - - UseCircuitCodePacket uccp = new UseCircuitCodePacket(); - - UseCircuitCodePacket.CircuitCodeBlock uccpCcBlock - = new UseCircuitCodePacket.CircuitCodeBlock(); - uccpCcBlock.Code = myCircuitCode; - uccpCcBlock.ID = myAgentUuid; - uccpCcBlock.SessionID = mySessionUuid; - uccp.CircuitCode = uccpCcBlock; - - EndPoint testEp = new IPEndPoint(IPAddress.Loopback, 999); - - testLLUDPServer.LoadReceive(uccp, testEp); - testLLUDPServer.ReceiveData(null); - - // Circuit shouildn't exist since the circuit manager doesn't know about this circuit for authentication yet - Assert.IsFalse(testLLUDPServer.HasCircuit(myCircuitCode)); - - acm.AddNewCircuit(myCircuitCode, acd); - - testLLUDPServer.LoadReceive(uccp, testEp); - testLLUDPServer.ReceiveData(null); - - // Should succeed now - Assert.IsTrue(testLLUDPServer.HasCircuit(myCircuitCode)); - Assert.IsFalse(testLLUDPServer.HasCircuit(101)); - } - - /// - /// Test removing a client from the stack - /// - [Test] - public void TestRemoveClient() - { - TestHelper.InMethod(); - - uint myCircuitCode = 123457; - - TestLLUDPServer testLLUDPServer; - TestLLPacketServer testLLPacketServer; - AgentCircuitManager acm; - SetupStack(new MockScene(), out testLLUDPServer, out testLLPacketServer, out acm); - AddClient(myCircuitCode, new IPEndPoint(IPAddress.Loopback, 1000), testLLUDPServer, acm); - - testLLUDPServer.RemoveClientCircuit(myCircuitCode); - Assert.IsFalse(testLLUDPServer.HasCircuit(myCircuitCode)); - - // Check that removing a non-existant circuit doesn't have any bad effects - testLLUDPServer.RemoveClientCircuit(101); - Assert.IsFalse(testLLUDPServer.HasCircuit(101)); - } - - /// - /// Make sure that the client stack reacts okay to malformed packets - /// - [Test] - public void TestMalformedPacketSend() - { - TestHelper.InMethod(); - - uint myCircuitCode = 123458; - EndPoint testEp = new IPEndPoint(IPAddress.Loopback, 1001); - MockScene scene = new MockScene(); - - TestLLUDPServer testLLUDPServer; - TestLLPacketServer testLLPacketServer; - AgentCircuitManager acm; - SetupStack(scene, out testLLUDPServer, out testLLPacketServer, out acm); - AddClient(myCircuitCode, testEp, testLLUDPServer, acm); - - byte[] data = new byte[] { 0x01, 0x02, 0x03, 0x04 }; - - // Send two garbled 'packets' in succession - testLLUDPServer.LoadReceive(data, testEp); - testLLUDPServer.LoadReceive(data, testEp); - testLLUDPServer.ReceiveData(null); - - // Check that we are still here - Assert.IsTrue(testLLUDPServer.HasCircuit(myCircuitCode)); - Assert.That(testLLPacketServer.GetTotalPacketsReceived(), Is.EqualTo(0)); - - // Check that sending a valid packet to same circuit still succeeds - Assert.That(scene.ObjectNameCallsReceived, Is.EqualTo(0)); - - testLLUDPServer.LoadReceive(BuildTestObjectNamePacket(1, "helloooo"), testEp); - testLLUDPServer.ReceiveData(null); - - Assert.That(testLLPacketServer.GetTotalPacketsReceived(), Is.EqualTo(1)); - Assert.That(testLLPacketServer.GetPacketsReceivedFor(PacketType.ObjectName), Is.EqualTo(1)); - } - - /// - /// Test that the stack continues to work even if some client has caused a - /// SocketException on Socket.BeginReceive() - /// - [Test] - public void TestExceptionOnBeginReceive() - { - TestHelper.InMethod(); - - MockScene scene = new MockScene(); - - uint circuitCodeA = 130000; - EndPoint epA = new IPEndPoint(IPAddress.Loopback, 1300); - UUID agentIdA = UUID.Parse("00000000-0000-0000-0000-000000001300"); - UUID sessionIdA = UUID.Parse("00000000-0000-0000-0000-000000002300"); - - uint circuitCodeB = 130001; - EndPoint epB = new IPEndPoint(IPAddress.Loopback, 1301); - UUID agentIdB = UUID.Parse("00000000-0000-0000-0000-000000001301"); - UUID sessionIdB = UUID.Parse("00000000-0000-0000-0000-000000002301"); - - TestLLUDPServer testLLUDPServer; - TestLLPacketServer testLLPacketServer; - AgentCircuitManager acm; - SetupStack(scene, out testLLUDPServer, out testLLPacketServer, out acm); - AddClient(circuitCodeA, epA, agentIdA, sessionIdA, testLLUDPServer, acm); - AddClient(circuitCodeB, epB, agentIdB, sessionIdB, testLLUDPServer, acm); - - testLLUDPServer.LoadReceive(BuildTestObjectNamePacket(1, "packet1"), epA); - testLLUDPServer.LoadReceive(BuildTestObjectNamePacket(1, "packet2"), epB); - testLLUDPServer.LoadReceiveWithBeginException(epA); - testLLUDPServer.LoadReceive(BuildTestObjectNamePacket(2, "packet3"), epB); - testLLUDPServer.ReceiveData(null); - - Assert.IsFalse(testLLUDPServer.HasCircuit(circuitCodeA)); - - Assert.That(testLLPacketServer.GetTotalPacketsReceived(), Is.EqualTo(3)); - Assert.That(testLLPacketServer.GetPacketsReceivedFor(PacketType.ObjectName), Is.EqualTo(3)); - } +// /// +// /// Test adding a client to the stack +// /// +// [Test, LongRunning] +// public void TestAddClient() +// { +// TestHelper.InMethod(); +// +// uint myCircuitCode = 123456; +// UUID myAgentUuid = UUID.Parse("00000000-0000-0000-0000-000000000001"); +// UUID mySessionUuid = UUID.Parse("00000000-0000-0000-0000-000000000002"); +// +// TestLLUDPServer testLLUDPServer; +// TestLLPacketServer testLLPacketServer; +// AgentCircuitManager acm; +// SetupStack(new MockScene(), out testLLUDPServer, out testLLPacketServer, out acm); +// +// AgentCircuitData acd = new AgentCircuitData(); +// acd.AgentID = myAgentUuid; +// acd.SessionID = mySessionUuid; +// +// UseCircuitCodePacket uccp = new UseCircuitCodePacket(); +// +// UseCircuitCodePacket.CircuitCodeBlock uccpCcBlock +// = new UseCircuitCodePacket.CircuitCodeBlock(); +// uccpCcBlock.Code = myCircuitCode; +// uccpCcBlock.ID = myAgentUuid; +// uccpCcBlock.SessionID = mySessionUuid; +// uccp.CircuitCode = uccpCcBlock; +// +// EndPoint testEp = new IPEndPoint(IPAddress.Loopback, 999); +// +// testLLUDPServer.LoadReceive(uccp, testEp); +// testLLUDPServer.ReceiveData(null); +// +// // Circuit shouildn't exist since the circuit manager doesn't know about this circuit for authentication yet +// Assert.IsFalse(testLLUDPServer.HasCircuit(myCircuitCode)); +// +// acm.AddNewCircuit(myCircuitCode, acd); +// +// testLLUDPServer.LoadReceive(uccp, testEp); +// testLLUDPServer.ReceiveData(null); +// +// // Should succeed now +// Assert.IsTrue(testLLUDPServer.HasCircuit(myCircuitCode)); +// Assert.IsFalse(testLLUDPServer.HasCircuit(101)); +// } +// +// /// +// /// Test removing a client from the stack +// /// +// [Test] +// public void TestRemoveClient() +// { +// TestHelper.InMethod(); +// +// uint myCircuitCode = 123457; +// +// TestLLUDPServer testLLUDPServer; +// TestLLPacketServer testLLPacketServer; +// AgentCircuitManager acm; +// SetupStack(new MockScene(), out testLLUDPServer, out testLLPacketServer, out acm); +// AddClient(myCircuitCode, new IPEndPoint(IPAddress.Loopback, 1000), testLLUDPServer, acm); +// +// testLLUDPServer.RemoveClientCircuit(myCircuitCode); +// Assert.IsFalse(testLLUDPServer.HasCircuit(myCircuitCode)); +// +// // Check that removing a non-existant circuit doesn't have any bad effects +// testLLUDPServer.RemoveClientCircuit(101); +// Assert.IsFalse(testLLUDPServer.HasCircuit(101)); +// } +// +// /// +// /// Make sure that the client stack reacts okay to malformed packets +// /// +// [Test] +// public void TestMalformedPacketSend() +// { +// TestHelper.InMethod(); +// +// uint myCircuitCode = 123458; +// EndPoint testEp = new IPEndPoint(IPAddress.Loopback, 1001); +// MockScene scene = new MockScene(); +// +// TestLLUDPServer testLLUDPServer; +// TestLLPacketServer testLLPacketServer; +// AgentCircuitManager acm; +// SetupStack(scene, out testLLUDPServer, out testLLPacketServer, out acm); +// AddClient(myCircuitCode, testEp, testLLUDPServer, acm); +// +// byte[] data = new byte[] { 0x01, 0x02, 0x03, 0x04 }; +// +// // Send two garbled 'packets' in succession +// testLLUDPServer.LoadReceive(data, testEp); +// testLLUDPServer.LoadReceive(data, testEp); +// testLLUDPServer.ReceiveData(null); +// +// // Check that we are still here +// Assert.IsTrue(testLLUDPServer.HasCircuit(myCircuitCode)); +// Assert.That(testLLPacketServer.GetTotalPacketsReceived(), Is.EqualTo(0)); +// +// // Check that sending a valid packet to same circuit still succeeds +// Assert.That(scene.ObjectNameCallsReceived, Is.EqualTo(0)); +// +// testLLUDPServer.LoadReceive(BuildTestObjectNamePacket(1, "helloooo"), testEp); +// testLLUDPServer.ReceiveData(null); +// +// Assert.That(testLLPacketServer.GetTotalPacketsReceived(), Is.EqualTo(1)); +// Assert.That(testLLPacketServer.GetPacketsReceivedFor(PacketType.ObjectName), Is.EqualTo(1)); +// } +// +// /// +// /// Test that the stack continues to work even if some client has caused a +// /// SocketException on Socket.BeginReceive() +// /// +// [Test] +// public void TestExceptionOnBeginReceive() +// { +// TestHelper.InMethod(); +// +// MockScene scene = new MockScene(); +// +// uint circuitCodeA = 130000; +// EndPoint epA = new IPEndPoint(IPAddress.Loopback, 1300); +// UUID agentIdA = UUID.Parse("00000000-0000-0000-0000-000000001300"); +// UUID sessionIdA = UUID.Parse("00000000-0000-0000-0000-000000002300"); +// +// uint circuitCodeB = 130001; +// EndPoint epB = new IPEndPoint(IPAddress.Loopback, 1301); +// UUID agentIdB = UUID.Parse("00000000-0000-0000-0000-000000001301"); +// UUID sessionIdB = UUID.Parse("00000000-0000-0000-0000-000000002301"); +// +// TestLLUDPServer testLLUDPServer; +// TestLLPacketServer testLLPacketServer; +// AgentCircuitManager acm; +// SetupStack(scene, out testLLUDPServer, out testLLPacketServer, out acm); +// AddClient(circuitCodeA, epA, agentIdA, sessionIdA, testLLUDPServer, acm); +// AddClient(circuitCodeB, epB, agentIdB, sessionIdB, testLLUDPServer, acm); +// +// testLLUDPServer.LoadReceive(BuildTestObjectNamePacket(1, "packet1"), epA); +// testLLUDPServer.LoadReceive(BuildTestObjectNamePacket(1, "packet2"), epB); +// testLLUDPServer.LoadReceiveWithBeginException(epA); +// testLLUDPServer.LoadReceive(BuildTestObjectNamePacket(2, "packet3"), epB); +// testLLUDPServer.ReceiveData(null); +// +// Assert.IsFalse(testLLUDPServer.HasCircuit(circuitCodeA)); +// +// Assert.That(testLLPacketServer.GetTotalPacketsReceived(), Is.EqualTo(3)); +// Assert.That(testLLPacketServer.GetPacketsReceivedFor(PacketType.ObjectName), Is.EqualTo(3)); +// } } } -- cgit v1.1