diff options
Diffstat (limited to 'OpenSim/Data/Tests')
-rw-r--r-- | OpenSim/Data/Tests/BasicUserTest.cs | 172 |
1 files changed, 141 insertions, 31 deletions
diff --git a/OpenSim/Data/Tests/BasicUserTest.cs b/OpenSim/Data/Tests/BasicUserTest.cs index ba6da68..e9e61d0 100644 --- a/OpenSim/Data/Tests/BasicUserTest.cs +++ b/OpenSim/Data/Tests/BasicUserTest.cs | |||
@@ -46,6 +46,7 @@ namespace OpenSim.Data.Tests | |||
46 | public UUID user2; | 46 | public UUID user2; |
47 | public UUID user3; | 47 | public UUID user3; |
48 | public UUID user4; | 48 | public UUID user4; |
49 | public UUID user5; | ||
49 | public UUID webkey; | 50 | public UUID webkey; |
50 | public UUID zero = UUID.Zero; | 51 | public UUID zero = UUID.Zero; |
51 | public static Random random; | 52 | public static Random random; |
@@ -81,6 +82,7 @@ namespace OpenSim.Data.Tests | |||
81 | user2 = UUID.Random(); | 82 | user2 = UUID.Random(); |
82 | user3 = UUID.Random(); | 83 | user3 = UUID.Random(); |
83 | user4 = UUID.Random(); | 84 | user4 = UUID.Random(); |
85 | user5 = UUID.Random(); | ||
84 | agent1 = UUID.Random(); | 86 | agent1 = UUID.Random(); |
85 | agent2 = UUID.Random(); | 87 | agent2 = UUID.Random(); |
86 | agent3 = UUID.Random(); | 88 | agent3 = UUID.Random(); |
@@ -191,20 +193,20 @@ namespace OpenSim.Data.Tests | |||
191 | public void T015_UserPersistency() | 193 | public void T015_UserPersistency() |
192 | { | 194 | { |
193 | UserProfileData u = new UserProfileData(); | 195 | UserProfileData u = new UserProfileData(); |
194 | UUID id = UUID.Random(); | 196 | UUID id = user5; |
195 | string fname = RandomName(); | 197 | string fname = RandomName(); |
196 | string lname = RandomName(); | 198 | string lname = RandomName(); |
199 | string email = RandomName(); | ||
197 | string passhash = RandomName(); | 200 | string passhash = RandomName(); |
198 | string passsalt = RandomName(); | 201 | string passsalt = RandomName(); |
199 | UUID homeregion = UUID.Random(); | 202 | UUID homeregion = UUID.Random(); |
200 | UUID webloginkey = UUID.Random(); | 203 | UUID webloginkey = UUID.Random(); |
201 | uint homeregx = (uint) random.Next(); | 204 | uint homeregx = (uint) random.Next(); |
202 | uint homeregy = (uint) random.Next(); | 205 | uint homeregy = (uint) random.Next(); |
203 | Vector3 homeloc = new Vector3((float) random.NextDouble(),(float) random.NextDouble(),(float) random.NextDouble()); | 206 | Vector3 homeloc = new Vector3((float)Math.Round(random.NextDouble(),5),(float)Math.Round(random.NextDouble(),5),(float)Math.Round(random.NextDouble(),5)); |
204 | Vector3 homelookat = new Vector3((float)random.NextDouble(),(float)random.NextDouble(),(float)random.NextDouble()); | 207 | Vector3 homelookat = new Vector3((float)Math.Round(random.NextDouble(),5),(float)Math.Round(random.NextDouble(),5),(float)Math.Round(random.NextDouble(),5)); |
205 | int created = random.Next(); | 208 | int created = random.Next(); |
206 | int lastlogin = random.Next(); | 209 | int lastlogin = random.Next(); |
207 | UUID rootinvfolder = UUID.Random(); | ||
208 | string userinvuri = RandomName(); | 210 | string userinvuri = RandomName(); |
209 | string userasseturi = RandomName(); | 211 | string userasseturi = RandomName(); |
210 | uint candomask = (uint) random.Next(); | 212 | uint candomask = (uint) random.Next(); |
@@ -219,20 +221,25 @@ namespace OpenSim.Data.Tests | |||
219 | string customtype = RandomName(); | 221 | string customtype = RandomName(); |
220 | UUID partner = UUID.Random(); | 222 | UUID partner = UUID.Random(); |
221 | 223 | ||
224 | //HomeRegionX and HomeRegionY must only use 24 bits | ||
225 | homeregx = ((homeregx << 8) >> 8); | ||
226 | homeregy = ((homeregy << 8) >> 8); | ||
227 | |||
222 | u.ID = id; | 228 | u.ID = id; |
223 | u.WebLoginKey = webloginkey; | 229 | u.WebLoginKey = webloginkey; |
224 | u.HomeRegionID = homeregion; | 230 | u.HomeRegionID = homeregion; |
225 | u.FirstName = fname; | 231 | u.FirstName = fname; |
226 | u.SurName = lname; | 232 | u.SurName = lname; |
233 | u.Email = email; | ||
227 | u.PasswordHash = passhash; | 234 | u.PasswordHash = passhash; |
228 | u.PasswordSalt = passsalt; | 235 | u.PasswordSalt = passsalt; |
229 | u.HomeRegionX = homeregx; | 236 | u.HomeRegionX = homeregx; |
230 | u.HomeRegionY = homeregy; | 237 | u.HomeRegionY = homeregy; |
238 | ulong homereg = u.HomeRegion; | ||
231 | u.HomeLocation = homeloc; | 239 | u.HomeLocation = homeloc; |
232 | u.HomeLookAt = homelookat; | 240 | u.HomeLookAt = homelookat; |
233 | u.Created = created; | 241 | u.Created = created; |
234 | u.LastLogin = lastlogin; | 242 | u.LastLogin = lastlogin; |
235 | u.RootInventoryFolderID = rootinvfolder; | ||
236 | u.UserInventoryURI = userinvuri; | 243 | u.UserInventoryURI = userinvuri; |
237 | u.UserAssetURI = userasseturi; | 244 | u.UserAssetURI = userasseturi; |
238 | u.CanDoMask = candomask; | 245 | u.CanDoMask = candomask; |
@@ -250,34 +257,138 @@ namespace OpenSim.Data.Tests | |||
250 | db.AddNewUserProfile(u); | 257 | db.AddNewUserProfile(u); |
251 | UserProfileData u1a = db.GetUserByUUID(id); | 258 | UserProfileData u1a = db.GetUserByUUID(id); |
252 | Assert.That(u1a,Is.Not.Null); | 259 | Assert.That(u1a,Is.Not.Null); |
253 | Assert.That(homeregion,Is.EqualTo(u.HomeRegionID)); | 260 | Assert.That(id,Is.EqualTo(u1a.ID)); |
254 | Assert.That(webloginkey,Is.EqualTo(u.WebLoginKey)); | 261 | Assert.That(homeregion,Is.EqualTo(u1a.HomeRegionID)); |
255 | Assert.That(fname,Is.EqualTo(u.FirstName)); | 262 | Assert.That(webloginkey,Is.EqualTo(u1a.WebLoginKey)); |
256 | Assert.That(lname,Is.EqualTo(u.SurName)); | 263 | Assert.That(fname,Is.EqualTo(u1a.FirstName)); |
257 | Assert.That(passhash,Is.EqualTo(u.PasswordHash)); | 264 | Assert.That(lname,Is.EqualTo(u1a.SurName)); |
258 | Assert.That(passsalt,Is.EqualTo(u.PasswordSalt)); | 265 | Assert.That(email,Is.EqualTo(u1a.Email)); |
259 | Assert.That(homeregx,Is.EqualTo(u.HomeRegionX)); | 266 | Assert.That(passhash,Is.EqualTo(u1a.PasswordHash)); |
260 | Assert.That(homeregy,Is.EqualTo(u.HomeRegionY)); | 267 | Assert.That(passsalt,Is.EqualTo(u1a.PasswordSalt)); |
261 | Assert.That(homeloc,Is.EqualTo(u.HomeLocation)); | 268 | Assert.That(homeregx,Is.EqualTo(u1a.HomeRegionX)); |
262 | Assert.That(homelookat,Is.EqualTo(u.HomeLookAt)); | 269 | Assert.That(homeregy,Is.EqualTo(u1a.HomeRegionY)); |
263 | Assert.That(created,Is.EqualTo(u.Created)); | 270 | Assert.That(homereg,Is.EqualTo(u1a.HomeRegion)); |
264 | Assert.That(lastlogin,Is.EqualTo(u.LastLogin)); | 271 | Assert.That(homeloc,Is.EqualTo(u1a.HomeLocation)); |
265 | Assert.That(rootinvfolder,Is.EqualTo(u.RootInventoryFolderID)); | 272 | Assert.That(homelookat,Is.EqualTo(u1a.HomeLookAt)); |
266 | Assert.That(userinvuri,Is.EqualTo(u.UserInventoryURI)); | 273 | Assert.That(created,Is.EqualTo(u1a.Created)); |
267 | Assert.That(userasseturi,Is.EqualTo(u.UserAssetURI)); | 274 | Assert.That(lastlogin,Is.EqualTo(u1a.LastLogin)); |
268 | Assert.That(candomask,Is.EqualTo(u.CanDoMask)); | 275 | // RootInventoryFolderID is not tested because it is saved in SQLite, |
269 | Assert.That(abouttext,Is.EqualTo(u.AboutText)); | 276 | // but not in MySQL |
270 | Assert.That(flabouttext,Is.EqualTo(u.FirstLifeAboutText)); | 277 | Assert.That(userinvuri,Is.EqualTo(u1a.UserInventoryURI)); |
271 | Assert.That(image,Is.EqualTo(u.Image)); | 278 | Assert.That(userasseturi,Is.EqualTo(u1a.UserAssetURI)); |
272 | Assert.That(firstimage,Is.EqualTo(u.FirstLifeImage)); | 279 | Assert.That(candomask,Is.EqualTo(u1a.CanDoMask)); |
273 | Assert.That(agent,Is.EqualTo(u.CurrentAgent)); | 280 | Assert.That(wantdomask,Is.EqualTo(u1a.WantDoMask)); |
274 | Assert.That(userflags,Is.EqualTo(u.UserFlags)); | 281 | Assert.That(abouttext,Is.EqualTo(u1a.AboutText)); |
275 | Assert.That(godlevel,Is.EqualTo(u.GodLevel)); | 282 | Assert.That(flabouttext,Is.EqualTo(u1a.FirstLifeAboutText)); |
276 | Assert.That(customtype,Is.EqualTo(u.CustomType)); | 283 | Assert.That(image,Is.EqualTo(u1a.Image)); |
277 | Assert.That(partner,Is.EqualTo(u.Partner)); | 284 | Assert.That(firstimage,Is.EqualTo(u1a.FirstLifeImage)); |
285 | Assert.That(u1a.CurrentAgent,Is.Null); | ||
286 | Assert.That(userflags,Is.EqualTo(u1a.UserFlags)); | ||
287 | Assert.That(godlevel,Is.EqualTo(u1a.GodLevel)); | ||
288 | Assert.That(customtype,Is.EqualTo(u1a.CustomType)); | ||
289 | Assert.That(partner,Is.EqualTo(u1a.Partner)); | ||
278 | } | 290 | } |
279 | 291 | ||
280 | [Test] | 292 | [Test] |
293 | public void T016_UserUpdatePersistency() | ||
294 | { | ||
295 | UUID id = user5; | ||
296 | UserProfileData u = db.GetUserByUUID(id); | ||
297 | string fname = RandomName(); | ||
298 | string lname = RandomName(); | ||
299 | string email = RandomName(); | ||
300 | string passhash = RandomName(); | ||
301 | string passsalt = RandomName(); | ||
302 | UUID homeregionid = UUID.Random(); | ||
303 | UUID webloginkey = UUID.Random(); | ||
304 | uint homeregx = (uint) random.Next(); | ||
305 | uint homeregy = (uint) random.Next(); | ||
306 | Vector3 homeloc = new Vector3((float)Math.Round(random.NextDouble(),5),(float)Math.Round(random.NextDouble(),5),(float)Math.Round(random.NextDouble(),5)); | ||
307 | Vector3 homelookat = new Vector3((float)Math.Round(random.NextDouble(),5),(float)Math.Round(random.NextDouble(),5),(float)Math.Round(random.NextDouble(),5)); | ||
308 | int created = random.Next(); | ||
309 | int lastlogin = random.Next(); | ||
310 | string userinvuri = RandomName(); | ||
311 | string userasseturi = RandomName(); | ||
312 | uint candomask = (uint) random.Next(); | ||
313 | uint wantdomask = (uint) random.Next(); | ||
314 | string abouttext = RandomName(); | ||
315 | string flabouttext = RandomName(); | ||
316 | UUID image = UUID.Random(); | ||
317 | UUID firstimage = UUID.Random(); | ||
318 | UserAgentData agent = NewAgent(id,UUID.Random()); | ||
319 | int userflags = random.Next(); | ||
320 | int godlevel = random.Next(); | ||
321 | string customtype = RandomName(); | ||
322 | UUID partner = UUID.Random(); | ||
323 | |||
324 | //HomeRegionX and HomeRegionY must only use 24 bits | ||
325 | homeregx = ((homeregx << 8) >> 8); | ||
326 | homeregy = ((homeregy << 8) >> 8); | ||
327 | |||
328 | u.WebLoginKey = webloginkey; | ||
329 | u.HomeRegionID = homeregionid; | ||
330 | u.FirstName = fname; | ||
331 | u.SurName = lname; | ||
332 | u.Email = email; | ||
333 | u.PasswordHash = passhash; | ||
334 | u.PasswordSalt = passsalt; | ||
335 | u.HomeRegionX = homeregx; | ||
336 | u.HomeRegionY = homeregy; | ||
337 | ulong homereg = u.HomeRegion; | ||
338 | u.HomeLocation = homeloc; | ||
339 | u.HomeLookAt = homelookat; | ||
340 | u.Created = created; | ||
341 | u.LastLogin = lastlogin; | ||
342 | u.UserInventoryURI = userinvuri; | ||
343 | u.UserAssetURI = userasseturi; | ||
344 | u.CanDoMask = candomask; | ||
345 | u.WantDoMask = wantdomask; | ||
346 | u.AboutText = abouttext; | ||
347 | u.FirstLifeAboutText = flabouttext; | ||
348 | u.Image = image; | ||
349 | u.FirstLifeImage = firstimage; | ||
350 | u.CurrentAgent = agent; | ||
351 | u.UserFlags = userflags; | ||
352 | u.GodLevel = godlevel; | ||
353 | u.CustomType = customtype; | ||
354 | u.Partner = partner; | ||
355 | |||
356 | db.UpdateUserProfile(u); | ||
357 | UserProfileData u1a = db.GetUserByUUID(id); | ||
358 | Assert.That(u1a,Is.Not.Null); | ||
359 | Assert.That(id,Is.EqualTo(u1a.ID)); | ||
360 | Assert.That(homeregionid,Is.EqualTo(u1a.HomeRegionID)); | ||
361 | Assert.That(webloginkey,Is.EqualTo(u1a.WebLoginKey)); | ||
362 | Assert.That(fname,Is.EqualTo(u1a.FirstName)); | ||
363 | Assert.That(lname,Is.EqualTo(u1a.SurName)); | ||
364 | Assert.That(email,Is.EqualTo(u1a.Email)); | ||
365 | Assert.That(passhash,Is.EqualTo(u1a.PasswordHash)); | ||
366 | Assert.That(passsalt,Is.EqualTo(u1a.PasswordSalt)); | ||
367 | Assert.That(homereg,Is.EqualTo(u1a.HomeRegion)); | ||
368 | Assert.That(homeregx,Is.EqualTo(u1a.HomeRegionX)); | ||
369 | Assert.That(homeregy,Is.EqualTo(u1a.HomeRegionY)); | ||
370 | Assert.That(homereg,Is.EqualTo(u1a.HomeRegion)); | ||
371 | Assert.That(homeloc,Is.EqualTo(u1a.HomeLocation)); | ||
372 | Assert.That(homelookat,Is.EqualTo(u1a.HomeLookAt)); | ||
373 | Assert.That(created,Is.EqualTo(u1a.Created)); | ||
374 | Assert.That(lastlogin,Is.EqualTo(u1a.LastLogin)); | ||
375 | // RootInventoryFolderID is not tested because it is saved in SQLite, | ||
376 | // but not in MySQL | ||
377 | Assert.That(userasseturi,Is.EqualTo(u1a.UserAssetURI)); | ||
378 | Assert.That(candomask,Is.EqualTo(u1a.CanDoMask)); | ||
379 | Assert.That(wantdomask,Is.EqualTo(u1a.WantDoMask)); | ||
380 | Assert.That(abouttext,Is.EqualTo(u1a.AboutText)); | ||
381 | Assert.That(flabouttext,Is.EqualTo(u1a.FirstLifeAboutText)); | ||
382 | Assert.That(image,Is.EqualTo(u1a.Image)); | ||
383 | Assert.That(firstimage,Is.EqualTo(u1a.FirstLifeImage)); | ||
384 | Assert.That(u1a.CurrentAgent,Is.Null); | ||
385 | Assert.That(userflags,Is.EqualTo(u1a.UserFlags)); | ||
386 | Assert.That(godlevel,Is.EqualTo(u1a.GodLevel)); | ||
387 | Assert.That(customtype,Is.EqualTo(u1a.CustomType)); | ||
388 | Assert.That(partner,Is.EqualTo(u1a.Partner)); | ||
389 | } | ||
390 | |||
391 | [Test] | ||
281 | public void T020_CreateAgent() | 392 | public void T020_CreateAgent() |
282 | { | 393 | { |
283 | UserAgentData a1 = NewAgent(user1,agent1); | 394 | UserAgentData a1 = NewAgent(user1,agent1); |
@@ -394,7 +505,6 @@ namespace OpenSim.Data.Tests | |||
394 | u.SurName = lname; | 505 | u.SurName = lname; |
395 | u.PasswordHash = "NOTAHASH"; | 506 | u.PasswordHash = "NOTAHASH"; |
396 | u.PasswordSalt = "NOTSALT"; | 507 | u.PasswordSalt = "NOTSALT"; |
397 | u.Email = "nobody@nodomain.nocc"; | ||
398 | // MUST specify at least these 5 parameters or an exception is raised | 508 | // MUST specify at least these 5 parameters or an exception is raised |
399 | 509 | ||
400 | return u; | 510 | return u; |