diff options
Diffstat (limited to 'OpenSim/Tests')
-rw-r--r-- | OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | 56 |
1 files changed, 48 insertions, 8 deletions
diff --git a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs index 4a356e2..eaa0d33 100644 --- a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs +++ b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | |||
@@ -46,6 +46,7 @@ using OpenSim.Region.CoreModules.ServiceConnectorsOut.Authentication; | |||
46 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory; | 46 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory; |
47 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid; | 47 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid; |
48 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts; | 48 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts; |
49 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence; | ||
49 | using OpenSim.Services.Interfaces; | 50 | using OpenSim.Services.Interfaces; |
50 | using OpenSim.Tests.Common.Mock; | 51 | using OpenSim.Tests.Common.Mock; |
51 | 52 | ||
@@ -63,6 +64,7 @@ namespace OpenSim.Tests.Common.Setup | |||
63 | private static ISharedRegionModule m_inventoryService = null; | 64 | private static ISharedRegionModule m_inventoryService = null; |
64 | private static ISharedRegionModule m_gridService = null; | 65 | private static ISharedRegionModule m_gridService = null; |
65 | private static ISharedRegionModule m_userAccountService = null; | 66 | private static ISharedRegionModule m_userAccountService = null; |
67 | private static ISharedRegionModule m_presenceService = null; | ||
66 | 68 | ||
67 | /// <summary> | 69 | /// <summary> |
68 | /// Set up a test scene | 70 | /// Set up a test scene |
@@ -180,7 +182,7 @@ namespace OpenSim.Tests.Common.Setup | |||
180 | else | 182 | else |
181 | StartAssetService(testScene, false); | 183 | StartAssetService(testScene, false); |
182 | 184 | ||
183 | // For now, always started a 'real' authenication service | 185 | // For now, always started a 'real' authentication service |
184 | StartAuthenticationService(testScene, true); | 186 | StartAuthenticationService(testScene, true); |
185 | 187 | ||
186 | if (realServices.Contains("inventory")) | 188 | if (realServices.Contains("inventory")) |
@@ -188,10 +190,9 @@ namespace OpenSim.Tests.Common.Setup | |||
188 | else | 190 | else |
189 | StartInventoryService(testScene, false); | 191 | StartInventoryService(testScene, false); |
190 | 192 | ||
191 | if (realServices.Contains("grid")) | 193 | StartGridService(testScene, true); |
192 | StartGridService(testScene, true); | ||
193 | |||
194 | StartUserAccountService(testScene); | 194 | StartUserAccountService(testScene); |
195 | StartPresenceService(testScene); | ||
195 | } | 196 | } |
196 | // If not, make sure the shared module gets references to this new scene | 197 | // If not, make sure the shared module gets references to this new scene |
197 | else | 198 | else |
@@ -202,11 +203,15 @@ namespace OpenSim.Tests.Common.Setup | |||
202 | m_inventoryService.RegionLoaded(testScene); | 203 | m_inventoryService.RegionLoaded(testScene); |
203 | m_userAccountService.AddRegion(testScene); | 204 | m_userAccountService.AddRegion(testScene); |
204 | m_userAccountService.RegionLoaded(testScene); | 205 | m_userAccountService.RegionLoaded(testScene); |
206 | m_presenceService.AddRegion(testScene); | ||
207 | m_presenceService.RegionLoaded(testScene); | ||
208 | |||
205 | } | 209 | } |
206 | 210 | ||
207 | m_inventoryService.PostInitialise(); | 211 | m_inventoryService.PostInitialise(); |
208 | m_assetService.PostInitialise(); | 212 | m_assetService.PostInitialise(); |
209 | m_userAccountService.PostInitialise(); | 213 | m_userAccountService.PostInitialise(); |
214 | m_presenceService.PostInitialise(); | ||
210 | testScene.RegionInfo.EstateSettings.EstateOwner = UUID.Random(); | 215 | testScene.RegionInfo.EstateSettings.EstateOwner = UUID.Random(); |
211 | testScene.SetModuleInterfaces(); | 216 | testScene.SetModuleInterfaces(); |
212 | 217 | ||
@@ -225,7 +230,11 @@ namespace OpenSim.Tests.Common.Setup | |||
225 | m_inventoryService = null; | 230 | m_inventoryService = null; |
226 | m_gridService = null; | 231 | m_gridService = null; |
227 | m_userAccountService = null; | 232 | m_userAccountService = null; |
228 | 233 | m_presenceService = null; | |
234 | |||
235 | testScene.RegionInfo.EstateSettings = new EstateSettings(); | ||
236 | testScene.LoginsDisabled = false; | ||
237 | |||
229 | return testScene; | 238 | return testScene; |
230 | } | 239 | } |
231 | 240 | ||
@@ -337,6 +346,32 @@ namespace OpenSim.Tests.Common.Setup | |||
337 | } | 346 | } |
338 | 347 | ||
339 | /// <summary> | 348 | /// <summary> |
349 | /// Start a presence service | ||
350 | /// </summary> | ||
351 | /// <param name="testScene"></param> | ||
352 | private static void StartPresenceService(Scene testScene) | ||
353 | { | ||
354 | IConfigSource config = new IniConfigSource(); | ||
355 | config.AddConfig("Modules"); | ||
356 | config.AddConfig("PresenceService"); | ||
357 | config.Configs["Modules"].Set("PresenceServices", "LocalPresenceServicesConnector"); | ||
358 | config.Configs["PresenceService"].Set("StorageProvider", "OpenSim.Data.Null.dll"); | ||
359 | config.Configs["PresenceService"].Set( | ||
360 | "LocalServiceModule", "OpenSim.Services.PresenceService.dll:PresenceService"); | ||
361 | |||
362 | if (m_presenceService == null) | ||
363 | { | ||
364 | ISharedRegionModule presenceService = new LocalPresenceServicesConnector(); | ||
365 | presenceService.Initialise(config); | ||
366 | m_presenceService = presenceService; | ||
367 | } | ||
368 | |||
369 | m_presenceService.AddRegion(testScene); | ||
370 | m_presenceService.RegionLoaded(testScene); | ||
371 | testScene.AddRegionModule(m_presenceService.Name, m_presenceService); | ||
372 | } | ||
373 | |||
374 | /// <summary> | ||
340 | /// Setup modules for a scene using their default settings. | 375 | /// Setup modules for a scene using their default settings. |
341 | /// </summary> | 376 | /// </summary> |
342 | /// <param name="scene"></param> | 377 | /// <param name="scene"></param> |
@@ -446,9 +481,14 @@ namespace OpenSim.Tests.Common.Setup | |||
446 | { | 481 | { |
447 | string reason; | 482 | string reason; |
448 | 483 | ||
449 | // We emulate the proper login sequence here by doing things in three stages | 484 | // We emulate the proper login sequence here by doing things in four stages |
485 | |||
486 | // Stage 0: log the presence | ||
487 | scene.PresenceService.LoginAgent(agentData.AgentID.ToString(), agentData.SessionID, agentData.SecureSessionID); | ||
488 | |||
450 | // Stage 1: simulate login by telling the scene to expect a new user connection | 489 | // Stage 1: simulate login by telling the scene to expect a new user connection |
451 | scene.NewUserConnection(agentData, (uint)TeleportFlags.ViaLogin, out reason); | 490 | if (!scene.NewUserConnection(agentData, (uint)TeleportFlags.ViaLogin, out reason)) |
491 | Console.WriteLine("NewUserConnection failed: " + reason); | ||
452 | 492 | ||
453 | // Stage 2: add the new client as a child agent to the scene | 493 | // Stage 2: add the new client as a child agent to the scene |
454 | TestClient client = new TestClient(agentData, scene); | 494 | TestClient client = new TestClient(agentData, scene); |
@@ -459,7 +499,7 @@ namespace OpenSim.Tests.Common.Setup | |||
459 | //scene.AgentCrossing(agentData.AgentID, new Vector3(90, 90, 90), false); OBSOLETE | 499 | //scene.AgentCrossing(agentData.AgentID, new Vector3(90, 90, 90), false); OBSOLETE |
460 | 500 | ||
461 | ScenePresence scp = scene.GetScenePresence(agentData.AgentID); | 501 | ScenePresence scp = scene.GetScenePresence(agentData.AgentID); |
462 | scp.MakeRootAgent(new Vector3(90,90,90), true); | 502 | scp.MakeRootAgent(new Vector3(90, 90, 90), true); |
463 | 503 | ||
464 | return client; | 504 | return client; |
465 | } | 505 | } |