mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 08:55:56 +08:00
Merge branch 'master' into careminster-presence-refactor
This commit is contained in:
81
OpenSim/Data/MySQL/Resources/EstateStore.migrations
Normal file
81
OpenSim/Data/MySQL/Resources/EstateStore.migrations
Normal file
@@ -0,0 +1,81 @@
|
||||
:VERSION 13
|
||||
|
||||
# The estate migrations used to be in Region store
|
||||
# here they will do nothing (bad) if the tables are already there,
|
||||
# just update the store version.
|
||||
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `estate_managers` (
|
||||
`EstateID` int(10) unsigned NOT NULL,
|
||||
`uuid` char(36) NOT NULL,
|
||||
KEY `EstateID` (`EstateID`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `estate_groups` (
|
||||
`EstateID` int(10) unsigned NOT NULL,
|
||||
`uuid` char(36) NOT NULL,
|
||||
KEY `EstateID` (`EstateID`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `estate_users` (
|
||||
`EstateID` int(10) unsigned NOT NULL,
|
||||
`uuid` char(36) NOT NULL,
|
||||
KEY `EstateID` (`EstateID`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `estateban` (
|
||||
`EstateID` int(10) unsigned NOT NULL,
|
||||
`bannedUUID` varchar(36) NOT NULL,
|
||||
`bannedIp` varchar(16) NOT NULL,
|
||||
`bannedIpHostMask` varchar(16) NOT NULL,
|
||||
`bannedNameMask` varchar(64) default NULL,
|
||||
KEY `estateban_EstateID` (`EstateID`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `estate_settings` (
|
||||
`EstateID` int(10) unsigned NOT NULL auto_increment,
|
||||
`EstateName` varchar(64) default NULL,
|
||||
`AbuseEmailToEstateOwner` tinyint(4) NOT NULL,
|
||||
`DenyAnonymous` tinyint(4) NOT NULL,
|
||||
`ResetHomeOnTeleport` tinyint(4) NOT NULL,
|
||||
`FixedSun` tinyint(4) NOT NULL,
|
||||
`DenyTransacted` tinyint(4) NOT NULL,
|
||||
`BlockDwell` tinyint(4) NOT NULL,
|
||||
`DenyIdentified` tinyint(4) NOT NULL,
|
||||
`AllowVoice` tinyint(4) NOT NULL,
|
||||
`UseGlobalTime` tinyint(4) NOT NULL,
|
||||
`PricePerMeter` int(11) NOT NULL,
|
||||
`TaxFree` tinyint(4) NOT NULL,
|
||||
`AllowDirectTeleport` tinyint(4) NOT NULL,
|
||||
`RedirectGridX` int(11) NOT NULL,
|
||||
`RedirectGridY` int(11) NOT NULL,
|
||||
`ParentEstateID` int(10) unsigned NOT NULL,
|
||||
`SunPosition` double NOT NULL,
|
||||
`EstateSkipScripts` tinyint(4) NOT NULL,
|
||||
`BillableFactor` float NOT NULL,
|
||||
`PublicAccess` tinyint(4) NOT NULL,
|
||||
`AbuseEmail` varchar(255) not null,
|
||||
`EstateOwner` varchar(36) not null,
|
||||
`DenyMinors` tinyint not null,
|
||||
|
||||
PRIMARY KEY (`EstateID`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=100;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `estate_map` (
|
||||
`RegionID` char(36) NOT NULL default '00000000-0000-0000-0000-000000000000',
|
||||
`EstateID` int(11) NOT NULL,
|
||||
PRIMARY KEY (`RegionID`),
|
||||
KEY `EstateID` (`EstateID`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
COMMIT;
|
||||
|
||||
:VERSION 32 #--------------------- (moved from RegionStore migr, just in case)
|
||||
|
||||
BEGIN;
|
||||
ALTER TABLE estate_settings AUTO_INCREMENT = 100;
|
||||
COMMIT;
|
||||
|
||||
|
||||
|
||||
@@ -386,84 +386,6 @@ CREATE TABLE `regionsettings` (
|
||||
PRIMARY KEY (`regionUUID`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE `estate_managers` (
|
||||
`EstateID` int(10) unsigned NOT NULL,
|
||||
`uuid` char(36) NOT NULL,
|
||||
KEY `EstateID` (`EstateID`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE `estate_groups` (
|
||||
`EstateID` int(10) unsigned NOT NULL,
|
||||
`uuid` char(36) NOT NULL,
|
||||
KEY `EstateID` (`EstateID`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE `estate_users` (
|
||||
`EstateID` int(10) unsigned NOT NULL,
|
||||
`uuid` char(36) NOT NULL,
|
||||
KEY `EstateID` (`EstateID`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE `estateban` (
|
||||
`EstateID` int(10) unsigned NOT NULL,
|
||||
`bannedUUID` varchar(36) NOT NULL,
|
||||
`bannedIp` varchar(16) NOT NULL,
|
||||
`bannedIpHostMask` varchar(16) NOT NULL,
|
||||
`bannedNameMask` varchar(64) default NULL,
|
||||
KEY `estateban_EstateID` (`EstateID`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE `estate_settings` (
|
||||
`EstateID` int(10) unsigned NOT NULL auto_increment,
|
||||
`EstateName` varchar(64) default NULL,
|
||||
`AbuseEmailToEstateOwner` tinyint(4) NOT NULL,
|
||||
`DenyAnonymous` tinyint(4) NOT NULL,
|
||||
`ResetHomeOnTeleport` tinyint(4) NOT NULL,
|
||||
`FixedSun` tinyint(4) NOT NULL,
|
||||
`DenyTransacted` tinyint(4) NOT NULL,
|
||||
`BlockDwell` tinyint(4) NOT NULL,
|
||||
`DenyIdentified` tinyint(4) NOT NULL,
|
||||
`AllowVoice` tinyint(4) NOT NULL,
|
||||
`UseGlobalTime` tinyint(4) NOT NULL,
|
||||
`PricePerMeter` int(11) NOT NULL,
|
||||
`TaxFree` tinyint(4) NOT NULL,
|
||||
`AllowDirectTeleport` tinyint(4) NOT NULL,
|
||||
`RedirectGridX` int(11) NOT NULL,
|
||||
`RedirectGridY` int(11) NOT NULL,
|
||||
`ParentEstateID` int(10) unsigned NOT NULL,
|
||||
`SunPosition` double NOT NULL,
|
||||
`EstateSkipScripts` tinyint(4) NOT NULL,
|
||||
`BillableFactor` float NOT NULL,
|
||||
`PublicAccess` tinyint(4) NOT NULL,
|
||||
PRIMARY KEY (`EstateID`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=100;
|
||||
|
||||
CREATE TABLE `estate_map` (
|
||||
`RegionID` char(36) NOT NULL default '00000000-0000-0000-0000-000000000000',
|
||||
`EstateID` int(11) NOT NULL,
|
||||
PRIMARY KEY (`RegionID`),
|
||||
KEY `EstateID` (`EstateID`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
commit;
|
||||
|
||||
:VERSION 14 #---------------------
|
||||
|
||||
begin;
|
||||
|
||||
alter table estate_settings add column AbuseEmail varchar(255) not null;
|
||||
|
||||
alter table estate_settings add column EstateOwner varchar(36) not null;
|
||||
|
||||
commit;
|
||||
|
||||
|
||||
:VERSION 15 #---------------------
|
||||
|
||||
begin;
|
||||
|
||||
alter table estate_settings add column DenyMinors tinyint not null;
|
||||
|
||||
commit;
|
||||
|
||||
:VERSION 16 #---------------------
|
||||
|
||||
@@ -1,92 +0,0 @@
|
||||
/*
|
||||
* 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 OpenSimulator 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 NUnit.Framework;
|
||||
using OpenSim.Data.Tests;
|
||||
using log4net;
|
||||
using System.Reflection;
|
||||
using OpenSim.Tests.Common;
|
||||
using MySql.Data.MySqlClient;
|
||||
|
||||
namespace OpenSim.Data.MySQL.Tests
|
||||
{
|
||||
[TestFixture, DatabaseTest]
|
||||
public class MySQLAssetTest : BasicAssetTest
|
||||
{
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
public string file;
|
||||
private string m_connectionString;
|
||||
public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;";
|
||||
|
||||
[TestFixtureSetUp]
|
||||
public void Init()
|
||||
{
|
||||
SuperInit();
|
||||
// If we manage to connect to the database with the user
|
||||
// and password above it is our test database, and run
|
||||
// these tests. If anything goes wrong, ignore these
|
||||
// tests.
|
||||
try
|
||||
{
|
||||
db = new MySQLAssetData();
|
||||
db.Initialise(connect);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.Error(e.ToString());
|
||||
Assert.Ignore();
|
||||
}
|
||||
}
|
||||
|
||||
[TestFixtureTearDown]
|
||||
public void Cleanup()
|
||||
{
|
||||
if (db != null)
|
||||
{
|
||||
db.Dispose();
|
||||
}
|
||||
ExecuteSql("drop table migrations");
|
||||
ExecuteSql("drop table assets");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Execute a MySqlCommand
|
||||
/// </summary>
|
||||
/// <param name="sql">sql string to execute</param>
|
||||
private void ExecuteSql(string sql)
|
||||
{
|
||||
using (MySqlConnection dbcon = new MySqlConnection(connect))
|
||||
{
|
||||
dbcon.Open();
|
||||
|
||||
MySqlCommand cmd = new MySqlCommand(sql, dbcon);
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,116 +0,0 @@
|
||||
/*
|
||||
* 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 OpenSimulator 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 NUnit.Framework;
|
||||
using OpenSim.Data.Tests;
|
||||
using log4net;
|
||||
using System.Reflection;
|
||||
using OpenSim.Tests.Common;
|
||||
using MySql.Data.MySqlClient;
|
||||
|
||||
|
||||
namespace OpenSim.Data.MySQL.Tests
|
||||
{
|
||||
[TestFixture, DatabaseTest]
|
||||
public class MySQLEstateTest : BasicEstateTest
|
||||
{
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
public string file;
|
||||
public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;";
|
||||
|
||||
[TestFixtureSetUp]
|
||||
public void Init()
|
||||
{
|
||||
SuperInit();
|
||||
// If we manage to connect to the database with the user
|
||||
// and password above it is our test database, and run
|
||||
// these tests. If anything goes wrong, ignore these
|
||||
// tests.
|
||||
try
|
||||
{
|
||||
// clear db incase to ensure we are in a clean state
|
||||
ClearDB();
|
||||
|
||||
regionDb = new MySQLDataStore();
|
||||
regionDb.Initialise(connect);
|
||||
db = new MySQLEstateStore();
|
||||
db.Initialise(connect);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.Error("Exception {0}", e);
|
||||
Assert.Ignore();
|
||||
}
|
||||
}
|
||||
|
||||
[TestFixtureTearDown]
|
||||
public void Cleanup()
|
||||
{
|
||||
if (regionDb != null)
|
||||
{
|
||||
regionDb.Dispose();
|
||||
}
|
||||
ClearDB();
|
||||
}
|
||||
|
||||
private void ClearDB()
|
||||
{
|
||||
// if a new table is added, it has to be dropped here
|
||||
ExecuteSql("drop table if exists migrations");
|
||||
ExecuteSql("drop table if exists prims");
|
||||
ExecuteSql("drop table if exists primshapes");
|
||||
ExecuteSql("drop table if exists primitems");
|
||||
ExecuteSql("drop table if exists terrain");
|
||||
ExecuteSql("drop table if exists land");
|
||||
ExecuteSql("drop table if exists landaccesslist");
|
||||
ExecuteSql("drop table if exists regionban");
|
||||
ExecuteSql("drop table if exists regionsettings");
|
||||
ExecuteSql("drop table if exists estate_managers");
|
||||
ExecuteSql("drop table if exists estate_groups");
|
||||
ExecuteSql("drop table if exists estate_users");
|
||||
ExecuteSql("drop table if exists estateban");
|
||||
ExecuteSql("drop table if exists estate_settings");
|
||||
ExecuteSql("drop table if exists estate_map");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Execute a MySqlCommand
|
||||
/// </summary>
|
||||
/// <param name="sql">sql string to execute</param>
|
||||
private void ExecuteSql(string sql)
|
||||
{
|
||||
using (MySqlConnection dbcon = new MySqlConnection(connect))
|
||||
{
|
||||
dbcon.Open();
|
||||
|
||||
MySqlCommand cmd = new MySqlCommand(sql, dbcon);
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
/*
|
||||
* 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 OpenSimulator 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 NUnit.Framework;
|
||||
using OpenSim.Data.Tests;
|
||||
using log4net;
|
||||
using System.Reflection;
|
||||
using OpenSim.Tests.Common;
|
||||
using MySql.Data.MySqlClient;
|
||||
|
||||
|
||||
namespace OpenSim.Data.MySQL.Tests
|
||||
{
|
||||
[TestFixture, DatabaseTest]
|
||||
public class MySQLInventoryTest : BasicInventoryTest
|
||||
{
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
public string file;
|
||||
public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;";
|
||||
|
||||
[TestFixtureSetUp]
|
||||
public void Init()
|
||||
{
|
||||
SuperInit();
|
||||
// If we manage to connect to the database with the user
|
||||
// and password above it is our test database, and run
|
||||
// these tests. If anything goes wrong, ignore these
|
||||
// tests.
|
||||
try
|
||||
{
|
||||
DropTables();
|
||||
db = new MySQLInventoryData();
|
||||
db.Initialise(connect);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.Error("Exception {0}", e);
|
||||
Assert.Ignore();
|
||||
}
|
||||
}
|
||||
|
||||
[TestFixtureTearDown]
|
||||
public void Cleanup()
|
||||
{
|
||||
if (db != null)
|
||||
{
|
||||
db.Dispose();
|
||||
}
|
||||
DropTables();
|
||||
}
|
||||
|
||||
private void DropTables()
|
||||
{
|
||||
ExecuteSql("drop table IF EXISTS inventoryitems");
|
||||
ExecuteSql("drop table IF EXISTS inventoryfolders");
|
||||
ExecuteSql("drop table IF EXISTS migrations");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Execute a MySqlCommand
|
||||
/// </summary>
|
||||
/// <param name="sql">sql string to execute</param>
|
||||
private void ExecuteSql(string sql)
|
||||
{
|
||||
using (MySqlConnection dbcon = new MySqlConnection(connect))
|
||||
{
|
||||
dbcon.Open();
|
||||
|
||||
MySqlCommand cmd = new MySqlCommand(sql, dbcon);
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,112 +0,0 @@
|
||||
/*
|
||||
* 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 OpenSimulator 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 NUnit.Framework;
|
||||
using OpenSim.Data.Tests;
|
||||
using log4net;
|
||||
using System.Reflection;
|
||||
using OpenSim.Tests.Common;
|
||||
using MySql.Data.MySqlClient;
|
||||
|
||||
namespace OpenSim.Data.MySQL.Tests
|
||||
{
|
||||
[TestFixture, DatabaseTest]
|
||||
public class MySQLRegionTest : BasicRegionTest
|
||||
{
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
public string file;
|
||||
public string connect = "Server=localhost;Port=3306;Database=opensim-nunit;User ID=opensim-nunit;Password=opensim-nunit;Pooling=false;";
|
||||
|
||||
[TestFixtureSetUp]
|
||||
public void Init()
|
||||
{
|
||||
SuperInit();
|
||||
// If we manage to connect to the database with the user
|
||||
// and password above it is our test database, and run
|
||||
// these tests. If anything goes wrong, ignore these
|
||||
// tests.
|
||||
try
|
||||
{
|
||||
// this is important in case a previous run ended badly
|
||||
ClearDB();
|
||||
|
||||
db = new MySQLDataStore();
|
||||
db.Initialise(connect);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.Error("Exception {0}", e);
|
||||
Assert.Ignore();
|
||||
}
|
||||
}
|
||||
|
||||
[TestFixtureTearDown]
|
||||
public void Cleanup()
|
||||
{
|
||||
if (db != null)
|
||||
{
|
||||
db.Dispose();
|
||||
}
|
||||
ClearDB();
|
||||
}
|
||||
|
||||
private void ClearDB()
|
||||
{
|
||||
ExecuteSql("drop table if exists migrations");
|
||||
ExecuteSql("drop table if exists prims");
|
||||
ExecuteSql("drop table if exists primshapes");
|
||||
ExecuteSql("drop table if exists primitems");
|
||||
ExecuteSql("drop table if exists terrain");
|
||||
ExecuteSql("drop table if exists land");
|
||||
ExecuteSql("drop table if exists landaccesslist");
|
||||
ExecuteSql("drop table if exists regionban");
|
||||
ExecuteSql("drop table if exists regionsettings");
|
||||
ExecuteSql("drop table if exists estate_managers");
|
||||
ExecuteSql("drop table if exists estate_groups");
|
||||
ExecuteSql("drop table if exists estate_users");
|
||||
ExecuteSql("drop table if exists estateban");
|
||||
ExecuteSql("drop table if exists estate_settings");
|
||||
ExecuteSql("drop table if exists estate_map");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Execute a MySqlCommand
|
||||
/// </summary>
|
||||
/// <param name="sql">sql string to execute</param>
|
||||
private void ExecuteSql(string sql)
|
||||
{
|
||||
using (MySqlConnection dbcon = new MySqlConnection(connect))
|
||||
{
|
||||
dbcon.Open();
|
||||
|
||||
MySqlCommand cmd = new MySqlCommand(sql, dbcon);
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user