From eca6442bae4093019bd221e87413c74c77c4ff5d Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Fri, 16 Jan 2009 21:56:13 +0000 Subject: * Rig up enough infrastructure to actually perform a successful 'standalone' teleport unit test with checks that the scene presence disappeared from sceneA and appeared in sceneB * However, I'm not convinced that the actual process in the test completely reflects reality, and a lot of stuff had to be rigged up (which should get resolved over time) --- OpenSim/Region/Environment/Scenes/Tests/ScenePresenceTests.cs | 2 +- OpenSim/Region/Environment/Scenes/Tests/SceneTestUtils.cs | 2 +- .../Region/Environment/Scenes/Tests/StandaloneTeleportTests.cs | 10 ++++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/Environment/Scenes/Tests') diff --git a/OpenSim/Region/Environment/Scenes/Tests/ScenePresenceTests.cs b/OpenSim/Region/Environment/Scenes/Tests/ScenePresenceTests.cs index 548fea9..5ce78a3 100644 --- a/OpenSim/Region/Environment/Scenes/Tests/ScenePresenceTests.cs +++ b/OpenSim/Region/Environment/Scenes/Tests/ScenePresenceTests.cs @@ -63,7 +63,7 @@ namespace OpenSim.Region.Environment.Scenes.Tests agent.CapsPath = "http://wibble.com"; scene.NewUserConnection(agent); - scene.AddNewClient(new TestClient(agent)); + scene.AddNewClient(new TestClient(agent, scene)); ScenePresence presence = scene.GetScenePresence(agentId); diff --git a/OpenSim/Region/Environment/Scenes/Tests/SceneTestUtils.cs b/OpenSim/Region/Environment/Scenes/Tests/SceneTestUtils.cs index 3c4049d..5fa897c 100644 --- a/OpenSim/Region/Environment/Scenes/Tests/SceneTestUtils.cs +++ b/OpenSim/Region/Environment/Scenes/Tests/SceneTestUtils.cs @@ -118,7 +118,7 @@ namespace OpenSim.Region.Environment.Scenes.Tests scene.NewUserConnection(agent); // Stage 2: add the new client as a child agent to the scene - TestClient client = new TestClient(agent); + TestClient client = new TestClient(agent, scene); scene.AddNewClient(client); // Stage 3: Invoke agent crossing, which converts the child agent into a root agent (with appearance, diff --git a/OpenSim/Region/Environment/Scenes/Tests/StandaloneTeleportTests.cs b/OpenSim/Region/Environment/Scenes/Tests/StandaloneTeleportTests.cs index a3d116d..d7342de 100644 --- a/OpenSim/Region/Environment/Scenes/Tests/StandaloneTeleportTests.cs +++ b/OpenSim/Region/Environment/Scenes/Tests/StandaloneTeleportTests.cs @@ -27,6 +27,7 @@ using Nini.Config; using NUnit.Framework; +using NUnit.Framework.SyntaxHelpers; using OpenMetaverse; using OpenSim.Framework; using OpenSim.Framework.Communications; @@ -77,9 +78,14 @@ namespace OpenSim.Region.Environment.Scenes.Tests TestClient client = SceneTestUtils.AddRootAgent(sceneA, agentId); - client.Teleport(sceneB.RegionInfo.RegionHandle, new Vector3(100, 100, 100), new Vector3(40, 40, 40)); + // FIXME: This is a hack to get the test working - really the normal OpenSim mechanisms should be used. + client.TeleportTargetScene = sceneB; - // TODO: Check that everything is as it should be + client.Teleport(sceneB.RegionInfo.RegionHandle, new Vector3(100, 100, 100), new Vector3(40, 40, 40)); + Assert.That(sceneB.GetScenePresence(agentId), Is.Not.Null, "Client does not have an agent in sceneB"); + Assert.That(sceneA.GetScenePresence(agentId), Is.Null, "Client still had an agent in sceneA"); + + // TODO: Check that more of everything is as it should be // TODO: test what happens if we try to teleport to a region that doesn't exist } -- cgit v1.1