diff options
-rw-r--r-- | OpenSim/Data/Tests/AssetTests.cs | 62 | ||||
-rw-r--r-- | OpenSim/Data/Tests/BasicAssetTest.cs | 166 | ||||
-rw-r--r-- | OpenSim/Data/Tests/EstateTests.cs | 26 | ||||
-rw-r--r-- | OpenSim/Data/Tests/InventoryTests.cs | 29 | ||||
-rw-r--r-- | OpenSim/Data/Tests/RegionTests.cs | 27 |
5 files changed, 137 insertions, 173 deletions
diff --git a/OpenSim/Data/Tests/AssetTests.cs b/OpenSim/Data/Tests/AssetTests.cs index acd5449..d228c1f 100644 --- a/OpenSim/Data/Tests/AssetTests.cs +++ b/OpenSim/Data/Tests/AssetTests.cs | |||
@@ -35,6 +35,10 @@ using OpenSim.Framework; | |||
35 | using System.Data.Common; | 35 | using System.Data.Common; |
36 | using log4net; | 36 | using log4net; |
37 | 37 | ||
38 | #if !NUNIT25 | ||
39 | using NUnit.Framework.SyntaxHelpers; | ||
40 | #endif | ||
41 | |||
38 | // DBMS-specific: | 42 | // DBMS-specific: |
39 | using MySql.Data.MySqlClient; | 43 | using MySql.Data.MySqlClient; |
40 | using OpenSim.Data.MySQL; | 44 | using OpenSim.Data.MySQL; |
@@ -47,25 +51,46 @@ using OpenSim.Data.SQLite; | |||
47 | 51 | ||
48 | namespace OpenSim.Data.Tests | 52 | namespace OpenSim.Data.Tests |
49 | { | 53 | { |
54 | |||
55 | #if NUNIT25 | ||
56 | |||
50 | [TestFixture(typeof(MySqlConnection), typeof(MySQLAssetData), Description="Basic Asset store tests (MySQL)")] | 57 | [TestFixture(typeof(MySqlConnection), typeof(MySQLAssetData), Description="Basic Asset store tests (MySQL)")] |
51 | [TestFixture(typeof(SqlConnection), typeof(MSSQLAssetData), Description = "Basic Asset store tests (MS SQL Server)")] | 58 | [TestFixture(typeof(SqlConnection), typeof(MSSQLAssetData), Description = "Basic Asset store tests (MS SQL Server)")] |
52 | [TestFixture(typeof(SqliteConnection), typeof(SQLiteAssetData), Description = "Basic Asset store tests (SQLite)")] | 59 | [TestFixture(typeof(SqliteConnection), typeof(SQLiteAssetData), Description = "Basic Asset store tests (SQLite)")] |
53 | 60 | ||
61 | #else | ||
62 | |||
63 | [TestFixture(Description = "Region store tests (SQLite)")] | ||
64 | public class SQLiteAssetTests : AssetTests<SqliteConnection, SQLiteAssetData> | ||
65 | { | ||
66 | } | ||
67 | |||
68 | [TestFixture(Description = "Region store tests (MySQL)")] | ||
69 | public class MySqlAssetTests : AssetTests<MySqlConnection, MySQLAssetData> | ||
70 | { | ||
71 | } | ||
72 | |||
73 | [TestFixture(Description = "Region store tests (MS SQL Server)")] | ||
74 | public class MSSQLAssetTests : AssetTests<SqlConnection, MSSQLAssetData> | ||
75 | { | ||
76 | } | ||
77 | |||
78 | #endif | ||
79 | |||
80 | |||
54 | public class AssetTests<TConn, TAssetData> : BasicDataServiceTest<TConn, TAssetData> | 81 | public class AssetTests<TConn, TAssetData> : BasicDataServiceTest<TConn, TAssetData> |
55 | where TConn : DbConnection, new() | 82 | where TConn : DbConnection, new() |
56 | where TAssetData : AssetDataBase, new() | 83 | where TAssetData : AssetDataBase, new() |
57 | { | 84 | { |
58 | TAssetData m_db; | 85 | TAssetData m_db; |
59 | 86 | ||
60 | const bool COMPARE_CREATOR = false; | ||
61 | |||
62 | public UUID uuid1 = UUID.Random(); | 87 | public UUID uuid1 = UUID.Random(); |
63 | public UUID uuid2 = UUID.Random(); | 88 | public UUID uuid2 = UUID.Random(); |
64 | public UUID uuid3 = UUID.Random(); | 89 | public UUID uuid3 = UUID.Random(); |
65 | 90 | ||
66 | public UUID critter1 = COMPARE_CREATOR ? UUID.Random() : UUID.Zero; | 91 | public string critter1 = UUID.Random().ToString(); |
67 | public UUID critter2 = COMPARE_CREATOR ? UUID.Random() : UUID.Zero; | 92 | public string critter2 = UUID.Random().ToString(); |
68 | public UUID critter3 = COMPARE_CREATOR ? UUID.Random() : UUID.Zero; | 93 | public string critter3 = UUID.Random().ToString(); |
69 | 94 | ||
70 | public byte[] data1 = new byte[100]; | 95 | public byte[] data1 = new byte[100]; |
71 | 96 | ||
@@ -157,5 +182,32 @@ namespace OpenSim.Data.Tests | |||
157 | Assert.That(metadata.FullID, Is.EqualTo(a1b.FullID)); | 182 | Assert.That(metadata.FullID, Is.EqualTo(a1b.FullID)); |
158 | } | 183 | } |
159 | } | 184 | } |
185 | |||
186 | [Test] | ||
187 | public void T020_CheckForWeirdCreatorID() | ||
188 | { | ||
189 | // It is expected that eventually the CreatorID might be an arbitrary string (an URI) | ||
190 | // rather than a valid UUID (?). This test is to make sure that the database layer does not | ||
191 | // attempt to convert CreatorID to GUID, but just passes it both ways as a string. | ||
192 | AssetBase a1 = new AssetBase(uuid1, "asset one", (sbyte)AssetType.Texture, critter1); | ||
193 | AssetBase a2 = new AssetBase(uuid2, "asset two", (sbyte)AssetType.Texture, "This is not a GUID!"); | ||
194 | AssetBase a3 = new AssetBase(uuid3, "asset three", (sbyte)AssetType.Texture, ""); | ||
195 | a1.Data = data1; | ||
196 | a2.Data = data1; | ||
197 | a3.Data = data1; | ||
198 | |||
199 | m_db.StoreAsset(a1); | ||
200 | m_db.StoreAsset(a2); | ||
201 | m_db.StoreAsset(a3); | ||
202 | |||
203 | AssetBase a1a = m_db.GetAsset(uuid1); | ||
204 | Assert.That(a1a, Constraints.PropertyCompareConstraint(a1)); | ||
205 | |||
206 | AssetBase a2a = m_db.GetAsset(uuid2); | ||
207 | Assert.That(a2a, Constraints.PropertyCompareConstraint(a2)); | ||
208 | |||
209 | AssetBase a3a = m_db.GetAsset(uuid3); | ||
210 | Assert.That(a3a, Constraints.PropertyCompareConstraint(a3)); | ||
211 | } | ||
160 | } | 212 | } |
161 | } | 213 | } |
diff --git a/OpenSim/Data/Tests/BasicAssetTest.cs b/OpenSim/Data/Tests/BasicAssetTest.cs deleted file mode 100644 index 71d6314..0000000 --- a/OpenSim/Data/Tests/BasicAssetTest.cs +++ /dev/null | |||
@@ -1,166 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSimulator Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System; | ||
29 | using System.Collections.Generic; | ||
30 | using log4net.Config; | ||
31 | using NUnit.Framework; | ||
32 | using NUnit.Framework.SyntaxHelpers; | ||
33 | using OpenMetaverse; | ||
34 | using OpenSim.Framework; | ||
35 | using log4net; | ||
36 | |||
37 | namespace OpenSim.Data.Tests | ||
38 | { | ||
39 | public class BasicAssetTest | ||
40 | { | ||
41 | public IAssetDataPlugin db; | ||
42 | public UUID uuid1; | ||
43 | public UUID uuid2; | ||
44 | public UUID uuid3; | ||
45 | public string critter1 = UUID.Random().ToString(); | ||
46 | public string critter2 = UUID.Random().ToString(); | ||
47 | public string critter3 = UUID.Random().ToString(); | ||
48 | public byte[] asset1; | ||
49 | PropertyScrambler<AssetBase> scrambler; | ||
50 | |||
51 | public void SuperInit() | ||
52 | { | ||
53 | OpenSim.Tests.Common.TestLogging.LogToConsole(); | ||
54 | |||
55 | uuid1 = UUID.Random(); | ||
56 | uuid2 = UUID.Random(); | ||
57 | uuid3 = UUID.Random(); | ||
58 | asset1 = new byte[100]; | ||
59 | asset1.Initialize(); | ||
60 | |||
61 | |||
62 | scrambler = new PropertyScrambler<AssetBase>() | ||
63 | .DontScramble(x => x.ID) | ||
64 | .DontScramble(x => x.FullID) | ||
65 | .DontScramble(x => x.Metadata.ID) | ||
66 | .DontScramble(x => x.Metadata.Type) | ||
67 | .DontScramble(x => x.Metadata.CreatorID) | ||
68 | .DontScramble(x => x.Metadata.ContentType) | ||
69 | .DontScramble(x => x.Metadata.FullID); | ||
70 | } | ||
71 | |||
72 | [Test] | ||
73 | public void T001_LoadEmpty() | ||
74 | { | ||
75 | Assert.That(db.ExistsAsset(uuid1), Is.False); | ||
76 | Assert.That(db.ExistsAsset(uuid2), Is.False); | ||
77 | Assert.That(db.ExistsAsset(uuid3), Is.False); | ||
78 | } | ||
79 | |||
80 | [Test] | ||
81 | public void T010_StoreSimpleAsset() | ||
82 | { | ||
83 | AssetBase a1 = new AssetBase(uuid1, "asset one", (sbyte)AssetType.Texture, critter1); | ||
84 | AssetBase a2 = new AssetBase(uuid2, "asset two", (sbyte)AssetType.Texture, critter2); | ||
85 | AssetBase a3 = new AssetBase(uuid3, "asset three", (sbyte)AssetType.Texture, critter3); | ||
86 | a1.Data = asset1; | ||
87 | a2.Data = asset1; | ||
88 | a3.Data = asset1; | ||
89 | |||
90 | scrambler.Scramble(a1); | ||
91 | scrambler.Scramble(a2); | ||
92 | scrambler.Scramble(a3); | ||
93 | |||
94 | db.StoreAsset(a1); | ||
95 | db.StoreAsset(a2); | ||
96 | db.StoreAsset(a3); | ||
97 | |||
98 | AssetBase a1a = db.GetAsset(uuid1); | ||
99 | Assert.That(a1a, Constraints.PropertyCompareConstraint(a1)); | ||
100 | |||
101 | AssetBase a2a = db.GetAsset(uuid2); | ||
102 | Assert.That(a2a, Constraints.PropertyCompareConstraint(a2)); | ||
103 | |||
104 | AssetBase a3a = db.GetAsset(uuid3); | ||
105 | Assert.That(a3a, Constraints.PropertyCompareConstraint(a3)); | ||
106 | |||
107 | scrambler.Scramble(a1a); | ||
108 | scrambler.Scramble(a2a); | ||
109 | scrambler.Scramble(a3a); | ||
110 | |||
111 | db.StoreAsset(a1a); | ||
112 | db.StoreAsset(a2a); | ||
113 | db.StoreAsset(a3a); | ||
114 | |||
115 | AssetBase a1b = db.GetAsset(uuid1); | ||
116 | Assert.That(a1b, Constraints.PropertyCompareConstraint(a1a)); | ||
117 | |||
118 | AssetBase a2b = db.GetAsset(uuid2); | ||
119 | Assert.That(a2b, Constraints.PropertyCompareConstraint(a2a)); | ||
120 | |||
121 | AssetBase a3b = db.GetAsset(uuid3); | ||
122 | Assert.That(a3b, Constraints.PropertyCompareConstraint(a3a)); | ||
123 | |||
124 | Assert.That(db.ExistsAsset(uuid1), Is.True); | ||
125 | Assert.That(db.ExistsAsset(uuid2), Is.True); | ||
126 | Assert.That(db.ExistsAsset(uuid3), Is.True); | ||
127 | |||
128 | List<AssetMetadata> metadatas = db.FetchAssetMetadataSet(0, 1000); | ||
129 | |||
130 | AssetMetadata metadata = metadatas.Find(x => x.FullID == uuid1); | ||
131 | Assert.That(metadata.Name, Is.EqualTo(a1b.Name)); | ||
132 | Assert.That(metadata.Description, Is.EqualTo(a1b.Description)); | ||
133 | Assert.That(metadata.Type, Is.EqualTo(a1b.Type)); | ||
134 | Assert.That(metadata.Temporary, Is.EqualTo(a1b.Temporary)); | ||
135 | Assert.That(metadata.FullID, Is.EqualTo(a1b.FullID)); | ||
136 | } | ||
137 | |||
138 | |||
139 | [Test] | ||
140 | public void T020_CheckForWeirdCreatorID() | ||
141 | { | ||
142 | // It is expected that eventually the CreatorID might be an arbitrary string (an URI) | ||
143 | // rather than a valid UUID (?). This test is to make sure that the database layer does not | ||
144 | // attempt to convert CreatorID to GUID, but just passes it both ways as a string. | ||
145 | AssetBase a1 = new AssetBase(uuid1, "asset one", (sbyte)AssetType.Texture, critter1); | ||
146 | AssetBase a2 = new AssetBase(uuid2, "asset two", (sbyte)AssetType.Texture, "This is not a GUID!"); | ||
147 | AssetBase a3 = new AssetBase(uuid3, "asset three", (sbyte)AssetType.Texture, ""); | ||
148 | a1.Data = asset1; | ||
149 | a2.Data = asset1; | ||
150 | a3.Data = asset1; | ||
151 | |||
152 | db.StoreAsset(a1); | ||
153 | db.StoreAsset(a2); | ||
154 | db.StoreAsset(a3); | ||
155 | |||
156 | AssetBase a1a = db.GetAsset(uuid1); | ||
157 | Assert.That(a1a, Constraints.PropertyCompareConstraint(a1)); | ||
158 | |||
159 | AssetBase a2a = db.GetAsset(uuid2); | ||
160 | Assert.That(a2a, Constraints.PropertyCompareConstraint(a2)); | ||
161 | |||
162 | AssetBase a3a = db.GetAsset(uuid3); | ||
163 | Assert.That(a3a, Constraints.PropertyCompareConstraint(a3)); | ||
164 | } | ||
165 | } | ||
166 | } | ||
diff --git a/OpenSim/Data/Tests/EstateTests.cs b/OpenSim/Data/Tests/EstateTests.cs index 4893cc7..2da010d 100644 --- a/OpenSim/Data/Tests/EstateTests.cs +++ b/OpenSim/Data/Tests/EstateTests.cs | |||
@@ -37,6 +37,10 @@ using log4net; | |||
37 | using System.Reflection; | 37 | using System.Reflection; |
38 | using System.Data.Common; | 38 | using System.Data.Common; |
39 | 39 | ||
40 | #if !NUNIT25 | ||
41 | using NUnit.Framework.SyntaxHelpers; | ||
42 | #endif | ||
43 | |||
40 | 44 | ||
41 | // DBMS-specific: | 45 | // DBMS-specific: |
42 | using MySql.Data.MySqlClient; | 46 | using MySql.Data.MySqlClient; |
@@ -51,10 +55,32 @@ using OpenSim.Data.SQLite; | |||
51 | 55 | ||
52 | namespace OpenSim.Data.Tests | 56 | namespace OpenSim.Data.Tests |
53 | { | 57 | { |
58 | |||
59 | #if NUNIT25 | ||
60 | |||
54 | [TestFixture(typeof(MySqlConnection), typeof(MySQLEstateStore), Description = "Estate store tests (MySQL)")] | 61 | [TestFixture(typeof(MySqlConnection), typeof(MySQLEstateStore), Description = "Estate store tests (MySQL)")] |
55 | [TestFixture(typeof(SqlConnection), typeof(MSSQLEstateStore), Description = "Estate store tests (MS SQL Server)")] | 62 | [TestFixture(typeof(SqlConnection), typeof(MSSQLEstateStore), Description = "Estate store tests (MS SQL Server)")] |
56 | [TestFixture(typeof(SqliteConnection), typeof(SQLiteEstateStore), Description = "Estate store tests (SQLite)")] | 63 | [TestFixture(typeof(SqliteConnection), typeof(SQLiteEstateStore), Description = "Estate store tests (SQLite)")] |
57 | 64 | ||
65 | #else | ||
66 | |||
67 | [TestFixture(Description = "Estate store tests (SQLite)")] | ||
68 | public class SQLiteEstateTests : EstateTests<SqliteConnection, SQLiteEstateStore> | ||
69 | { | ||
70 | } | ||
71 | |||
72 | [TestFixture(Description = "Estate store tests (MySQL)")] | ||
73 | public class MySqlEstateTests : EstateTests<MySqlConnection, MySQLEstateStore> | ||
74 | { | ||
75 | } | ||
76 | |||
77 | [TestFixture(Description = "Estate store tests (MS SQL Server)")] | ||
78 | public class MSSQLEstateTests : EstateTests<SqlConnection, MSSQLEstateStore> | ||
79 | { | ||
80 | } | ||
81 | |||
82 | #endif | ||
83 | |||
58 | public class EstateTests<TConn, TEstateStore> : BasicDataServiceTest<TConn, TEstateStore> | 84 | public class EstateTests<TConn, TEstateStore> : BasicDataServiceTest<TConn, TEstateStore> |
59 | where TConn : DbConnection, new() | 85 | where TConn : DbConnection, new() |
60 | where TEstateStore : class, IEstateDataStore, new() | 86 | where TEstateStore : class, IEstateDataStore, new() |
diff --git a/OpenSim/Data/Tests/InventoryTests.cs b/OpenSim/Data/Tests/InventoryTests.cs index d5f3be4..93e1eba 100644 --- a/OpenSim/Data/Tests/InventoryTests.cs +++ b/OpenSim/Data/Tests/InventoryTests.cs | |||
@@ -25,6 +25,8 @@ | |||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | // #define NUNIT25 | ||
29 | |||
28 | using System; | 30 | using System; |
29 | using log4net.Config; | 31 | using log4net.Config; |
30 | using NUnit.Framework; | 32 | using NUnit.Framework; |
@@ -35,6 +37,10 @@ using log4net; | |||
35 | using System.Reflection; | 37 | using System.Reflection; |
36 | using System.Data.Common; | 38 | using System.Data.Common; |
37 | 39 | ||
40 | #if !NUNIT25 | ||
41 | using NUnit.Framework.SyntaxHelpers; | ||
42 | #endif | ||
43 | |||
38 | // DBMS-specific: | 44 | // DBMS-specific: |
39 | using MySql.Data.MySqlClient; | 45 | using MySql.Data.MySqlClient; |
40 | using OpenSim.Data.MySQL; | 46 | using OpenSim.Data.MySQL; |
@@ -47,9 +53,29 @@ using OpenSim.Data.SQLite; | |||
47 | 53 | ||
48 | namespace OpenSim.Data.Tests | 54 | namespace OpenSim.Data.Tests |
49 | { | 55 | { |
56 | #if NUNIT25 | ||
57 | |||
58 | [TestFixture(typeof(SqliteConnection), typeof(SQLiteInventoryStore), Description = "Inventory store tests (SQLite)")] | ||
50 | [TestFixture(typeof(MySqlConnection), typeof(MySQLInventoryData), Description = "Inventory store tests (MySQL)")] | 59 | [TestFixture(typeof(MySqlConnection), typeof(MySQLInventoryData), Description = "Inventory store tests (MySQL)")] |
51 | [TestFixture(typeof(SqlConnection), typeof(MSSQLInventoryData), Description = "Inventory store tests (MS SQL Server)")] | 60 | [TestFixture(typeof(SqlConnection), typeof(MSSQLInventoryData), Description = "Inventory store tests (MS SQL Server)")] |
52 | [TestFixture(typeof(SqliteConnection), typeof(SQLiteInventoryStore), Description = "Inventory store tests (SQLite)")] | 61 | |
62 | #else | ||
63 | |||
64 | [TestFixture(Description = "Inventory store tests (SQLite)")] | ||
65 | public class SQLiteInventoryTests : InventoryTests<SqliteConnection, SQLiteInventoryStore> | ||
66 | { | ||
67 | } | ||
68 | |||
69 | [TestFixture(Description = "Inventory store tests (MySQL)")] | ||
70 | public class MySqlInventoryTests : InventoryTests<MySqlConnection, MySQLInventoryData> | ||
71 | { | ||
72 | } | ||
73 | |||
74 | [TestFixture(Description = "Inventory store tests (MS SQL Server)")] | ||
75 | public class MSSQLInventoryTests : InventoryTests<SqlConnection, MSSQLInventoryData> | ||
76 | { | ||
77 | } | ||
78 | #endif | ||
53 | 79 | ||
54 | public class InventoryTests<TConn, TInvStore> : BasicDataServiceTest<TConn, TInvStore> | 80 | public class InventoryTests<TConn, TInvStore> : BasicDataServiceTest<TConn, TInvStore> |
55 | where TConn : DbConnection, new() | 81 | where TConn : DbConnection, new() |
@@ -85,6 +111,7 @@ namespace OpenSim.Data.Tests | |||
85 | { | 111 | { |
86 | name1 = "Root Folder for " + owner1.ToString(); | 112 | name1 = "Root Folder for " + owner1.ToString(); |
87 | } | 113 | } |
114 | public InventoryTests() : this("") { } | ||
88 | 115 | ||
89 | protected override void InitService(object service) | 116 | protected override void InitService(object service) |
90 | { | 117 | { |
diff --git a/OpenSim/Data/Tests/RegionTests.cs b/OpenSim/Data/Tests/RegionTests.cs index f38dc4a..5ac2dd0 100644 --- a/OpenSim/Data/Tests/RegionTests.cs +++ b/OpenSim/Data/Tests/RegionTests.cs | |||
@@ -40,6 +40,10 @@ using log4net; | |||
40 | using System.Reflection; | 40 | using System.Reflection; |
41 | using System.Data.Common; | 41 | using System.Data.Common; |
42 | 42 | ||
43 | #if !NUNIT25 | ||
44 | using NUnit.Framework.SyntaxHelpers; | ||
45 | #endif | ||
46 | |||
43 | // DBMS-specific: | 47 | // DBMS-specific: |
44 | using MySql.Data.MySqlClient; | 48 | using MySql.Data.MySqlClient; |
45 | using OpenSim.Data.MySQL; | 49 | using OpenSim.Data.MySQL; |
@@ -52,9 +56,30 @@ using OpenSim.Data.SQLite; | |||
52 | 56 | ||
53 | namespace OpenSim.Data.Tests | 57 | namespace OpenSim.Data.Tests |
54 | { | 58 | { |
59 | #if NUNIT25 | ||
60 | |||
61 | [TestFixture(typeof(SqliteConnection), typeof(SQLiteRegionData), Description = "Region store tests (SQLite)")] | ||
55 | [TestFixture(typeof(MySqlConnection), typeof(MySqlRegionData), Description = "Region store tests (MySQL)")] | 62 | [TestFixture(typeof(MySqlConnection), typeof(MySqlRegionData), Description = "Region store tests (MySQL)")] |
56 | [TestFixture(typeof(SqlConnection), typeof(MSSQLRegionData), Description = "Region store tests (MS SQL Server)")] | 63 | [TestFixture(typeof(SqlConnection), typeof(MSSQLRegionData), Description = "Region store tests (MS SQL Server)")] |
57 | [TestFixture(typeof(SqliteConnection), typeof(SQLiteRegionData), Description = "Region store tests (SQLite)")] | 64 | |
65 | #else | ||
66 | |||
67 | [TestFixture(Description = "Region store tests (SQLite)")] | ||
68 | public class SQLiteRegionTests : RegionTests<SqliteConnection, SQLiteRegionData> | ||
69 | { | ||
70 | } | ||
71 | |||
72 | [TestFixture(Description = "Region store tests (MySQL)")] | ||
73 | public class MySqlRegionTests : RegionTests<MySqlConnection, MySQLDataStore> | ||
74 | { | ||
75 | } | ||
76 | |||
77 | [TestFixture(Description = "Region store tests (MS SQL Server)")] | ||
78 | public class MSSQLRegionTests : RegionTests<SqlConnection, MSSQLRegionDataStore> | ||
79 | { | ||
80 | } | ||
81 | |||
82 | #endif | ||
58 | 83 | ||
59 | public class RegionTests<TConn, TRegStore> : BasicDataServiceTest<TConn, TRegStore> | 84 | public class RegionTests<TConn, TRegStore> : BasicDataServiceTest<TConn, TRegStore> |
60 | where TConn : DbConnection, new() | 85 | where TConn : DbConnection, new() |