diff options
Diffstat (limited to 'OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs')
-rw-r--r-- | OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | 94 |
1 files changed, 60 insertions, 34 deletions
diff --git a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs index b13e8dd..9e718f6 100644 --- a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs +++ b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | |||
@@ -32,7 +32,7 @@ using Nini.Config; | |||
32 | using OpenMetaverse; | 32 | using OpenMetaverse; |
33 | using OpenSim.Framework; | 33 | using OpenSim.Framework; |
34 | using OpenSim.Framework.Communications; | 34 | using OpenSim.Framework.Communications; |
35 | using OpenSim.Framework.Communications.Cache; | 35 | |
36 | using OpenSim.Framework.Console; | 36 | using OpenSim.Framework.Console; |
37 | using OpenSim.Framework.Servers; | 37 | using OpenSim.Framework.Servers; |
38 | using OpenSim.Framework.Servers.HttpServer; | 38 | using OpenSim.Framework.Servers.HttpServer; |
@@ -45,6 +45,7 @@ using OpenSim.Region.CoreModules.Avatar.Gods; | |||
45 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset; | 45 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset; |
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.Services.Interfaces; | 49 | using OpenSim.Services.Interfaces; |
49 | using OpenSim.Tests.Common.Mock; | 50 | using OpenSim.Tests.Common.Mock; |
50 | 51 | ||
@@ -60,7 +61,7 @@ namespace OpenSim.Tests.Common.Setup | |||
60 | private static ISharedRegionModule m_assetService = null; | 61 | private static ISharedRegionModule m_assetService = null; |
61 | private static ISharedRegionModule m_inventoryService = null; | 62 | private static ISharedRegionModule m_inventoryService = null; |
62 | private static ISharedRegionModule m_gridService = null; | 63 | private static ISharedRegionModule m_gridService = null; |
63 | private static TestCommunicationsManager commsManager = null; | 64 | private static ISharedRegionModule m_userAccountService = null; |
64 | 65 | ||
65 | /// <summary> | 66 | /// <summary> |
66 | /// Set up a test scene | 67 | /// Set up a test scene |
@@ -83,21 +84,23 @@ namespace OpenSim.Tests.Common.Setup | |||
83 | public static TestScene SetupScene(String realServices) | 84 | public static TestScene SetupScene(String realServices) |
84 | { | 85 | { |
85 | return SetupScene( | 86 | return SetupScene( |
86 | "Unit test region", UUID.Random(), 1000, 1000, new TestCommunicationsManager(), realServices); | 87 | "Unit test region", UUID.Random(), 1000, 1000, realServices); |
87 | } | 88 | } |
88 | 89 | ||
89 | /// <summary> | 90 | // REFACTORING PROBLEM. No idea what the difference is with the previous one |
90 | /// Set up a test scene | 91 | ///// <summary> |
91 | /// </summary> | 92 | ///// Set up a test scene |
92 | /// | 93 | ///// </summary> |
93 | /// <param name="realServices">Starts real inventory and asset services, as opposed to mock ones, if true</param> | 94 | ///// |
94 | /// <param name="cm">This should be the same if simulating two scenes within a standalone</param> | 95 | ///// <param name="realServices">Starts real inventory and asset services, as opposed to mock ones, if true</param> |
95 | /// <returns></returns> | 96 | ///// <param name="cm">This should be the same if simulating two scenes within a standalone</param> |
96 | public static TestScene SetupScene(TestCommunicationsManager cm, String realServices) | 97 | ///// <returns></returns> |
97 | { | 98 | //public static TestScene SetupScene(String realServices) |
98 | return SetupScene( | 99 | //{ |
99 | "Unit test region", UUID.Random(), 1000, 1000, cm, ""); | 100 | // return SetupScene( |
100 | } | 101 | // "Unit test region", UUID.Random(), 1000, 1000, ""); |
102 | //} | ||
103 | |||
101 | /// <summary> | 104 | /// <summary> |
102 | /// Set up a test scene | 105 | /// Set up a test scene |
103 | /// </summary> | 106 | /// </summary> |
@@ -107,9 +110,9 @@ namespace OpenSim.Tests.Common.Setup | |||
107 | /// <param name="y">Y co-ordinate of the region</param> | 110 | /// <param name="y">Y co-ordinate of the region</param> |
108 | /// <param name="cm">This should be the same if simulating two scenes within a standalone</param> | 111 | /// <param name="cm">This should be the same if simulating two scenes within a standalone</param> |
109 | /// <returns></returns> | 112 | /// <returns></returns> |
110 | public static TestScene SetupScene(string name, UUID id, uint x, uint y, TestCommunicationsManager cm) | 113 | public static TestScene SetupScene(string name, UUID id, uint x, uint y) |
111 | { | 114 | { |
112 | return SetupScene(name, id, x, y, cm, ""); | 115 | return SetupScene(name, id, x, y,""); |
113 | } | 116 | } |
114 | 117 | ||
115 | 118 | ||
@@ -125,23 +128,24 @@ namespace OpenSim.Tests.Common.Setup | |||
125 | /// <param name="realServices">Starts real inventory and asset services, as opposed to mock ones, if true</param> | 128 | /// <param name="realServices">Starts real inventory and asset services, as opposed to mock ones, if true</param> |
126 | /// <returns></returns> | 129 | /// <returns></returns> |
127 | public static TestScene SetupScene( | 130 | public static TestScene SetupScene( |
128 | string name, UUID id, uint x, uint y, TestCommunicationsManager cm, String realServices) | 131 | string name, UUID id, uint x, uint y, String realServices) |
129 | { | 132 | { |
130 | bool newScene = false; | 133 | bool newScene = false; |
131 | 134 | ||
132 | Console.WriteLine("Setting up test scene {0}", name); | 135 | Console.WriteLine("Setting up test scene {0}", name); |
133 | 136 | ||
134 | // If cm is the same as our last commsManager used, this means the tester wants to link | 137 | // REFACTORING PROBLEM! |
135 | // regions. In this case, don't use the sameshared region modules and dont initialize them again. | 138 | //// If cm is the same as our last commsManager used, this means the tester wants to link |
136 | // Also, no need to start another MainServer and MainConsole instance. | 139 | //// regions. In this case, don't use the sameshared region modules and dont initialize them again. |
137 | if (cm == null || cm != commsManager) | 140 | //// Also, no need to start another MainServer and MainConsole instance. |
138 | { | 141 | //if (cm == null || cm != commsManager) |
139 | System.Console.WriteLine("Starting a brand new scene"); | 142 | //{ |
140 | newScene = true; | 143 | // System.Console.WriteLine("Starting a brand new scene"); |
141 | MainConsole.Instance = new LocalConsole("TEST PROMPT"); | 144 | // newScene = true; |
142 | MainServer.Instance = new BaseHttpServer(980); | 145 | // MainConsole.Instance = new LocalConsole("TEST PROMPT"); |
143 | commsManager = cm; | 146 | // MainServer.Instance = new BaseHttpServer(980); |
144 | } | 147 | // commsManager = cm; |
148 | //} | ||
145 | 149 | ||
146 | // We must set up a console otherwise setup of some modules may fail | 150 | // We must set up a console otherwise setup of some modules may fail |
147 | RegionInfo regInfo = new RegionInfo(x, y, new IPEndPoint(IPAddress.Loopback, 9000), "127.0.0.1"); | 151 | RegionInfo regInfo = new RegionInfo(x, y, new IPEndPoint(IPAddress.Loopback, 9000), "127.0.0.1"); |
@@ -149,13 +153,13 @@ namespace OpenSim.Tests.Common.Setup | |||
149 | regInfo.RegionID = id; | 153 | regInfo.RegionID = id; |
150 | 154 | ||
151 | AgentCircuitManager acm = new AgentCircuitManager(); | 155 | AgentCircuitManager acm = new AgentCircuitManager(); |
152 | SceneCommunicationService scs = new SceneCommunicationService(cm); | 156 | SceneCommunicationService scs = new SceneCommunicationService(); |
153 | 157 | ||
154 | StorageManager sm = new StorageManager("OpenSim.Data.Null.dll", "", ""); | 158 | StorageManager sm = new StorageManager("OpenSim.Data.Null.dll", "", ""); |
155 | IConfigSource configSource = new IniConfigSource(); | 159 | IConfigSource configSource = new IniConfigSource(); |
156 | 160 | ||
157 | TestScene testScene = new TestScene( | 161 | TestScene testScene = new TestScene( |
158 | regInfo, acm, cm, scs, sm, null, false, false, false, configSource, null); | 162 | regInfo, acm, scs, sm, null, false, false, false, configSource, null); |
159 | 163 | ||
160 | INonSharedRegionModule capsModule = new CapabilitiesModule(); | 164 | INonSharedRegionModule capsModule = new CapabilitiesModule(); |
161 | capsModule.Initialise(new IniConfigSource()); | 165 | capsModule.Initialise(new IniConfigSource()); |
@@ -181,6 +185,8 @@ namespace OpenSim.Tests.Common.Setup | |||
181 | StartInventoryService(testScene, false); | 185 | StartInventoryService(testScene, false); |
182 | if (realServices.Contains("grid")) | 186 | if (realServices.Contains("grid")) |
183 | StartGridService(testScene, true); | 187 | StartGridService(testScene, true); |
188 | if (realServices.Contains("useraccounts")) | ||
189 | StartUserAccountService(testScene, true); | ||
184 | 190 | ||
185 | } | 191 | } |
186 | // If not, make sure the shared module gets references to this new scene | 192 | // If not, make sure the shared module gets references to this new scene |
@@ -194,8 +200,6 @@ namespace OpenSim.Tests.Common.Setup | |||
194 | m_inventoryService.PostInitialise(); | 200 | m_inventoryService.PostInitialise(); |
195 | m_assetService.PostInitialise(); | 201 | m_assetService.PostInitialise(); |
196 | 202 | ||
197 | testScene.CommsManager.UserService.SetInventoryService(testScene.InventoryService); | ||
198 | |||
199 | testScene.SetModuleInterfaces(); | 203 | testScene.SetModuleInterfaces(); |
200 | 204 | ||
201 | testScene.LandChannel = new TestLandChannel(testScene); | 205 | testScene.LandChannel = new TestLandChannel(testScene); |
@@ -269,6 +273,28 @@ namespace OpenSim.Tests.Common.Setup | |||
269 | //testScene.AddRegionModule(m_gridService.Name, m_gridService); | 273 | //testScene.AddRegionModule(m_gridService.Name, m_gridService); |
270 | } | 274 | } |
271 | 275 | ||
276 | private static void StartUserAccountService(Scene testScene, bool real) | ||
277 | { | ||
278 | IConfigSource config = new IniConfigSource(); | ||
279 | config.AddConfig("Modules"); | ||
280 | config.AddConfig("UserAccountService"); | ||
281 | config.Configs["Modules"].Set("UserAccountServices", "LocalUserAccountServicesConnector"); | ||
282 | config.Configs["UserAccountService"].Set("StorageProvider", "OpenSim.Data.Null.dll"); | ||
283 | if (real) | ||
284 | config.Configs["UserAccountService"].Set("LocalServiceModule", "OpenSim.Services.UserAccountService.dll:UserAccountService"); | ||
285 | if (m_userAccountService == null) | ||
286 | { | ||
287 | ISharedRegionModule userAccountService = new LocalUserAccountServicesConnector(); | ||
288 | userAccountService.Initialise(config); | ||
289 | m_userAccountService = userAccountService; | ||
290 | } | ||
291 | //else | ||
292 | // config.Configs["GridService"].Set("LocalServiceModule", "OpenSim.Tests.Common.dll:TestGridService"); | ||
293 | m_userAccountService.AddRegion(testScene); | ||
294 | m_userAccountService.RegionLoaded(testScene); | ||
295 | //testScene.AddRegionModule(m_gridService.Name, m_gridService); | ||
296 | } | ||
297 | |||
272 | 298 | ||
273 | /// <summary> | 299 | /// <summary> |
274 | /// Setup modules for a scene using their default settings. | 300 | /// Setup modules for a scene using their default settings. |