Commit Graph

1034 Commits

Author SHA1 Message Date
Melanie
97501495eb Merge branch 'master' into careminster-presence-refactor 2010-05-26 17:19:02 +01:00
Melanie
1c7f60ab49 Merge branch 'unitests'
Signed-off-by: Melanie <melanie@t-data.com>
2010-05-26 10:56:24 +01:00
AlexRa
5d65ef2db3 Minor correction to AssetTests.cs
(forgot to change test descriptions, has no effect on running the tests)
2010-05-26 10:25:56 +03:00
Melanie
00737f1c13 Merge branch 'master' into careminster-presence-refactor 2010-05-24 23:40:22 +01:00
Diva Canto
1ab826d67c The 8th migration statement in AssetStore.migrations didn't look right. 2010-05-23 12:22:47 -07:00
AlexRa
57f4729eea Ensured that tests are skipped for wrong conn string, also m_log chng
The base test class now tries to connect to DB, ignores all tests in the
class if unable to.

Also m_log changed to instance field (which in this case shouldn't cause
any problems),  to avoid having to define it separately in each derived
class.  Here I touched things that I don't understand well (using log4net),
so please review this commit.
2010-05-23 12:46:33 +03:00
AlexRa
b9b6d9c4ea Removed (unused?) empty SQL files from MSSQL resource dir
There was a whole bunch of these SQL files, all empty and apparently
unused.  Removing them is just a clean-up, if anybody has a reason for these
files to be there, feel free to revert.
2010-05-23 11:48:30 +03:00
AlexRa
05d9ca1b26 MySQL Migrations: Minor correcton to Region/Estate split
(some Estate SQL left behind in the Region migration)
2010-05-23 11:48:28 +03:00
AlexRa
52a3dbd076 MSSQL Migration: CreatorID in InventoryItems changed to VARCHAR(36)
Again, the same thing about potentially having non-GUID CreatorID.
2010-05-23 11:48:25 +03:00
AlexRa
89b7c64b6f Various minor changes in the data tests 2010-05-23 11:48:22 +03:00
AlexRa
9976cb93ce Further corrections to MS SQL stores (now passes all tests)
Besides, AssetData is slightly optimized to StoreAsset in one request
("IF EXISTS() UPDATE ... ELSE INSERT ...")

The main change in the MS SQL Inventory implem. is that it now return
empty list (or whatever) when called with UUID.Zero, which is consistent
with how the code for other DBs work.

I did no changes at all in XInventory, as there is no test set for them.
2010-05-23 11:48:19 +03:00
AlexRa
ebc2b6d4f6 Split migrations for RegionStore and EstateStore (see WARNING!)
ok, so the estate stores now want their own migration files, but as it
happened the SQL definition were inside the Region migrations.
It seems better/cleaner to keep each 'store' separately updatable.

WARNING: any editing in the middle of the migration scripts (as opposite
to just appending to them) has the potential of messing up updates of
existing databases.  As far as I can see, this one is (probably) safe,
the worst that could happen is the EstateStore migration silently fail
if the estate the tables are already there.
2010-05-23 11:48:16 +03:00
AlexRa
2537acc04d Unitests: Asset, Estate, Region (the "legacy" one), Inventory
The tests have been modified to work under NUnit 2.4.6
(the one currently used in the project).

They will also work with NUnit 2.5+ as is, but will look better
if you #define NUNIT25 for them.
2010-05-23 11:48:10 +03:00
AlexRa
330ad501a5 Added MS SQL test conn to INI - only as an example, modify before use!!!
NOTE that this INI file is currently loaded as a embedded RESOURCE, which is weird and has a
disadvantage of having to rebuild the Tests whenever the conn strings are changed.
The only reason is that I couldn't figure out a reliable way to put this INI into the correct
dir at runtime. If somebody can do it, that would be cool.
2010-05-23 11:48:08 +03:00
AlexRa
40031e6d37 Removed MySql and SQLite-specific asset test files 2010-05-23 11:48:05 +03:00
AlexRa
b1e6e99506 BasicAssetTest.cs replaced by AssetTests.cs
AssetTests: The name has changed to reflect the fact it is no longer a base class,
but the complete asset test for all supported databases.

The test can also check storing of CreatorID, but the feature is
disabled at this commit!
2010-05-23 11:48:02 +03:00
AlexRa
749cf0f6eb Bugfix in tests (must clear db before migrations, not after) 2010-05-23 11:47:59 +03:00
AlexRa
f527584ed3 EstateData tests passing on all DBs 2010-05-23 11:47:56 +03:00
AlexRa
94f4c20866 Corrections in RegionTests.cs. It now fully works!
The problem was that some tests relied on prior tests
to leave the DB in a particular state, but the test class
cleared the DB every time. The affected tests have been
merged into one to remove the dependencies.

tested on all 3 Dbs, all tests green.
2010-05-23 11:47:54 +03:00
AlexRa
6322a085b3 Minor corrections in BasicDataServiceTest.cs
(added more functions for cleaning up DB from the
derived tests)
2010-05-23 11:47:51 +03:00
AlexRa
187a98615b MSSQL: added asset_flags, CreatorID to migrations 2010-05-23 11:47:48 +03:00
AlexRa
49f4cc4246 MSSQLAssetData updated to support [CreatorID], [asset_flags] 2010-05-23 11:47:45 +03:00
AlexRa
f7bf3facff MSSQLAssetData: fixed some weirdness
Fixed unfinished SQL in FetchAssetMetadataSet, fixed SQL
in UpdateAsset (must not modify ID).

NOT tested!  But apparently shouldn't work worse than the previous version,
esp. the FetchMetadata thing.
2010-05-23 11:47:42 +03:00
AlexRa
7f70ae0ebd All data tests made DBMS-independent 2010-05-23 11:47:39 +03:00
AlexRa
91ad1f4ee7 Added generic base classes for testing database services
These are some generic classes that simplify writing tests
for any of the data connectors and databases. Among other
things, configuring the connection strings is done once,
in a separate resource file.

Tests based on the new BasicDataServiceTest class require
NUnit 2.5 or better.
2010-05-23 11:47:36 +03:00
Diva Canto
213e372253 Cleaned up MySql migrations a bit more, got rid of all old-form migration files. Restored Presence table to its taboo-breaking form. 2010-05-20 20:24:50 -07:00
Melanie
a92780fe5f Merge branch 'master' into careminster-presence-refactor 2010-05-21 03:51:58 +01:00
Melanie
859beaf830 Revert one of the previous patches' hunks. The new code looked better, but
was less efficient.
2010-05-20 11:03:38 +01:00
AlexRa
ce787a4c41 Series of patches to include creator ID in assets.
Contains a migration.

SQLite: May contain nuts.

The SQLite migration copies the entire asset table. Be prepared for quite a wait. Don't interrupt it. Back up your assets db.

BasicAssetTest checks CreatorID storage, new test for weird CreatorID

(now also checks that non-GUID or empty CreatorID gets stored correctly)

Signed-off-by: Melanie <melanie@t-data.com>
2010-05-20 11:01:51 +01:00
AlexRa
d6a6668bd7 Scrambled asset type in BasicAssetTest.cs!
The asset type wasn't in the list of "DontScramble" fields,
so the test assets were stored with randomized type, which
caused exception on reading them.

Also the scrambler was moved from local var to the class level,
so it could be used in the new tests I've added (see the next commit).
2010-05-19 21:50:34 +03:00
AlexRa
64fe823b92 MySQLAssetData.cs now supports asset_flags, CreatorID 2010-05-19 21:50:32 +03:00
AlexRa
eacd8d0263 MySQL: added CreatorID, moved asset_flag to migration script 2010-05-19 21:50:30 +03:00
AlexRa
accf8c420d SQLite: CreatorID added (and asset_flags moved) to the migration script 2010-05-19 21:49:30 +03:00
AlexRa
c6977cbd4d Added CreatorID to SQLite asset data 2010-05-19 21:49:24 +03:00
AlexRa
ccee95552f A bit of harmless refactoring in SQLiteAssetData.cs 2010-05-19 21:49:22 +03:00
AlexRa
527a257b9f Kind of fixed Melanie's "Exception(sql)" correction
Throwing an Ex. with SQL command in the message looks weird,
this is a bit better, but I'm still not sure if that's the
proper way to handle.  Also, there is a catch one level up,
so is this one necessary?
2010-05-19 21:49:18 +03:00
Melanie
e4b8d76b10 Change appender to deal with line feeds more intelligently.
Change migration error reporting to not truncate the statement when
reporting. It's a bit messier than the old error reporting, but at least
one gets an idea of what could be wrong again. And things look a lot
neater now.
2010-05-19 04:17:56 +01:00
Melanie
0c209a469b Clean up output a bit 2010-05-19 03:48:03 +01:00
Melanie
20642f2f21 Fix the migration message to say "Continuing" again. Remove line feed, which
prevented the full message from displaying.
2010-05-19 03:26:37 +01:00
Melanie
9fa8013ca5 Remove the return that was inserted in the last merge to allow
migrations to continue in the face of an error
2010-05-19 03:07:31 +01:00
Melanie
dedc0c0bd4 Revert "Allow migration steps to fail again without bringing down the house"
This reverts commit 167db50259.
2010-05-19 02:47:31 +01:00
Melanie
167db50259 Allow migration steps to fail again without bringing down the house 2010-05-19 02:33:23 +01:00
Melanie
298368dd99 Merge commit 'alex/mssql-estate-bugfix'
This fixes some type conversion bugs and also makes the estate lists
work properly for MSSQL. Strawberry, please check this.

Signed-off-by: Melanie <melanie@t-data.com>
2010-05-18 23:39:09 +01:00
Melanie
d2bc673667 Make m_log in migrations private. Define new m_log in derived class 2010-05-18 23:33:05 +01:00
Melanie
caf61ab7d8 Binary Guids are 16 chars long. Fix parser. 2010-05-18 23:22:30 +01:00
AlexRa
deae030145 Some more corrections after MySQL connector update 2010-05-19 02:28:19 +03:00
AlexRa
8a0c5d14d4 All (?) MySQL stores fixed to use DBGuid.FromDB()
This was needed if we want to update to the latest MySQL
connector dll.  It automatically converts CHAR(36) to
Guids, so getting them as strings no longer works.

By using DBGuid.FromDB(), we unlink from any particular
storage format of GUIDs, could even make them BINARY(16)
if we like.

Actually not all MySql units are touched, but the remaining ones don't
seem to be affected (they don't read GUIDs from DB)
2010-05-19 01:33:02 +03:00
AlexRa
a27d49b188 Added DBGuids.cs (static func DBGuid.FromDB()
This DBMS-independent function to be used converting UUIDs
from whatever format used in the DB (string/binary/Guid).
This is mostly needed for MySQL, as in MSSQL they are always
UNIQUEIDENTIFIERs and in SQLite always strings (but would look
better if we use it there anyway).
2010-05-19 01:32:50 +03:00
AlexRa
d95f232629 Massive bugfix in MSSQLEstateData (now works!) 2010-05-18 21:08:51 +03:00
AlexRa
dfeb9a0b5c MS SQL migrations converted to the new format 2010-05-16 17:04:50 +03:00