diff options
author | AlexRa | 2010-05-17 15:54:43 +0300 |
---|---|---|
committer | AlexRa | 2010-05-23 11:47:39 +0300 |
commit | 7f70ae0ebd686507bc15ac6fc7eeb75ed0b9b64a (patch) | |
tree | 8e9893cf02218f72888d5cdb12f8bb8a21cc5698 /OpenSim/Data | |
parent | Added generic base classes for testing database services (diff) | |
download | opensim-SC-7f70ae0ebd686507bc15ac6fc7eeb75ed0b9b64a.zip opensim-SC-7f70ae0ebd686507bc15ac6fc7eeb75ed0b9b64a.tar.gz opensim-SC-7f70ae0ebd686507bc15ac6fc7eeb75ed0b9b64a.tar.bz2 opensim-SC-7f70ae0ebd686507bc15ac6fc7eeb75ed0b9b64a.tar.xz |
All data tests made DBMS-independent
Diffstat (limited to 'OpenSim/Data')
-rw-r--r-- | OpenSim/Data/MSSQL/MSSQLEstateData.cs | 2 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/Tests/MySQLEstateTest.cs | 116 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/Tests/MySQLInventoryTest.cs | 99 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/Tests/MySQLRegionTest.cs | 112 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/Tests/SQLiteEstateTest.cs | 65 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/Tests/SQLiteInventoryTest.cs | 66 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/Tests/SQLiteRegionTest.cs | 64 | ||||
-rw-r--r-- | OpenSim/Data/Tests/EstateTests.cs (renamed from OpenSim/Data/Tests/BasicEstateTest.cs) | 51 | ||||
-rw-r--r-- | OpenSim/Data/Tests/InventoryTests.cs (renamed from OpenSim/Data/Tests/BasicInventoryTest.cs) | 94 | ||||
-rw-r--r-- | OpenSim/Data/Tests/RegionTests.cs (renamed from OpenSim/Data/Tests/BasicRegionTest.cs) | 101 |
10 files changed, 160 insertions, 610 deletions
diff --git a/OpenSim/Data/MSSQL/MSSQLEstateData.cs b/OpenSim/Data/MSSQL/MSSQLEstateData.cs index 66931e2..80bf106 100644 --- a/OpenSim/Data/MSSQL/MSSQLEstateData.cs +++ b/OpenSim/Data/MSSQL/MSSQLEstateData.cs | |||
@@ -37,7 +37,7 @@ using OpenSim.Region.Framework.Interfaces; | |||
37 | 37 | ||
38 | namespace OpenSim.Data.MSSQL | 38 | namespace OpenSim.Data.MSSQL |
39 | { | 39 | { |
40 | public class MSSQLEstateData : IEstateDataStore | 40 | public class MSSQLEstateStore : IEstateDataStore |
41 | { | 41 | { |
42 | private const string _migrationStore = "EstateStore"; | 42 | private const string _migrationStore = "EstateStore"; |
43 | 43 | ||
diff --git a/OpenSim/Data/MySQL/Tests/MySQLEstateTest.cs b/OpenSim/Data/MySQL/Tests/MySQLEstateTest.cs deleted file mode 100644 index 01afcae..0000000 --- a/OpenSim/Data/MySQL/Tests/MySQLEstateTest.cs +++ /dev/null | |||
@@ -1,116 +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 NUnit.Framework; | ||
30 | using OpenSim.Data.Tests; | ||
31 | using log4net; | ||
32 | using System.Reflection; | ||
33 | using OpenSim.Tests.Common; | ||
34 | using MySql.Data.MySqlClient; | ||
35 | |||
36 | |||
37 | namespace OpenSim.Data.MySQL.Tests | ||
38 | { | ||
39 | [TestFixture, DatabaseTest] | ||
40 | public class MySQLEstateTest : BasicEstateTest | ||
41 | { | ||
42 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||
43 | public string file; | ||
44 | public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;"; | ||
45 | |||
46 | [TestFixtureSetUp] | ||
47 | public void Init() | ||
48 | { | ||
49 | SuperInit(); | ||
50 | // If we manage to connect to the database with the user | ||
51 | // and password above it is our test database, and run | ||
52 | // these tests. If anything goes wrong, ignore these | ||
53 | // tests. | ||
54 | try | ||
55 | { | ||
56 | // clear db incase to ensure we are in a clean state | ||
57 | ClearDB(); | ||
58 | |||
59 | regionDb = new MySQLDataStore(); | ||
60 | regionDb.Initialise(connect); | ||
61 | db = new MySQLEstateStore(); | ||
62 | db.Initialise(connect); | ||
63 | } | ||
64 | catch (Exception e) | ||
65 | { | ||
66 | m_log.Error("Exception {0}", e); | ||
67 | Assert.Ignore(); | ||
68 | } | ||
69 | } | ||
70 | |||
71 | [TestFixtureTearDown] | ||
72 | public void Cleanup() | ||
73 | { | ||
74 | if (regionDb != null) | ||
75 | { | ||
76 | regionDb.Dispose(); | ||
77 | } | ||
78 | ClearDB(); | ||
79 | } | ||
80 | |||
81 | private void ClearDB() | ||
82 | { | ||
83 | // if a new table is added, it has to be dropped here | ||
84 | ExecuteSql("drop table if exists migrations"); | ||
85 | ExecuteSql("drop table if exists prims"); | ||
86 | ExecuteSql("drop table if exists primshapes"); | ||
87 | ExecuteSql("drop table if exists primitems"); | ||
88 | ExecuteSql("drop table if exists terrain"); | ||
89 | ExecuteSql("drop table if exists land"); | ||
90 | ExecuteSql("drop table if exists landaccesslist"); | ||
91 | ExecuteSql("drop table if exists regionban"); | ||
92 | ExecuteSql("drop table if exists regionsettings"); | ||
93 | ExecuteSql("drop table if exists estate_managers"); | ||
94 | ExecuteSql("drop table if exists estate_groups"); | ||
95 | ExecuteSql("drop table if exists estate_users"); | ||
96 | ExecuteSql("drop table if exists estateban"); | ||
97 | ExecuteSql("drop table if exists estate_settings"); | ||
98 | ExecuteSql("drop table if exists estate_map"); | ||
99 | } | ||
100 | |||
101 | /// <summary> | ||
102 | /// Execute a MySqlCommand | ||
103 | /// </summary> | ||
104 | /// <param name="sql">sql string to execute</param> | ||
105 | private void ExecuteSql(string sql) | ||
106 | { | ||
107 | using (MySqlConnection dbcon = new MySqlConnection(connect)) | ||
108 | { | ||
109 | dbcon.Open(); | ||
110 | |||
111 | MySqlCommand cmd = new MySqlCommand(sql, dbcon); | ||
112 | cmd.ExecuteNonQuery(); | ||
113 | } | ||
114 | } | ||
115 | } | ||
116 | } | ||
diff --git a/OpenSim/Data/MySQL/Tests/MySQLInventoryTest.cs b/OpenSim/Data/MySQL/Tests/MySQLInventoryTest.cs deleted file mode 100644 index 4575493..0000000 --- a/OpenSim/Data/MySQL/Tests/MySQLInventoryTest.cs +++ /dev/null | |||
@@ -1,99 +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 NUnit.Framework; | ||
30 | using OpenSim.Data.Tests; | ||
31 | using log4net; | ||
32 | using System.Reflection; | ||
33 | using OpenSim.Tests.Common; | ||
34 | using MySql.Data.MySqlClient; | ||
35 | |||
36 | |||
37 | namespace OpenSim.Data.MySQL.Tests | ||
38 | { | ||
39 | [TestFixture, DatabaseTest] | ||
40 | public class MySQLInventoryTest : BasicInventoryTest | ||
41 | { | ||
42 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||
43 | public string file; | ||
44 | public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;"; | ||
45 | |||
46 | [TestFixtureSetUp] | ||
47 | public void Init() | ||
48 | { | ||
49 | SuperInit(); | ||
50 | // If we manage to connect to the database with the user | ||
51 | // and password above it is our test database, and run | ||
52 | // these tests. If anything goes wrong, ignore these | ||
53 | // tests. | ||
54 | try | ||
55 | { | ||
56 | DropTables(); | ||
57 | db = new MySQLInventoryData(); | ||
58 | db.Initialise(connect); | ||
59 | } | ||
60 | catch (Exception e) | ||
61 | { | ||
62 | m_log.Error("Exception {0}", e); | ||
63 | Assert.Ignore(); | ||
64 | } | ||
65 | } | ||
66 | |||
67 | [TestFixtureTearDown] | ||
68 | public void Cleanup() | ||
69 | { | ||
70 | if (db != null) | ||
71 | { | ||
72 | db.Dispose(); | ||
73 | } | ||
74 | DropTables(); | ||
75 | } | ||
76 | |||
77 | private void DropTables() | ||
78 | { | ||
79 | ExecuteSql("drop table IF EXISTS inventoryitems"); | ||
80 | ExecuteSql("drop table IF EXISTS inventoryfolders"); | ||
81 | ExecuteSql("drop table IF EXISTS migrations"); | ||
82 | } | ||
83 | |||
84 | /// <summary> | ||
85 | /// Execute a MySqlCommand | ||
86 | /// </summary> | ||
87 | /// <param name="sql">sql string to execute</param> | ||
88 | private void ExecuteSql(string sql) | ||
89 | { | ||
90 | using (MySqlConnection dbcon = new MySqlConnection(connect)) | ||
91 | { | ||
92 | dbcon.Open(); | ||
93 | |||
94 | MySqlCommand cmd = new MySqlCommand(sql, dbcon); | ||
95 | cmd.ExecuteNonQuery(); | ||
96 | } | ||
97 | } | ||
98 | } | ||
99 | } | ||
diff --git a/OpenSim/Data/MySQL/Tests/MySQLRegionTest.cs b/OpenSim/Data/MySQL/Tests/MySQLRegionTest.cs deleted file mode 100644 index e7e57e4..0000000 --- a/OpenSim/Data/MySQL/Tests/MySQLRegionTest.cs +++ /dev/null | |||
@@ -1,112 +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 NUnit.Framework; | ||
30 | using OpenSim.Data.Tests; | ||
31 | using log4net; | ||
32 | using System.Reflection; | ||
33 | using OpenSim.Tests.Common; | ||
34 | using MySql.Data.MySqlClient; | ||
35 | |||
36 | namespace OpenSim.Data.MySQL.Tests | ||
37 | { | ||
38 | [TestFixture, DatabaseTest] | ||
39 | public class MySQLRegionTest : BasicRegionTest | ||
40 | { | ||
41 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||
42 | public string file; | ||
43 | public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;"; | ||
44 | |||
45 | [TestFixtureSetUp] | ||
46 | public void Init() | ||
47 | { | ||
48 | SuperInit(); | ||
49 | // If we manage to connect to the database with the user | ||
50 | // and password above it is our test database, and run | ||
51 | // these tests. If anything goes wrong, ignore these | ||
52 | // tests. | ||
53 | try | ||
54 | { | ||
55 | // this is important in case a previous run ended badly | ||
56 | ClearDB(); | ||
57 | |||
58 | db = new MySQLDataStore(); | ||
59 | db.Initialise(connect); | ||
60 | } | ||
61 | catch (Exception e) | ||
62 | { | ||
63 | m_log.Error("Exception {0}", e); | ||
64 | Assert.Ignore(); | ||
65 | } | ||
66 | } | ||
67 | |||
68 | [TestFixtureTearDown] | ||
69 | public void Cleanup() | ||
70 | { | ||
71 | if (db != null) | ||
72 | { | ||
73 | db.Dispose(); | ||
74 | } | ||
75 | ClearDB(); | ||
76 | } | ||
77 | |||
78 | private void ClearDB() | ||
79 | { | ||
80 | ExecuteSql("drop table if exists migrations"); | ||
81 | ExecuteSql("drop table if exists prims"); | ||
82 | ExecuteSql("drop table if exists primshapes"); | ||
83 | ExecuteSql("drop table if exists primitems"); | ||
84 | ExecuteSql("drop table if exists terrain"); | ||
85 | ExecuteSql("drop table if exists land"); | ||
86 | ExecuteSql("drop table if exists landaccesslist"); | ||
87 | ExecuteSql("drop table if exists regionban"); | ||
88 | ExecuteSql("drop table if exists regionsettings"); | ||
89 | ExecuteSql("drop table if exists estate_managers"); | ||
90 | ExecuteSql("drop table if exists estate_groups"); | ||
91 | ExecuteSql("drop table if exists estate_users"); | ||
92 | ExecuteSql("drop table if exists estateban"); | ||
93 | ExecuteSql("drop table if exists estate_settings"); | ||
94 | ExecuteSql("drop table if exists estate_map"); | ||
95 | } | ||
96 | |||
97 | /// <summary> | ||
98 | /// Execute a MySqlCommand | ||
99 | /// </summary> | ||
100 | /// <param name="sql">sql string to execute</param> | ||
101 | private void ExecuteSql(string sql) | ||
102 | { | ||
103 | using (MySqlConnection dbcon = new MySqlConnection(connect)) | ||
104 | { | ||
105 | dbcon.Open(); | ||
106 | |||
107 | MySqlCommand cmd = new MySqlCommand(sql, dbcon); | ||
108 | cmd.ExecuteNonQuery(); | ||
109 | } | ||
110 | } | ||
111 | } | ||
112 | } | ||
diff --git a/OpenSim/Data/SQLite/Tests/SQLiteEstateTest.cs b/OpenSim/Data/SQLite/Tests/SQLiteEstateTest.cs deleted file mode 100644 index 30f6641..0000000 --- a/OpenSim/Data/SQLite/Tests/SQLiteEstateTest.cs +++ /dev/null | |||
@@ -1,65 +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.IO; | ||
29 | using NUnit.Framework; | ||
30 | using OpenSim.Data.Tests; | ||
31 | using OpenSim.Tests.Common; | ||
32 | |||
33 | namespace OpenSim.Data.SQLite.Tests | ||
34 | { | ||
35 | [TestFixture, DatabaseTest] | ||
36 | public class SQLiteEstateTest : BasicEstateTest | ||
37 | { | ||
38 | public string file = "regiontest.db"; | ||
39 | public string connect; | ||
40 | |||
41 | [TestFixtureSetUp] | ||
42 | public void Init() | ||
43 | { | ||
44 | // SQLite doesn't work on power or z linux | ||
45 | if (Directory.Exists("/proc/ppc64") || Directory.Exists("/proc/dasd")) | ||
46 | { | ||
47 | Assert.Ignore(); | ||
48 | } | ||
49 | |||
50 | SuperInit(); | ||
51 | file = Path.GetTempFileName() + ".db"; | ||
52 | connect = "URI=file:" + file + ",version=3"; | ||
53 | db = new SQLiteEstateStore(); | ||
54 | db.Initialise(connect); | ||
55 | regionDb = new SQLiteRegionData(); | ||
56 | regionDb.Initialise(connect); | ||
57 | } | ||
58 | |||
59 | [TestFixtureTearDown] | ||
60 | public void Cleanup() | ||
61 | { | ||
62 | regionDb.Dispose(); | ||
63 | } | ||
64 | } | ||
65 | } | ||
diff --git a/OpenSim/Data/SQLite/Tests/SQLiteInventoryTest.cs b/OpenSim/Data/SQLite/Tests/SQLiteInventoryTest.cs deleted file mode 100644 index 98458a3..0000000 --- a/OpenSim/Data/SQLite/Tests/SQLiteInventoryTest.cs +++ /dev/null | |||
@@ -1,66 +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.IO; | ||
29 | using NUnit.Framework; | ||
30 | using OpenSim.Data.Tests; | ||
31 | using OpenSim.Tests.Common; | ||
32 | |||
33 | namespace OpenSim.Data.SQLite.Tests | ||
34 | { | ||
35 | [TestFixture, DatabaseTest] | ||
36 | public class SQLiteInventoryTest : BasicInventoryTest | ||
37 | { | ||
38 | public string file; | ||
39 | public string connect; | ||
40 | |||
41 | [TestFixtureSetUp] | ||
42 | public void Init() | ||
43 | { | ||
44 | // SQLite doesn't work on power or z linux | ||
45 | if (Directory.Exists("/proc/ppc64") || Directory.Exists("/proc/dasd")) | ||
46 | { | ||
47 | Assert.Ignore(); | ||
48 | } | ||
49 | |||
50 | SuperInit(); | ||
51 | |||
52 | file = Path.GetTempFileName() + ".db"; | ||
53 | connect = "URI=file:" + file + ",version=3"; | ||
54 | |||
55 | db = new SQLiteInventoryStore(); | ||
56 | db.Initialise(connect); | ||
57 | } | ||
58 | |||
59 | [TestFixtureTearDown] | ||
60 | public void Cleanup() | ||
61 | { | ||
62 | db.Dispose(); | ||
63 | File.Delete(file); | ||
64 | } | ||
65 | } | ||
66 | } | ||
diff --git a/OpenSim/Data/SQLite/Tests/SQLiteRegionTest.cs b/OpenSim/Data/SQLite/Tests/SQLiteRegionTest.cs deleted file mode 100644 index abb97cf..0000000 --- a/OpenSim/Data/SQLite/Tests/SQLiteRegionTest.cs +++ /dev/null | |||
@@ -1,64 +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.IO; | ||
29 | using NUnit.Framework; | ||
30 | using OpenSim.Data.Tests; | ||
31 | using OpenSim.Tests.Common; | ||
32 | |||
33 | namespace OpenSim.Data.SQLite.Tests | ||
34 | { | ||
35 | [TestFixture, DatabaseTest] | ||
36 | public class SQLiteRegionTest : BasicRegionTest | ||
37 | { | ||
38 | public string file = "regiontest.db"; | ||
39 | public string connect; | ||
40 | |||
41 | [TestFixtureSetUp] | ||
42 | public void Init() | ||
43 | { | ||
44 | // SQLite doesn't work on power or z linux | ||
45 | if (Directory.Exists("/proc/ppc64") || Directory.Exists("/proc/dasd")) | ||
46 | { | ||
47 | Assert.Ignore(); | ||
48 | } | ||
49 | |||
50 | SuperInit(); | ||
51 | file = Path.GetTempFileName() + ".db"; | ||
52 | connect = "URI=file:" + file + ",version=3"; | ||
53 | db = new SQLiteRegionData(); | ||
54 | db.Initialise(connect); | ||
55 | } | ||
56 | |||
57 | [TestFixtureTearDown] | ||
58 | public void Cleanup() | ||
59 | { | ||
60 | db.Dispose(); | ||
61 | File.Delete(file); | ||
62 | } | ||
63 | } | ||
64 | } | ||
diff --git a/OpenSim/Data/Tests/BasicEstateTest.cs b/OpenSim/Data/Tests/EstateTests.cs index d14d405..7f13925 100644 --- a/OpenSim/Data/Tests/BasicEstateTest.cs +++ b/OpenSim/Data/Tests/EstateTests.cs | |||
@@ -35,13 +35,31 @@ using OpenSim.Region.Framework.Interfaces; | |||
35 | using System.Text; | 35 | using System.Text; |
36 | using log4net; | 36 | using log4net; |
37 | using System.Reflection; | 37 | using System.Reflection; |
38 | using System.Data.Common; | ||
39 | |||
40 | |||
41 | // DBMS-specific: | ||
42 | using MySql.Data.MySqlClient; | ||
43 | using OpenSim.Data.MySQL; | ||
44 | |||
45 | using System.Data.SqlClient; | ||
46 | using OpenSim.Data.MSSQL; | ||
47 | |||
48 | using Mono.Data.Sqlite; | ||
49 | using OpenSim.Data.SQLite; | ||
50 | |||
38 | 51 | ||
39 | namespace OpenSim.Data.Tests | 52 | namespace OpenSim.Data.Tests |
40 | { | 53 | { |
41 | public class BasicEstateTest | 54 | [TestFixture(typeof(MySqlConnection), typeof(MySQLEstateStore), Description = "Estate store tests (MySQL)")] |
55 | [TestFixture(typeof(SqlConnection), typeof(MSSQLEstateStore), Description = "Estate store tests (MS SQL Server)")] | ||
56 | [TestFixture(typeof(SqliteConnection), typeof(SQLiteEstateStore), Description = "Estate store tests (SQLite)")] | ||
57 | |||
58 | public class EstateTests<TConn, TEstateStore> : BasicDataServiceTest<TConn, TEstateStore> | ||
59 | where TConn : DbConnection, new() | ||
60 | where TEstateStore : class, IEstateDataStore, new() | ||
42 | { | 61 | { |
43 | public IEstateDataStore db; | 62 | public IEstateDataStore db; |
44 | public IRegionDataStore regionDb; | ||
45 | 63 | ||
46 | public static UUID REGION_ID = new UUID("250d214e-1c7e-4f9b-a488-87c5e53feed7"); | 64 | public static UUID REGION_ID = new UUID("250d214e-1c7e-4f9b-a488-87c5e53feed7"); |
47 | 65 | ||
@@ -54,9 +72,34 @@ namespace OpenSim.Data.Tests | |||
54 | public static UUID GROUP_ID_1 = new UUID("250d214e-1c7e-4f9b-a488-87c5e53feed5"); | 72 | public static UUID GROUP_ID_1 = new UUID("250d214e-1c7e-4f9b-a488-87c5e53feed5"); |
55 | public static UUID GROUP_ID_2 = new UUID("250d214e-1c7e-4f9b-a488-87c5e53feed6"); | 73 | public static UUID GROUP_ID_2 = new UUID("250d214e-1c7e-4f9b-a488-87c5e53feed6"); |
56 | 74 | ||
57 | public void SuperInit() | 75 | protected override void InitService(object service) |
76 | { | ||
77 | db = (IEstateDataStore)service; | ||
78 | db.Initialise(m_connStr); | ||
79 | ClearDB(); | ||
80 | } | ||
81 | |||
82 | private void ClearDB() | ||
58 | { | 83 | { |
59 | OpenSim.Tests.Common.TestLogging.LogToConsole(); | 84 | // if a new table is added, it has to be dropped here |
85 | ExecuteSql("delete from migrations where name='EstateStore';"); | ||
86 | |||
87 | DropTables( | ||
88 | "prims", | ||
89 | "primshapes", | ||
90 | "primitems", | ||
91 | "terrain", | ||
92 | "land", | ||
93 | "landaccesslist", | ||
94 | "regionban", | ||
95 | "regionsettings", | ||
96 | "estate_managers", | ||
97 | "estate_groups", | ||
98 | "estate_users", | ||
99 | "estateban", | ||
100 | "estate_settings", | ||
101 | "estate_map" | ||
102 | ); | ||
60 | } | 103 | } |
61 | 104 | ||
62 | #region 0Tests | 105 | #region 0Tests |
diff --git a/OpenSim/Data/Tests/BasicInventoryTest.cs b/OpenSim/Data/Tests/InventoryTests.cs index 900186b..876dcf9 100644 --- a/OpenSim/Data/Tests/BasicInventoryTest.cs +++ b/OpenSim/Data/Tests/InventoryTests.cs | |||
@@ -33,62 +33,70 @@ using OpenMetaverse; | |||
33 | using OpenSim.Framework; | 33 | using OpenSim.Framework; |
34 | using log4net; | 34 | using log4net; |
35 | using System.Reflection; | 35 | using System.Reflection; |
36 | using System.Data.Common; | ||
37 | |||
38 | // DBMS-specific: | ||
39 | using MySql.Data.MySqlClient; | ||
40 | using OpenSim.Data.MySQL; | ||
41 | |||
42 | using System.Data.SqlClient; | ||
43 | using OpenSim.Data.MSSQL; | ||
44 | |||
45 | using Mono.Data.Sqlite; | ||
46 | using OpenSim.Data.SQLite; | ||
36 | 47 | ||
37 | namespace OpenSim.Data.Tests | 48 | namespace OpenSim.Data.Tests |
38 | { | 49 | { |
39 | public class BasicInventoryTest | 50 | [TestFixture(typeof(MySqlConnection), typeof(MySQLInventoryData), Description = "Inventory store tests (MySQL)")] |
51 | [TestFixture(typeof(SqlConnection), typeof(MSSQLInventoryData), Description = "Inventory store tests (MS SQL Server)")] | ||
52 | [TestFixture(typeof(SqliteConnection), typeof(SQLiteInventoryStore), Description = "Inventory store tests (SQLite)")] | ||
53 | |||
54 | public class InventoryTests<TConn, TInvStore> : BasicDataServiceTest<TConn, TInvStore> | ||
55 | where TConn : DbConnection, new() | ||
56 | where TInvStore : class, IInventoryDataPlugin, new() | ||
40 | { | 57 | { |
41 | //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||
42 | public IInventoryDataPlugin db; | 58 | public IInventoryDataPlugin db; |
59 | |||
43 | public UUID zero = UUID.Zero; | 60 | public UUID zero = UUID.Zero; |
44 | 61 | ||
45 | public UUID folder1; | 62 | public UUID folder1 = UUID.Random(); |
46 | public UUID folder2; | 63 | public UUID folder2 = UUID.Random(); |
47 | public UUID folder3; | 64 | public UUID folder3 = UUID.Random(); |
48 | public UUID owner1; | 65 | public UUID owner1 = UUID.Random(); |
49 | public UUID owner2; | 66 | public UUID owner2 = UUID.Random(); |
50 | public UUID owner3; | 67 | public UUID owner3 = UUID.Random(); |
51 | 68 | ||
52 | public UUID item1; | 69 | public UUID item1 = UUID.Random(); |
53 | public UUID item2; | 70 | public UUID item2 = UUID.Random(); |
54 | public UUID item3; | 71 | public UUID item3 = UUID.Random(); |
55 | public UUID asset1; | 72 | public UUID asset1 = UUID.Random(); |
56 | public UUID asset2; | 73 | public UUID asset2 = UUID.Random(); |
57 | public UUID asset3; | 74 | public UUID asset3 = UUID.Random(); |
58 | 75 | ||
59 | public string name1; | 76 | public string name1; |
60 | public string name2; | 77 | public string name2 = "First Level folder"; |
61 | public string name3; | 78 | public string name3 = "First Level folder 2"; |
62 | public string niname1; | 79 | public string niname1 = "My Shirt"; |
63 | public string iname1; | 80 | public string iname1 = "Shirt"; |
64 | public string iname2; | 81 | public string iname2 = "Text Board"; |
65 | public string iname3; | 82 | public string iname3 = "No Pants Barrel"; |
66 | 83 | ||
67 | public void SuperInit() | 84 | public InventoryTests(string conn) : base(conn) |
68 | { | 85 | { |
69 | OpenSim.Tests.Common.TestLogging.LogToConsole(); | ||
70 | |||
71 | folder1 = UUID.Random(); | ||
72 | folder2 = UUID.Random(); | ||
73 | folder3 = UUID.Random(); | ||
74 | owner1 = UUID.Random(); | ||
75 | owner2 = UUID.Random(); | ||
76 | owner3 = UUID.Random(); | ||
77 | item1 = UUID.Random(); | ||
78 | item2 = UUID.Random(); | ||
79 | item3 = UUID.Random(); | ||
80 | asset1 = UUID.Random(); | ||
81 | asset2 = UUID.Random(); | ||
82 | asset3 = UUID.Random(); | ||
83 | |||
84 | name1 = "Root Folder for " + owner1.ToString(); | 86 | name1 = "Root Folder for " + owner1.ToString(); |
85 | name2 = "First Level folder"; | 87 | } |
86 | name3 = "First Level folder 2"; | ||
87 | niname1 = "My Shirt"; | ||
88 | iname1 = "Shirt"; | ||
89 | iname2 = "Text Board"; | ||
90 | iname3 = "No Pants Barrel"; | ||
91 | 88 | ||
89 | protected override void InitService(object service) | ||
90 | { | ||
91 | db = (IInventoryDataPlugin)service; | ||
92 | db.Initialise(m_connStr); | ||
93 | ClearDB(); | ||
94 | } | ||
95 | |||
96 | private void ClearDB() | ||
97 | { | ||
98 | DropTables("inventoryitems", "inventoryfolders"); | ||
99 | ExecuteSql("delete from migrations where name='Inventory'"); | ||
92 | } | 100 | } |
93 | 101 | ||
94 | [Test] | 102 | [Test] |
diff --git a/OpenSim/Data/Tests/BasicRegionTest.cs b/OpenSim/Data/Tests/RegionTests.cs index dfbf522..2a97368 100644 --- a/OpenSim/Data/Tests/BasicRegionTest.cs +++ b/OpenSim/Data/Tests/RegionTests.cs | |||
@@ -38,59 +38,80 @@ using OpenSim.Region.Framework.Interfaces; | |||
38 | using OpenSim.Region.Framework.Scenes; | 38 | using OpenSim.Region.Framework.Scenes; |
39 | using log4net; | 39 | using log4net; |
40 | using System.Reflection; | 40 | using System.Reflection; |
41 | using System.Data.Common; | ||
42 | |||
43 | // DBMS-specific: | ||
44 | using MySql.Data.MySqlClient; | ||
45 | using OpenSim.Data.MySQL; | ||
46 | |||
47 | using System.Data.SqlClient; | ||
48 | using OpenSim.Data.MSSQL; | ||
49 | |||
50 | using Mono.Data.Sqlite; | ||
51 | using OpenSim.Data.SQLite; | ||
41 | 52 | ||
42 | namespace OpenSim.Data.Tests | 53 | namespace OpenSim.Data.Tests |
43 | { | 54 | { |
44 | public class BasicRegionTest | 55 | [TestFixture(typeof(MySqlConnection), typeof(MySqlRegionData), Description = "Region store tests (MySQL)")] |
56 | [TestFixture(typeof(SqlConnection), typeof(MSSQLRegionData), Description = "Region store tests (MS SQL Server)")] | ||
57 | [TestFixture(typeof(SqliteConnection), typeof(SQLiteRegionData), Description = "Region store tests (SQLite)")] | ||
58 | |||
59 | public class RegionTests<TConn, TRegStore> : BasicDataServiceTest<TConn, TRegStore> | ||
60 | where TConn : DbConnection, new() | ||
61 | where TRegStore : class, IRegionDataStore, new() | ||
45 | { | 62 | { |
46 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||
47 | public IRegionDataStore db; | 63 | public IRegionDataStore db; |
48 | public UUID zero = UUID.Zero; | 64 | public UUID zero = UUID.Zero; |
49 | public UUID region1; | 65 | public UUID region1 = UUID.Random(); |
50 | public UUID region2; | 66 | public UUID region2 = UUID.Random(); |
51 | public UUID region3; | 67 | public UUID region3 = UUID.Random(); |
52 | public UUID region4; | 68 | public UUID region4 = UUID.Random(); |
53 | public UUID prim1; | 69 | public UUID prim1 = UUID.Random(); |
54 | public UUID prim2; | 70 | public UUID prim2 = UUID.Random(); |
55 | public UUID prim3; | 71 | public UUID prim3 = UUID.Random(); |
56 | public UUID prim4; | 72 | public UUID prim4 = UUID.Random(); |
57 | public UUID prim5; | 73 | public UUID prim5 = UUID.Random(); |
58 | public UUID prim6; | 74 | public UUID prim6 = UUID.Random(); |
59 | public UUID item1; | 75 | public UUID item1 = UUID.Random(); |
60 | public UUID item2; | 76 | public UUID item2 = UUID.Random(); |
61 | public UUID item3; | 77 | public UUID item3 = UUID.Random(); |
62 | 78 | ||
63 | public static Random random; | 79 | public static Random random = new Random(); |
64 | 80 | ||
65 | public string itemname1 = "item1"; | 81 | public string itemname1 = "item1"; |
66 | 82 | ||
67 | public uint localID; | 83 | public uint localID = 1; |
68 | 84 | ||
69 | public double height1; | 85 | public double height1 = 20; |
70 | public double height2; | 86 | public double height2 = 100; |
71 | 87 | ||
72 | public void SuperInit() | 88 | |
89 | protected override void InitService(object service) | ||
90 | { | ||
91 | db = (IRegionDataStore)service; | ||
92 | db.Initialise(m_connStr); | ||
93 | ClearDB(); | ||
94 | } | ||
95 | |||
96 | |||
97 | private void ClearDB() | ||
73 | { | 98 | { |
74 | OpenSim.Tests.Common.TestLogging.LogToConsole(); | 99 | // if a new table is added, it has to be dropped here |
75 | 100 | ExecuteSql("delete from migrations where name='RegionStore';"); | |
76 | region1 = UUID.Random(); | 101 | |
77 | region3 = UUID.Random(); | 102 | DropTables( |
78 | region4 = UUID.Random(); | 103 | "prims", |
79 | prim1 = UUID.Random(); | 104 | "primshapes", |
80 | prim2 = UUID.Random(); | 105 | "primitems", |
81 | prim3 = UUID.Random(); | 106 | "terrain", |
82 | prim4 = UUID.Random(); | 107 | "land", |
83 | prim5 = UUID.Random(); | 108 | "landaccesslist", |
84 | prim6 = UUID.Random(); | 109 | "regionban", |
85 | item1 = UUID.Random(); | 110 | "regionsettings" |
86 | item2 = UUID.Random(); | 111 | ); |
87 | item3 = UUID.Random(); | ||
88 | random = new Random(); | ||
89 | localID = 1; | ||
90 | height1 = 20; | ||
91 | height2 = 100; | ||
92 | } | 112 | } |
93 | 113 | ||
114 | |||
94 | // Test Plan | 115 | // Test Plan |
95 | // Prims | 116 | // Prims |
96 | // - empty test - 001 | 117 | // - empty test - 001 |