diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Data/MySQL/Tests/MySQLAssetTest.cs | 22 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/Tests/MySQLEstateTest.cs | 54 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/Tests/MySQLGridTest.cs | 94 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/Tests/MySQLInventoryTest.cs | 30 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/Tests/MySQLRegionTest.cs | 53 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/SQLiteUserAccountData.cs (renamed from OpenSim/Data/MySQL/Tests/MySQLUserTest.cs) | 82 |
6 files changed, 142 insertions, 193 deletions
diff --git a/OpenSim/Data/MySQL/Tests/MySQLAssetTest.cs b/OpenSim/Data/MySQL/Tests/MySQLAssetTest.cs index e1d3f81..a46fdf8 100644 --- a/OpenSim/Data/MySQL/Tests/MySQLAssetTest.cs +++ b/OpenSim/Data/MySQL/Tests/MySQLAssetTest.cs | |||
@@ -31,6 +31,7 @@ using OpenSim.Data.Tests; | |||
31 | using log4net; | 31 | using log4net; |
32 | using System.Reflection; | 32 | using System.Reflection; |
33 | using OpenSim.Tests.Common; | 33 | using OpenSim.Tests.Common; |
34 | using MySql.Data.MySqlClient; | ||
34 | 35 | ||
35 | namespace OpenSim.Data.MySQL.Tests | 36 | namespace OpenSim.Data.MySQL.Tests |
36 | { | 37 | { |
@@ -39,7 +40,7 @@ namespace OpenSim.Data.MySQL.Tests | |||
39 | { | 40 | { |
40 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 41 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
41 | public string file; | 42 | public string file; |
42 | public MySQLManager database; | 43 | private string m_connectionString; |
43 | public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;"; | 44 | public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;"; |
44 | 45 | ||
45 | [TestFixtureSetUp] | 46 | [TestFixtureSetUp] |
@@ -52,7 +53,6 @@ namespace OpenSim.Data.MySQL.Tests | |||
52 | // tests. | 53 | // tests. |
53 | try | 54 | try |
54 | { | 55 | { |
55 | database = new MySQLManager(connect); | ||
56 | db = new MySQLAssetData(); | 56 | db = new MySQLAssetData(); |
57 | db.Initialise(connect); | 57 | db.Initialise(connect); |
58 | } | 58 | } |
@@ -70,10 +70,22 @@ namespace OpenSim.Data.MySQL.Tests | |||
70 | { | 70 | { |
71 | db.Dispose(); | 71 | db.Dispose(); |
72 | } | 72 | } |
73 | if (database != null) | 73 | ExecuteSql("drop table migrations"); |
74 | ExecuteSql("drop table assets"); | ||
75 | } | ||
76 | |||
77 | /// <summary> | ||
78 | /// Execute a MySqlCommand | ||
79 | /// </summary> | ||
80 | /// <param name="sql">sql string to execute</param> | ||
81 | private void ExecuteSql(string sql) | ||
82 | { | ||
83 | using (MySqlConnection dbcon = new MySqlConnection(connect)) | ||
74 | { | 84 | { |
75 | database.ExecuteSql("drop table migrations"); | 85 | dbcon.Open(); |
76 | database.ExecuteSql("drop table assets"); | 86 | |
87 | MySqlCommand cmd = new MySqlCommand(sql, dbcon); | ||
88 | cmd.ExecuteNonQuery(); | ||
77 | } | 89 | } |
78 | } | 90 | } |
79 | } | 91 | } |
diff --git a/OpenSim/Data/MySQL/Tests/MySQLEstateTest.cs b/OpenSim/Data/MySQL/Tests/MySQLEstateTest.cs index 48486b1..01afcae 100644 --- a/OpenSim/Data/MySQL/Tests/MySQLEstateTest.cs +++ b/OpenSim/Data/MySQL/Tests/MySQLEstateTest.cs | |||
@@ -31,6 +31,8 @@ using OpenSim.Data.Tests; | |||
31 | using log4net; | 31 | using log4net; |
32 | using System.Reflection; | 32 | using System.Reflection; |
33 | using OpenSim.Tests.Common; | 33 | using OpenSim.Tests.Common; |
34 | using MySql.Data.MySqlClient; | ||
35 | |||
34 | 36 | ||
35 | namespace OpenSim.Data.MySQL.Tests | 37 | namespace OpenSim.Data.MySQL.Tests |
36 | { | 38 | { |
@@ -39,7 +41,6 @@ namespace OpenSim.Data.MySQL.Tests | |||
39 | { | 41 | { |
40 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 42 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
41 | public string file; | 43 | public string file; |
42 | public MySQLManager database; | ||
43 | public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;"; | 44 | public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;"; |
44 | 45 | ||
45 | [TestFixtureSetUp] | 46 | [TestFixtureSetUp] |
@@ -52,9 +53,8 @@ namespace OpenSim.Data.MySQL.Tests | |||
52 | // tests. | 53 | // tests. |
53 | try | 54 | try |
54 | { | 55 | { |
55 | database = new MySQLManager(connect); | ||
56 | // clear db incase to ensure we are in a clean state | 56 | // clear db incase to ensure we are in a clean state |
57 | ClearDB(database); | 57 | ClearDB(); |
58 | 58 | ||
59 | regionDb = new MySQLDataStore(); | 59 | regionDb = new MySQLDataStore(); |
60 | regionDb.Initialise(connect); | 60 | regionDb.Initialise(connect); |
@@ -75,29 +75,41 @@ namespace OpenSim.Data.MySQL.Tests | |||
75 | { | 75 | { |
76 | regionDb.Dispose(); | 76 | regionDb.Dispose(); |
77 | } | 77 | } |
78 | ClearDB(database); | 78 | ClearDB(); |
79 | } | 79 | } |
80 | 80 | ||
81 | private void ClearDB(MySQLManager manager) | 81 | private void ClearDB() |
82 | { | 82 | { |
83 | // if a new table is added, it has to be dropped here | 83 | // if a new table is added, it has to be dropped here |
84 | if (manager != null) | 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)) | ||
85 | { | 108 | { |
86 | manager.ExecuteSql("drop table if exists migrations"); | 109 | dbcon.Open(); |
87 | manager.ExecuteSql("drop table if exists prims"); | 110 | |
88 | manager.ExecuteSql("drop table if exists primshapes"); | 111 | MySqlCommand cmd = new MySqlCommand(sql, dbcon); |
89 | manager.ExecuteSql("drop table if exists primitems"); | 112 | cmd.ExecuteNonQuery(); |
90 | manager.ExecuteSql("drop table if exists terrain"); | ||
91 | manager.ExecuteSql("drop table if exists land"); | ||
92 | manager.ExecuteSql("drop table if exists landaccesslist"); | ||
93 | manager.ExecuteSql("drop table if exists regionban"); | ||
94 | manager.ExecuteSql("drop table if exists regionsettings"); | ||
95 | manager.ExecuteSql("drop table if exists estate_managers"); | ||
96 | manager.ExecuteSql("drop table if exists estate_groups"); | ||
97 | manager.ExecuteSql("drop table if exists estate_users"); | ||
98 | manager.ExecuteSql("drop table if exists estateban"); | ||
99 | manager.ExecuteSql("drop table if exists estate_settings"); | ||
100 | manager.ExecuteSql("drop table if exists estate_map"); | ||
101 | } | 113 | } |
102 | } | 114 | } |
103 | } | 115 | } |
diff --git a/OpenSim/Data/MySQL/Tests/MySQLGridTest.cs b/OpenSim/Data/MySQL/Tests/MySQLGridTest.cs deleted file mode 100644 index 8272316..0000000 --- a/OpenSim/Data/MySQL/Tests/MySQLGridTest.cs +++ /dev/null | |||
@@ -1,94 +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 MySQLGridTest : BasicGridTest | ||
40 | { | ||
41 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||
42 | |||
43 | public string file; | ||
44 | public MySQLManager database; | ||
45 | public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;"; | ||
46 | |||
47 | [TestFixtureSetUp] | ||
48 | public void Init() | ||
49 | { | ||
50 | SuperInit(); | ||
51 | // If we manage to connect to the database with the user | ||
52 | // and password above it is our test database, and run | ||
53 | // these tests. If anything goes wrong, ignore these | ||
54 | // tests. | ||
55 | try | ||
56 | { | ||
57 | database = new MySQLManager(connect); | ||
58 | db = new MySQLGridData(); | ||
59 | db.Initialise(connect); | ||
60 | } | ||
61 | catch (Exception e) | ||
62 | { | ||
63 | m_log.Error("Exception {0}", e); | ||
64 | Assert.Ignore(); | ||
65 | } | ||
66 | |||
67 | // This actually does the roll forward assembly stuff | ||
68 | Assembly assem = GetType().Assembly; | ||
69 | |||
70 | using (MySqlConnection dbcon = new MySqlConnection(connect)) | ||
71 | { | ||
72 | dbcon.Open(); | ||
73 | Migration m = new Migration(dbcon, assem, "AssetStore"); | ||
74 | m.Update(); | ||
75 | } | ||
76 | } | ||
77 | |||
78 | [TestFixtureTearDown] | ||
79 | public void Cleanup() | ||
80 | { | ||
81 | m_log.Warn("Cleaning up."); | ||
82 | if (db != null) | ||
83 | { | ||
84 | db.Dispose(); | ||
85 | } | ||
86 | // if a new table is added, it has to be dropped here | ||
87 | if (database != null) | ||
88 | { | ||
89 | database.ExecuteSql("drop table migrations"); | ||
90 | database.ExecuteSql("drop table regions"); | ||
91 | } | ||
92 | } | ||
93 | } | ||
94 | } | ||
diff --git a/OpenSim/Data/MySQL/Tests/MySQLInventoryTest.cs b/OpenSim/Data/MySQL/Tests/MySQLInventoryTest.cs index a3a32dc..4575493 100644 --- a/OpenSim/Data/MySQL/Tests/MySQLInventoryTest.cs +++ b/OpenSim/Data/MySQL/Tests/MySQLInventoryTest.cs | |||
@@ -31,6 +31,8 @@ using OpenSim.Data.Tests; | |||
31 | using log4net; | 31 | using log4net; |
32 | using System.Reflection; | 32 | using System.Reflection; |
33 | using OpenSim.Tests.Common; | 33 | using OpenSim.Tests.Common; |
34 | using MySql.Data.MySqlClient; | ||
35 | |||
34 | 36 | ||
35 | namespace OpenSim.Data.MySQL.Tests | 37 | namespace OpenSim.Data.MySQL.Tests |
36 | { | 38 | { |
@@ -39,7 +41,6 @@ namespace OpenSim.Data.MySQL.Tests | |||
39 | { | 41 | { |
40 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 42 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
41 | public string file; | 43 | public string file; |
42 | public MySQLManager database; | ||
43 | public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;"; | 44 | public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;"; |
44 | 45 | ||
45 | [TestFixtureSetUp] | 46 | [TestFixtureSetUp] |
@@ -52,7 +53,6 @@ namespace OpenSim.Data.MySQL.Tests | |||
52 | // tests. | 53 | // tests. |
53 | try | 54 | try |
54 | { | 55 | { |
55 | database = new MySQLManager(connect); | ||
56 | DropTables(); | 56 | DropTables(); |
57 | db = new MySQLInventoryData(); | 57 | db = new MySQLInventoryData(); |
58 | db.Initialise(connect); | 58 | db.Initialise(connect); |
@@ -71,17 +71,29 @@ namespace OpenSim.Data.MySQL.Tests | |||
71 | { | 71 | { |
72 | db.Dispose(); | 72 | db.Dispose(); |
73 | } | 73 | } |
74 | if (database != null) | 74 | DropTables(); |
75 | { | ||
76 | DropTables(); | ||
77 | } | ||
78 | } | 75 | } |
79 | 76 | ||
80 | private void DropTables() | 77 | private void DropTables() |
81 | { | 78 | { |
82 | database.ExecuteSql("drop table IF EXISTS inventoryitems"); | 79 | ExecuteSql("drop table IF EXISTS inventoryitems"); |
83 | database.ExecuteSql("drop table IF EXISTS inventoryfolders"); | 80 | ExecuteSql("drop table IF EXISTS inventoryfolders"); |
84 | database.ExecuteSql("drop table IF EXISTS migrations"); | 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 | } | ||
85 | } | 97 | } |
86 | } | 98 | } |
87 | } | 99 | } |
diff --git a/OpenSim/Data/MySQL/Tests/MySQLRegionTest.cs b/OpenSim/Data/MySQL/Tests/MySQLRegionTest.cs index 0dc8b7d..e7e57e4 100644 --- a/OpenSim/Data/MySQL/Tests/MySQLRegionTest.cs +++ b/OpenSim/Data/MySQL/Tests/MySQLRegionTest.cs | |||
@@ -31,6 +31,7 @@ using OpenSim.Data.Tests; | |||
31 | using log4net; | 31 | using log4net; |
32 | using System.Reflection; | 32 | using System.Reflection; |
33 | using OpenSim.Tests.Common; | 33 | using OpenSim.Tests.Common; |
34 | using MySql.Data.MySqlClient; | ||
34 | 35 | ||
35 | namespace OpenSim.Data.MySQL.Tests | 36 | namespace OpenSim.Data.MySQL.Tests |
36 | { | 37 | { |
@@ -39,7 +40,6 @@ namespace OpenSim.Data.MySQL.Tests | |||
39 | { | 40 | { |
40 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 41 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
41 | public string file; | 42 | public string file; |
42 | public MySQLManager database; | ||
43 | public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;"; | 43 | public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;"; |
44 | 44 | ||
45 | [TestFixtureSetUp] | 45 | [TestFixtureSetUp] |
@@ -52,9 +52,8 @@ namespace OpenSim.Data.MySQL.Tests | |||
52 | // tests. | 52 | // tests. |
53 | try | 53 | try |
54 | { | 54 | { |
55 | database = new MySQLManager(connect); | ||
56 | // this is important in case a previous run ended badly | 55 | // this is important in case a previous run ended badly |
57 | ClearDB(database); | 56 | ClearDB(); |
58 | 57 | ||
59 | db = new MySQLDataStore(); | 58 | db = new MySQLDataStore(); |
60 | db.Initialise(connect); | 59 | db.Initialise(connect); |
@@ -73,28 +72,40 @@ namespace OpenSim.Data.MySQL.Tests | |||
73 | { | 72 | { |
74 | db.Dispose(); | 73 | db.Dispose(); |
75 | } | 74 | } |
76 | ClearDB(database); | 75 | ClearDB(); |
77 | } | 76 | } |
78 | 77 | ||
79 | private void ClearDB(MySQLManager manager) | 78 | private void ClearDB() |
80 | { | 79 | { |
81 | if (manager != null) | 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)) | ||
82 | { | 104 | { |
83 | manager.ExecuteSql("drop table if exists migrations"); | 105 | dbcon.Open(); |
84 | manager.ExecuteSql("drop table if exists prims"); | 106 | |
85 | manager.ExecuteSql("drop table if exists primshapes"); | 107 | MySqlCommand cmd = new MySqlCommand(sql, dbcon); |
86 | manager.ExecuteSql("drop table if exists primitems"); | 108 | cmd.ExecuteNonQuery(); |
87 | manager.ExecuteSql("drop table if exists terrain"); | ||
88 | manager.ExecuteSql("drop table if exists land"); | ||
89 | manager.ExecuteSql("drop table if exists landaccesslist"); | ||
90 | manager.ExecuteSql("drop table if exists regionban"); | ||
91 | manager.ExecuteSql("drop table if exists regionsettings"); | ||
92 | manager.ExecuteSql("drop table if exists estate_managers"); | ||
93 | manager.ExecuteSql("drop table if exists estate_groups"); | ||
94 | manager.ExecuteSql("drop table if exists estate_users"); | ||
95 | manager.ExecuteSql("drop table if exists estateban"); | ||
96 | manager.ExecuteSql("drop table if exists estate_settings"); | ||
97 | manager.ExecuteSql("drop table if exists estate_map"); | ||
98 | } | 109 | } |
99 | } | 110 | } |
100 | } | 111 | } |
diff --git a/OpenSim/Data/MySQL/Tests/MySQLUserTest.cs b/OpenSim/Data/SQLite/SQLiteUserAccountData.cs index cf8139a..50e8c23 100644 --- a/OpenSim/Data/MySQL/Tests/MySQLUserTest.cs +++ b/OpenSim/Data/SQLite/SQLiteUserAccountData.cs | |||
@@ -26,60 +26,56 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using NUnit.Framework; | 29 | using System.Collections; |
30 | using OpenSim.Data.Tests; | 30 | using System.Collections.Generic; |
31 | using log4net; | 31 | using System.Data; |
32 | using System.Reflection; | 32 | using OpenMetaverse; |
33 | using OpenSim.Tests.Common; | 33 | using OpenSim.Framework; |
34 | using Mono.Data.SqliteClient; | ||
34 | 35 | ||
35 | namespace OpenSim.Data.MySQL.Tests | 36 | namespace OpenSim.Data.SQLite |
36 | { | 37 | { |
37 | [TestFixture, DatabaseTest] | 38 | public class SQLiteUserAccountData : SQLiteGenericTableHandler<UserAccountData>, IUserAccountData |
38 | public class MySQLUserTest : BasicUserTest | ||
39 | { | 39 | { |
40 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 40 | public SQLiteUserAccountData(string connectionString, string realm) |
41 | public string file; | 41 | : base(connectionString, realm, "UserAccount") |
42 | public MySQLManager database; | ||
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 | { | 42 | { |
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 | database = new MySQLManager(connect); | ||
56 | db = new MySQLUserData(); | ||
57 | db.Initialise(connect); | ||
58 | } | ||
59 | catch (Exception e) | ||
60 | { | ||
61 | m_log.Error("Exception {0}", e); | ||
62 | Assert.Ignore(); | ||
63 | } | ||
64 | } | 43 | } |
65 | 44 | ||
66 | [TestFixtureTearDown] | 45 | public UserAccountData[] GetUsers(UUID scopeID, string query) |
67 | public void Cleanup() | ||
68 | { | 46 | { |
69 | if (db != null) | 47 | string[] words = query.Split(new char[] {' '}); |
48 | |||
49 | for (int i = 0 ; i < words.Length ; i++) | ||
70 | { | 50 | { |
71 | db.Dispose(); | 51 | if (words[i].Length < 3) |
52 | { | ||
53 | if (i != words.Length - 1) | ||
54 | Array.Copy(words, i + 1, words, i, words.Length - i - 1); | ||
55 | Array.Resize(ref words, words.Length - 1); | ||
56 | } | ||
72 | } | 57 | } |
73 | // if a new table is added, it has to be dropped here | 58 | |
74 | if (database != null) | 59 | if (words.Length == 0) |
60 | return new UserAccountData[0]; | ||
61 | |||
62 | if (words.Length > 2) | ||
63 | return new UserAccountData[0]; | ||
64 | |||
65 | SqliteCommand cmd = new SqliteCommand(); | ||
66 | |||
67 | if (words.Length == 1) | ||
75 | { | 68 | { |
76 | database.ExecuteSql("drop table migrations"); | 69 | cmd.CommandText = String.Format("select * from {0} where ScopeID='{1}' or ScopeID='00000000-0000-0000-0000-000000000000') and (FirstName like '{2}%' or LastName like '{2}%')", |
77 | database.ExecuteSql("drop table users"); | 70 | m_Realm, scopeID.ToString(), words[0]); |
78 | database.ExecuteSql("drop table userfriends"); | ||
79 | database.ExecuteSql("drop table agents"); | ||
80 | database.ExecuteSql("drop table avatarappearance"); | ||
81 | database.ExecuteSql("drop table avatarattachments"); | ||
82 | } | 71 | } |
72 | else | ||
73 | { | ||
74 | cmd.CommandText = String.Format("select * from {0} where (ScopeID='{1}' or ScopeID='00000000-0000-0000-0000-000000000000') and (FirstName like '{2}%' or LastName like '{3}%')", | ||
75 | m_Realm, scopeID.ToString(), words[0], words[1]); | ||
76 | } | ||
77 | |||
78 | return DoQuery(cmd); | ||
83 | } | 79 | } |
84 | } | 80 | } |
85 | } | 81 | } |