move the actual [Test] methods for databases to OpenSim.Data.Tests
classes. This did mean loosing 1 unit test that was actually testing an sqlite function directly instead of the interface.0.6.0-stable
parent
1f42c89480
commit
9349cf3149
|
@ -30,6 +30,7 @@ using System.Collections.Generic;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using NUnit.Framework.SyntaxHelpers;
|
using NUnit.Framework.SyntaxHelpers;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
|
using OpenSim.Data.Tests;
|
||||||
using OpenSim.Data.SQLite;
|
using OpenSim.Data.SQLite;
|
||||||
using OpenSim.Region.Environment.Scenes;
|
using OpenSim.Region.Environment.Scenes;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
@ -37,26 +38,19 @@ using OpenMetaverse;
|
||||||
namespace OpenSim.Data.SQLite.Tests
|
namespace OpenSim.Data.SQLite.Tests
|
||||||
{
|
{
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class SQLiteAssetTest
|
public class SQLiteAssetTest : BasicAssetTest
|
||||||
{
|
{
|
||||||
public string file = "assettest.db";
|
public string file = "assettest.db";
|
||||||
public string connect;
|
public string connect;
|
||||||
public SQLiteAssetData db;
|
|
||||||
public UUID uuid1;
|
|
||||||
public UUID uuid2;
|
|
||||||
public UUID uuid3;
|
|
||||||
|
|
||||||
|
|
||||||
[TestFixtureSetUp]
|
[TestFixtureSetUp]
|
||||||
public void Init()
|
public void Init()
|
||||||
{
|
{
|
||||||
|
SuperInit();
|
||||||
System.Console.WriteLine("SQLiteAssetTest");
|
System.Console.WriteLine("SQLiteAssetTest");
|
||||||
connect = "URI=file:" + file + ",version=3";
|
connect = "URI=file:" + file + ",version=3";
|
||||||
db = new SQLiteAssetData();
|
db = new SQLiteAssetData();
|
||||||
db.Initialise(connect);
|
db.Initialise(connect);
|
||||||
uuid1 = UUID.Random();
|
|
||||||
uuid2 = UUID.Random();
|
|
||||||
uuid3 = UUID.Random();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestFixtureTearDown]
|
[TestFixtureTearDown]
|
||||||
|
@ -64,56 +58,5 @@ namespace OpenSim.Data.SQLite.Tests
|
||||||
{
|
{
|
||||||
System.IO.File.Delete(file);
|
System.IO.File.Delete(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void T001_LoadEmpty()
|
|
||||||
{
|
|
||||||
Assert.That(db.ExistsAsset(uuid1), Is.False);
|
|
||||||
Assert.That(db.ExistsAsset(uuid2), Is.False);
|
|
||||||
Assert.That(db.ExistsAsset(uuid3), Is.False);
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void T010_StoreSimpleAsset()
|
|
||||||
{
|
|
||||||
AssetBase a1 = new AssetBase(uuid1, "asset one");
|
|
||||||
AssetBase a2 = new AssetBase(uuid2, "asset two");
|
|
||||||
AssetBase a3 = new AssetBase(uuid3, "asset three");
|
|
||||||
db.CreateAsset(a1);
|
|
||||||
db.CreateAsset(a2);
|
|
||||||
db.CreateAsset(a3);
|
|
||||||
|
|
||||||
AssetBase a1a = db.FetchAsset(uuid1);
|
|
||||||
Assert.That(a1.ID.ToString(), Text.Matches(a1a.ID.ToString()));
|
|
||||||
Assert.That(a1.Name, Text.Matches(a1a.Name));
|
|
||||||
|
|
||||||
AssetBase a2a = db.FetchAsset(uuid2);
|
|
||||||
Assert.That(a2.ID.ToString(), Text.Matches(a2a.ID.ToString()));
|
|
||||||
Assert.That(a2.Name, Text.Matches(a2a.Name));
|
|
||||||
|
|
||||||
AssetBase a3a = db.FetchAsset(uuid3);
|
|
||||||
Assert.That(a3.ID.ToString(), Text.Matches(a3a.ID.ToString()));
|
|
||||||
Assert.That(a3.Name, Text.Matches(a3a.Name));
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void T011_ExistsSimpleAsset()
|
|
||||||
{
|
|
||||||
Assert.That(db.ExistsAsset(uuid1), Is.True);
|
|
||||||
Assert.That(db.ExistsAsset(uuid2), Is.True);
|
|
||||||
Assert.That(db.ExistsAsset(uuid3), Is.True);
|
|
||||||
}
|
|
||||||
|
|
||||||
// this has questionable use, but it is in the interface at the moment.
|
|
||||||
[Test]
|
|
||||||
public void T012_DeleteAsset()
|
|
||||||
{
|
|
||||||
db.DeleteAsset(uuid1);
|
|
||||||
db.DeleteAsset(uuid2);
|
|
||||||
db.DeleteAsset(uuid3);
|
|
||||||
Assert.That(db.ExistsAsset(uuid1), Is.False);
|
|
||||||
Assert.That(db.ExistsAsset(uuid2), Is.False);
|
|
||||||
Assert.That(db.ExistsAsset(uuid3), Is.False);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -30,6 +30,7 @@ using System.Collections.Generic;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using NUnit.Framework.SyntaxHelpers;
|
using NUnit.Framework.SyntaxHelpers;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
|
using OpenSim.Data.Tests;
|
||||||
using OpenSim.Data.SQLite;
|
using OpenSim.Data.SQLite;
|
||||||
using OpenSim.Region.Environment.Scenes;
|
using OpenSim.Region.Environment.Scenes;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
@ -37,16 +38,15 @@ using OpenMetaverse;
|
||||||
namespace OpenSim.Data.SQLite.Tests
|
namespace OpenSim.Data.SQLite.Tests
|
||||||
{
|
{
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class SQLiteRegionTest
|
public class SQLiteRegionTest : BasicRegionTest
|
||||||
{
|
{
|
||||||
public string file = "regiontest.db";
|
public string file = "regiontest.db";
|
||||||
public string connect;
|
public string connect;
|
||||||
public SQLiteRegionData db;
|
|
||||||
public UUID region = UUID.Zero;
|
|
||||||
|
|
||||||
[TestFixtureSetUp]
|
[TestFixtureSetUp]
|
||||||
public void Init()
|
public void Init()
|
||||||
{
|
{
|
||||||
|
SuperInit();
|
||||||
connect = "URI=file:" + file + ",version=3";
|
connect = "URI=file:" + file + ",version=3";
|
||||||
db = new SQLiteRegionData();
|
db = new SQLiteRegionData();
|
||||||
db.Initialise(connect);
|
db.Initialise(connect);
|
||||||
|
@ -57,94 +57,5 @@ namespace OpenSim.Data.SQLite.Tests
|
||||||
{
|
{
|
||||||
System.IO.File.Delete(file);
|
System.IO.File.Delete(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void T001_LoadEmpty()
|
|
||||||
{
|
|
||||||
List<SceneObjectGroup> objs = db.LoadObjects(region);
|
|
||||||
Assert.AreEqual(0, objs.Count);
|
|
||||||
}
|
|
||||||
|
|
||||||
// SOG round trips
|
|
||||||
// * store objects, make sure they save
|
|
||||||
// * update
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void T010_StoreSimpleObject()
|
|
||||||
{
|
|
||||||
SceneObjectGroup sog = NewSOG("object1");
|
|
||||||
SceneObjectGroup sog2 = NewSOG("object2");
|
|
||||||
|
|
||||||
db.StoreObject(sog, region);
|
|
||||||
db.StoreObject(sog2, region);
|
|
||||||
|
|
||||||
// This tests the ADO.NET driver
|
|
||||||
List<SceneObjectGroup> objs = db.LoadObjects(region);
|
|
||||||
Assert.AreEqual(2, objs.Count);
|
|
||||||
|
|
||||||
// This confirms things actually went to disk
|
|
||||||
db = new SQLiteRegionData();
|
|
||||||
db.Initialise(connect);
|
|
||||||
|
|
||||||
List<SceneObjectGroup> objs2 = db.LoadObjects(region);
|
|
||||||
Assert.AreEqual(2, objs2.Count);
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void T011_ObjectNames()
|
|
||||||
{
|
|
||||||
List<SceneObjectGroup> objs = db.LoadObjects(region);
|
|
||||||
foreach (SceneObjectGroup sog in objs)
|
|
||||||
{
|
|
||||||
SceneObjectPart p = sog.RootPart;
|
|
||||||
Assert.That("", Text.DoesNotMatch(p.Name));
|
|
||||||
Assert.That(p.Name, Text.Matches(p.Description));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void T012_UpdateObject()
|
|
||||||
{
|
|
||||||
string text = "object1 text";
|
|
||||||
SceneObjectGroup sog = FindSOG("object1", region);
|
|
||||||
sog.RootPart.Text = text;
|
|
||||||
db.StoreObject(sog, region);
|
|
||||||
|
|
||||||
sog = FindSOG("object1", region);
|
|
||||||
Assert.That(text, Text.Matches(sog.RootPart.Text));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Extra private methods
|
|
||||||
|
|
||||||
private SceneObjectGroup FindSOG(string name, UUID r)
|
|
||||||
{
|
|
||||||
List<SceneObjectGroup> objs = db.LoadObjects(r);
|
|
||||||
foreach (SceneObjectGroup sog in objs)
|
|
||||||
{
|
|
||||||
SceneObjectPart p = sog.RootPart;
|
|
||||||
if (p.Name == name) {
|
|
||||||
return sog;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private SceneObjectGroup NewSOG(string name)
|
|
||||||
{
|
|
||||||
SceneObjectGroup sog = new SceneObjectGroup();
|
|
||||||
SceneObjectPart sop = new SceneObjectPart();
|
|
||||||
sop.LocalId = 1;
|
|
||||||
sop.Name = name;
|
|
||||||
sop.Description = name;
|
|
||||||
sop.Text = "";
|
|
||||||
sop.SitName = "";
|
|
||||||
sop.TouchName = "";
|
|
||||||
sop.UUID = UUID.Random();
|
|
||||||
sop.Shape = PrimitiveBaseShape.Default;
|
|
||||||
sog.AddPart(sop);
|
|
||||||
sog.RootPart = sop;
|
|
||||||
return sog;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -30,6 +30,7 @@ using System.Collections.Generic;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using NUnit.Framework.SyntaxHelpers;
|
using NUnit.Framework.SyntaxHelpers;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
|
using OpenSim.Data.Tests;
|
||||||
using OpenSim.Data.SQLite;
|
using OpenSim.Data.SQLite;
|
||||||
using OpenSim.Region.Environment.Scenes;
|
using OpenSim.Region.Environment.Scenes;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
@ -37,25 +38,18 @@ using OpenMetaverse;
|
||||||
namespace OpenSim.Data.SQLite.Tests
|
namespace OpenSim.Data.SQLite.Tests
|
||||||
{
|
{
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class SQLiteUserTest
|
public class SQLiteUserTest : BasicUserTest
|
||||||
{
|
{
|
||||||
public string file = "usertest.db";
|
public string file = "usertest.db";
|
||||||
public string connect;
|
public string connect;
|
||||||
public SQLiteUserData db;
|
|
||||||
public UUID uuid1;
|
|
||||||
public UUID uuid2;
|
|
||||||
public UUID uuid3;
|
|
||||||
|
|
||||||
|
|
||||||
[TestFixtureSetUp]
|
[TestFixtureSetUp]
|
||||||
public void Init()
|
public void Init()
|
||||||
{
|
{
|
||||||
|
SuperInit();
|
||||||
connect = "URI=file:" + file + ",version=3";
|
connect = "URI=file:" + file + ",version=3";
|
||||||
db = new SQLiteUserData();
|
db = new SQLiteUserData();
|
||||||
db.Initialise(connect);
|
db.Initialise(connect);
|
||||||
uuid1 = UUID.Random();
|
|
||||||
uuid2 = UUID.Random();
|
|
||||||
uuid3 = UUID.Random();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestFixtureTearDown]
|
[TestFixtureTearDown]
|
||||||
|
@ -63,11 +57,5 @@ namespace OpenSim.Data.SQLite.Tests
|
||||||
{
|
{
|
||||||
System.IO.File.Delete(file);
|
System.IO.File.Delete(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void T001_LoadEmpty()
|
|
||||||
{
|
|
||||||
Assert.That(db.GetUserByUUID(uuid1), Is.Null);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,104 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSim Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using NUnit.Framework;
|
||||||
|
using NUnit.Framework.SyntaxHelpers;
|
||||||
|
using OpenSim.Data;
|
||||||
|
using OpenSim.Framework;
|
||||||
|
using OpenSim.Region.Environment.Scenes;
|
||||||
|
using OpenMetaverse;
|
||||||
|
|
||||||
|
namespace OpenSim.Data.Tests
|
||||||
|
{
|
||||||
|
public class BasicAssetTest
|
||||||
|
{
|
||||||
|
public AssetDataBase db;
|
||||||
|
public UUID uuid1;
|
||||||
|
public UUID uuid2;
|
||||||
|
public UUID uuid3;
|
||||||
|
|
||||||
|
public void SuperInit()
|
||||||
|
{
|
||||||
|
uuid1 = UUID.Random();
|
||||||
|
uuid2 = UUID.Random();
|
||||||
|
uuid3 = UUID.Random();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void T001_LoadEmpty()
|
||||||
|
{
|
||||||
|
Assert.That(db.ExistsAsset(uuid1), Is.False);
|
||||||
|
Assert.That(db.ExistsAsset(uuid2), Is.False);
|
||||||
|
Assert.That(db.ExistsAsset(uuid3), Is.False);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void T010_StoreSimpleAsset()
|
||||||
|
{
|
||||||
|
AssetBase a1 = new AssetBase(uuid1, "asset one");
|
||||||
|
AssetBase a2 = new AssetBase(uuid2, "asset two");
|
||||||
|
AssetBase a3 = new AssetBase(uuid3, "asset three");
|
||||||
|
db.CreateAsset(a1);
|
||||||
|
db.CreateAsset(a2);
|
||||||
|
db.CreateAsset(a3);
|
||||||
|
|
||||||
|
AssetBase a1a = db.FetchAsset(uuid1);
|
||||||
|
Assert.That(a1.ID.ToString(), Text.Matches(a1a.ID.ToString()));
|
||||||
|
Assert.That(a1.Name, Text.Matches(a1a.Name));
|
||||||
|
|
||||||
|
AssetBase a2a = db.FetchAsset(uuid2);
|
||||||
|
Assert.That(a2.ID.ToString(), Text.Matches(a2a.ID.ToString()));
|
||||||
|
Assert.That(a2.Name, Text.Matches(a2a.Name));
|
||||||
|
|
||||||
|
AssetBase a3a = db.FetchAsset(uuid3);
|
||||||
|
Assert.That(a3.ID.ToString(), Text.Matches(a3a.ID.ToString()));
|
||||||
|
Assert.That(a3.Name, Text.Matches(a3a.Name));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void T011_ExistsSimpleAsset()
|
||||||
|
{
|
||||||
|
Assert.That(db.ExistsAsset(uuid1), Is.True);
|
||||||
|
Assert.That(db.ExistsAsset(uuid2), Is.True);
|
||||||
|
Assert.That(db.ExistsAsset(uuid3), Is.True);
|
||||||
|
}
|
||||||
|
|
||||||
|
// this has questionable use, but it is in the interface at the moment.
|
||||||
|
// [Test]
|
||||||
|
// public void T012_DeleteAsset()
|
||||||
|
// {
|
||||||
|
// db.DeleteAsset(uuid1);
|
||||||
|
// db.DeleteAsset(uuid2);
|
||||||
|
// db.DeleteAsset(uuid3);
|
||||||
|
// Assert.That(db.ExistsAsset(uuid1), Is.False);
|
||||||
|
// Assert.That(db.ExistsAsset(uuid2), Is.False);
|
||||||
|
// Assert.That(db.ExistsAsset(uuid3), Is.False);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,132 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSim Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using NUnit.Framework;
|
||||||
|
using NUnit.Framework.SyntaxHelpers;
|
||||||
|
using OpenSim.Framework;
|
||||||
|
using OpenSim.Data;
|
||||||
|
using OpenSim.Region.Environment.Interfaces;
|
||||||
|
using OpenSim.Region.Environment.Scenes;
|
||||||
|
using OpenMetaverse;
|
||||||
|
|
||||||
|
namespace OpenSim.Data.Tests
|
||||||
|
{
|
||||||
|
public class BasicRegionTest
|
||||||
|
{
|
||||||
|
public IRegionDataStore db;
|
||||||
|
public UUID region;
|
||||||
|
|
||||||
|
public void SuperInit()
|
||||||
|
{
|
||||||
|
region = UUID.Random();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void T001_LoadEmpty()
|
||||||
|
{
|
||||||
|
List<SceneObjectGroup> objs = db.LoadObjects(region);
|
||||||
|
Assert.AreEqual(0, objs.Count);
|
||||||
|
}
|
||||||
|
|
||||||
|
// SOG round trips
|
||||||
|
// * store objects, make sure they save
|
||||||
|
// * update
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void T010_StoreSimpleObject()
|
||||||
|
{
|
||||||
|
SceneObjectGroup sog = NewSOG("object1");
|
||||||
|
SceneObjectGroup sog2 = NewSOG("object2");
|
||||||
|
|
||||||
|
db.StoreObject(sog, region);
|
||||||
|
db.StoreObject(sog2, region);
|
||||||
|
|
||||||
|
// This tests the ADO.NET driver
|
||||||
|
List<SceneObjectGroup> objs = db.LoadObjects(region);
|
||||||
|
Assert.AreEqual(2, objs.Count);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void T011_ObjectNames()
|
||||||
|
{
|
||||||
|
List<SceneObjectGroup> objs = db.LoadObjects(region);
|
||||||
|
foreach (SceneObjectGroup sog in objs)
|
||||||
|
{
|
||||||
|
SceneObjectPart p = sog.RootPart;
|
||||||
|
Assert.That("", Text.DoesNotMatch(p.Name));
|
||||||
|
Assert.That(p.Name, Text.Matches(p.Description));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void T012_UpdateObject()
|
||||||
|
{
|
||||||
|
string text = "object1 text";
|
||||||
|
SceneObjectGroup sog = FindSOG("object1", region);
|
||||||
|
sog.RootPart.Text = text;
|
||||||
|
db.StoreObject(sog, region);
|
||||||
|
|
||||||
|
sog = FindSOG("object1", region);
|
||||||
|
Assert.That(text, Text.Matches(sog.RootPart.Text));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extra private methods
|
||||||
|
|
||||||
|
private SceneObjectGroup FindSOG(string name, UUID r)
|
||||||
|
{
|
||||||
|
List<SceneObjectGroup> objs = db.LoadObjects(r);
|
||||||
|
foreach (SceneObjectGroup sog in objs)
|
||||||
|
{
|
||||||
|
SceneObjectPart p = sog.RootPart;
|
||||||
|
if (p.Name == name) {
|
||||||
|
return sog;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private SceneObjectGroup NewSOG(string name)
|
||||||
|
{
|
||||||
|
SceneObjectGroup sog = new SceneObjectGroup();
|
||||||
|
SceneObjectPart sop = new SceneObjectPart();
|
||||||
|
sop.LocalId = 1;
|
||||||
|
sop.Name = name;
|
||||||
|
sop.Description = name;
|
||||||
|
sop.Text = "";
|
||||||
|
sop.SitName = "";
|
||||||
|
sop.TouchName = "";
|
||||||
|
sop.UUID = UUID.Random();
|
||||||
|
sop.Shape = PrimitiveBaseShape.Default;
|
||||||
|
sog.AddPart(sop);
|
||||||
|
sog.RootPart = sop;
|
||||||
|
return sog;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,63 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSim Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using NUnit.Framework;
|
||||||
|
using NUnit.Framework.SyntaxHelpers;
|
||||||
|
using OpenSim.Data;
|
||||||
|
using OpenSim.Framework;
|
||||||
|
using OpenSim.Region.Environment.Scenes;
|
||||||
|
using OpenMetaverse;
|
||||||
|
|
||||||
|
namespace OpenSim.Data.Tests
|
||||||
|
{
|
||||||
|
public class BasicUserTest
|
||||||
|
{
|
||||||
|
public UserDataBase db;
|
||||||
|
public UUID uuid1;
|
||||||
|
public UUID uuid2;
|
||||||
|
public UUID uuid3;
|
||||||
|
|
||||||
|
public void SuperInit()
|
||||||
|
{
|
||||||
|
uuid1 = UUID.Random();
|
||||||
|
uuid2 = UUID.Random();
|
||||||
|
uuid3 = UUID.Random();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void T001_LoadEmpty()
|
||||||
|
{
|
||||||
|
Assert.That(db.GetUserByUUID(UUID.Zero), Is.Null);
|
||||||
|
Assert.That(db.GetUserByUUID(uuid1), Is.Null);
|
||||||
|
Assert.That(db.GetUserByUUID(uuid2), Is.Null);
|
||||||
|
Assert.That(db.GetUserByUUID(uuid3), Is.Null);
|
||||||
|
Assert.That(db.GetUserByUUID(UUID.Random()), Is.Null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue