aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Data/SQLite/Tests/SQLiteInventoryTest.cs143
-rw-r--r--OpenSim/Data/Tests/BasicInventoryTests.cs184
-rw-r--r--prebuild.xml32
3 files changed, 219 insertions, 140 deletions
diff --git a/OpenSim/Data/SQLite/Tests/SQLiteInventoryTest.cs b/OpenSim/Data/SQLite/Tests/SQLiteInventoryTest.cs
index 4bc1b9a..ee6732b 100644
--- a/OpenSim/Data/SQLite/Tests/SQLiteInventoryTest.cs
+++ b/OpenSim/Data/SQLite/Tests/SQLiteInventoryTest.cs
@@ -30,6 +30,7 @@ using System.Collections.Generic;
30using NUnit.Framework; 30using NUnit.Framework;
31using NUnit.Framework.SyntaxHelpers; 31using NUnit.Framework.SyntaxHelpers;
32using OpenSim.Framework; 32using OpenSim.Framework;
33using OpenSim.Data.Tests;
33using OpenSim.Data.SQLite; 34using OpenSim.Data.SQLite;
34using OpenSim.Region.Environment.Scenes; 35using OpenSim.Region.Environment.Scenes;
35using OpenMetaverse; 36using OpenMetaverse;
@@ -37,38 +38,18 @@ using OpenMetaverse;
37namespace OpenSim.Data.SQLite.Tests 38namespace OpenSim.Data.SQLite.Tests
38{ 39{
39 [TestFixture] 40 [TestFixture]
40 public class SQLiteInventoryTest 41 public class SQLiteInventoryTest : BasicInventoryTest
41 { 42 {
42 public string file = "inventorytest.db"; 43 public string file = "inventorytest.db";
43 public string connect; 44 public string connect;
44 public SQLiteInventoryStore db;
45 public UUID zero = UUID.Zero;
46 public UUID uuid1;
47 public UUID uuid2;
48 public UUID uuid3;
49 public UUID owner1;
50 public UUID owner2;
51 public UUID owner3;
52 public string name1;
53 public string name2;
54 public string name3;
55
56 45
57 [TestFixtureSetUp] 46 [TestFixtureSetUp]
58 public void Init() 47 public void Init()
59 { 48 {
49 SuperInit();
60 connect = "URI=file:" + file + ",version=3"; 50 connect = "URI=file:" + file + ",version=3";
61 db = new SQLiteInventoryStore(); 51 db = new SQLiteInventoryStore();
62 db.Initialise(connect); 52 db.Initialise(connect);
63 uuid1 = UUID.Random();
64 uuid2 = UUID.Random();
65 uuid3 = UUID.Random();
66 owner1 = UUID.Random();
67 owner2 = UUID.Random();
68 owner3 = UUID.Random();
69 name1 = "Root Folder for " + owner1.ToString();
70 name2 = "First Level folder";
71 name3 = "First Level folder 2";
72 } 53 }
73 54
74 [TestFixtureTearDown] 55 [TestFixtureTearDown]
@@ -76,123 +57,5 @@ namespace OpenSim.Data.SQLite.Tests
76 { 57 {
77 System.IO.File.Delete(file); 58 System.IO.File.Delete(file);
78 } 59 }
79
80 [Test]
81 public void T001_LoadEmpty()
82 {
83 Assert.That(db.getInventoryItem(uuid1), Is.Null);
84 Assert.That(db.getUserRootFolder(owner1), Is.Null);
85 }
86
87 // 01x - folder tests
88 [Test]
89 public void T010_FolderNonParent()
90 {
91 InventoryFolderBase f1 = NewFolder(uuid2, uuid1, owner1, name2);
92 // the folder will go in
93 db.addInventoryFolder(f1);
94 InventoryFolderBase f1a = db.getUserRootFolder(owner1);
95 Assert.That(f1a, Is.Null);
96 }
97
98 [Test]
99 public void T011_FolderCreate()
100 {
101 InventoryFolderBase f1 = NewFolder(uuid1, zero, owner1, name1);
102 // TODO: this is probably wrong behavior, but is what we have
103 // db.updateInventoryFolder(f1);
104 // InventoryFolderBase f1a = db.getUserRootFolder(owner1);
105 // Assert.That(uuid1, Is.EqualTo(f1a.ID))
106 // Assert.That(name1, Text.Matches(f1a.Name));
107 // Assert.That(db.getUserRootFolder(owner1), Is.Null);
108
109 // succeed with true
110 db.addInventoryFolder(f1);
111 InventoryFolderBase f1a = db.getUserRootFolder(owner1);
112 Assert.That(uuid1, Is.EqualTo(f1a.ID));
113 Assert.That(name1, Text.Matches(f1a.Name));
114 }
115
116 // we now have the following tree
117 // uuid1
118 // +--- uuid2
119 // +--- uuid3
120
121 [Test]
122 public void T012_FolderList()
123 {
124 InventoryFolderBase f2 = NewFolder(uuid3, uuid1, owner1, name3);
125 db.addInventoryFolder(f2);
126
127 Assert.That(db.getInventoryFolders(zero).Count, Is.EqualTo(1));
128
129 Assert.That(db.getInventoryFolders(uuid1).Count, Is.EqualTo(2));
130
131 Assert.That(db.getInventoryFolders(uuid2).Count, Is.EqualTo(0));
132
133 Assert.That(db.getInventoryFolders(uuid3).Count, Is.EqualTo(0));
134
135 Assert.That(db.getInventoryFolders(UUID.Random()).Count, Is.EqualTo(0));
136
137 }
138
139 [Test]
140 public void T013_FolderHierarchy()
141 {
142 Assert.That(db.getFolderHierarchy(zero).Count, Is.EqualTo(0));
143
144 Assert.That(db.getFolderHierarchy(uuid1).Count, Is.EqualTo(2));
145
146 Assert.That(db.getFolderHierarchy(uuid2).Count, Is.EqualTo(0));
147
148 Assert.That(db.getFolderHierarchy(uuid3).Count, Is.EqualTo(0));
149
150 Assert.That(db.getFolderHierarchy(UUID.Random()).Count, Is.EqualTo(0));
151 }
152
153
154 [Test]
155 public void T014_MoveFolder()
156 {
157 InventoryFolderBase f2 = db.getInventoryFolder(uuid2);
158 f2.ParentID = uuid3;
159 db.moveInventoryFolder(f2);
160
161 Assert.That(db.getInventoryFolders(zero).Count, Is.EqualTo(1));
162
163 Assert.That(db.getInventoryFolders(uuid1).Count, Is.EqualTo(1));
164
165 Assert.That(db.getInventoryFolders(uuid2).Count, Is.EqualTo(0));
166
167 Assert.That(db.getInventoryFolders(uuid3).Count, Is.EqualTo(1));
168
169 Assert.That(db.getInventoryFolders(UUID.Random()).Count, Is.EqualTo(0));
170 }
171
172 [Test]
173 public void T015_FolderHierarchy()
174 {
175 Assert.That(db.getFolderHierarchy(zero).Count, Is.EqualTo(0));
176
177 Assert.That(db.getFolderHierarchy(uuid1).Count, Is.EqualTo(2));
178
179 Assert.That(db.getFolderHierarchy(uuid2).Count, Is.EqualTo(0));
180
181 Assert.That(db.getFolderHierarchy(uuid3).Count, Is.EqualTo(1));
182
183 Assert.That(db.getFolderHierarchy(UUID.Random()).Count, Is.EqualTo(0));
184 }
185
186
187
188 private InventoryFolderBase NewFolder(UUID id, UUID parent, UUID owner, string name)
189 {
190 InventoryFolderBase f = new InventoryFolderBase();
191 f.ID = id;
192 f.ParentID = parent;
193 f.Owner = owner;
194 f.Name = name;
195 return f;
196 }
197 } 60 }
198} \ No newline at end of file 61} \ No newline at end of file
diff --git a/OpenSim/Data/Tests/BasicInventoryTests.cs b/OpenSim/Data/Tests/BasicInventoryTests.cs
new file mode 100644
index 0000000..47a3393
--- /dev/null
+++ b/OpenSim/Data/Tests/BasicInventoryTests.cs
@@ -0,0 +1,184 @@
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 OpenSim 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
28using System;
29using System.Collections.Generic;
30using NUnit.Framework;
31using NUnit.Framework.SyntaxHelpers;
32using OpenSim.Framework;
33using OpenSim.Data.Tests;
34using OpenSim.Region.Environment.Scenes;
35using OpenMetaverse;
36
37namespace OpenSim.Data.Tests
38{
39 public class BasicInventoryTest
40 {
41 public IInventoryDataPlugin db;
42 public UUID zero = UUID.Zero;
43 public UUID uuid1;
44 public UUID uuid2;
45 public UUID uuid3;
46 public UUID owner1;
47 public UUID owner2;
48 public UUID owner3;
49 public string name1;
50 public string name2;
51 public string name3;
52
53 public void SuperInit()
54 {
55 uuid1 = UUID.Random();
56 uuid2 = UUID.Random();
57 uuid3 = UUID.Random();
58 owner1 = UUID.Random();
59 owner2 = UUID.Random();
60 owner3 = UUID.Random();
61 name1 = "Root Folder for " + owner1.ToString();
62 name2 = "First Level folder";
63 name3 = "First Level folder 2";
64 }
65
66 [Test]
67 public void T001_LoadEmpty()
68 {
69 Assert.That(db.getInventoryItem(uuid1), Is.Null);
70 Assert.That(db.getUserRootFolder(owner1), Is.Null);
71 }
72
73 // 01x - folder tests
74 [Test]
75 public void T010_FolderNonParent()
76 {
77 InventoryFolderBase f1 = NewFolder(uuid2, uuid1, owner1, name2);
78 // the folder will go in
79 db.addInventoryFolder(f1);
80 InventoryFolderBase f1a = db.getUserRootFolder(owner1);
81 Assert.That(f1a, Is.Null);
82 }
83
84 [Test]
85 public void T011_FolderCreate()
86 {
87 InventoryFolderBase f1 = NewFolder(uuid1, zero, owner1, name1);
88 // TODO: this is probably wrong behavior, but is what we have
89 // db.updateInventoryFolder(f1);
90 // InventoryFolderBase f1a = db.getUserRootFolder(owner1);
91 // Assert.That(uuid1, Is.EqualTo(f1a.ID))
92 // Assert.That(name1, Text.Matches(f1a.Name));
93 // Assert.That(db.getUserRootFolder(owner1), Is.Null);
94
95 // succeed with true
96 db.addInventoryFolder(f1);
97 InventoryFolderBase f1a = db.getUserRootFolder(owner1);
98 Assert.That(uuid1, Is.EqualTo(f1a.ID));
99 Assert.That(name1, Text.Matches(f1a.Name));
100 }
101
102 // we now have the following tree
103 // uuid1
104 // +--- uuid2
105 // +--- uuid3
106
107 [Test]
108 public void T012_FolderList()
109 {
110 InventoryFolderBase f2 = NewFolder(uuid3, uuid1, owner1, name3);
111 db.addInventoryFolder(f2);
112
113 Assert.That(db.getInventoryFolders(zero).Count, Is.EqualTo(1));
114
115 Assert.That(db.getInventoryFolders(uuid1).Count, Is.EqualTo(2));
116
117 Assert.That(db.getInventoryFolders(uuid2).Count, Is.EqualTo(0));
118
119 Assert.That(db.getInventoryFolders(uuid3).Count, Is.EqualTo(0));
120
121 Assert.That(db.getInventoryFolders(UUID.Random()).Count, Is.EqualTo(0));
122
123 }
124
125 [Test]
126 public void T013_FolderHierarchy()
127 {
128 Assert.That(db.getFolderHierarchy(zero).Count, Is.EqualTo(0));
129
130 Assert.That(db.getFolderHierarchy(uuid1).Count, Is.EqualTo(2));
131
132 Assert.That(db.getFolderHierarchy(uuid2).Count, Is.EqualTo(0));
133
134 Assert.That(db.getFolderHierarchy(uuid3).Count, Is.EqualTo(0));
135
136 Assert.That(db.getFolderHierarchy(UUID.Random()).Count, Is.EqualTo(0));
137 }
138
139
140 [Test]
141 public void T014_MoveFolder()
142 {
143 InventoryFolderBase f2 = db.getInventoryFolder(uuid2);
144 f2.ParentID = uuid3;
145 db.moveInventoryFolder(f2);
146
147 Assert.That(db.getInventoryFolders(zero).Count, Is.EqualTo(1));
148
149 Assert.That(db.getInventoryFolders(uuid1).Count, Is.EqualTo(1));
150
151 Assert.That(db.getInventoryFolders(uuid2).Count, Is.EqualTo(0));
152
153 Assert.That(db.getInventoryFolders(uuid3).Count, Is.EqualTo(1));
154
155 Assert.That(db.getInventoryFolders(UUID.Random()).Count, Is.EqualTo(0));
156 }
157
158 [Test]
159 public void T015_FolderHierarchy()
160 {
161 Assert.That(db.getFolderHierarchy(zero).Count, Is.EqualTo(0));
162
163 Assert.That(db.getFolderHierarchy(uuid1).Count, Is.EqualTo(2));
164
165 Assert.That(db.getFolderHierarchy(uuid2).Count, Is.EqualTo(0));
166
167 Assert.That(db.getFolderHierarchy(uuid3).Count, Is.EqualTo(1));
168
169 Assert.That(db.getFolderHierarchy(UUID.Random()).Count, Is.EqualTo(0));
170 }
171
172
173
174 private InventoryFolderBase NewFolder(UUID id, UUID parent, UUID owner, string name)
175 {
176 InventoryFolderBase f = new InventoryFolderBase();
177 f.ID = id;
178 f.ParentID = parent;
179 f.Owner = owner;
180 f.Name = name;
181 return f;
182 }
183 }
184} \ No newline at end of file
diff --git a/prebuild.xml b/prebuild.xml
index dc3e8f6..fa4b904 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -228,6 +228,37 @@
228 </Files> 228 </Files>
229 </Project> 229 </Project>
230 230
231 <Project name="OpenSim.Data.Tests" path="OpenSim/Data/Tests" type="Library">
232 <Configuration name="Debug">
233 <Options>
234 <OutputPath>../../../bin/</OutputPath>
235 </Options>
236 </Configuration>
237 <Configuration name="Release">
238 <Options>
239 <OutputPath>../../../bin/</OutputPath>
240 </Options>
241 </Configuration>
242
243 <ReferencePath>../../../bin/</ReferencePath>
244 <Reference name="System" localCopy="false"/>
245 <Reference name="System.Xml"/>
246 <Reference name="System.Data"/>
247 <Reference name="XMLRPC.dll"/>
248 <Reference name="OpenMetaverse.dll"/>
249 <Reference name="OpenMetaverseTypes.dll"/>
250 <Reference name="OpenSim.Framework"/>
251 <Reference name="OpenSim.Data.Base"/>
252 <Reference name="OpenSim.Region.Environment"/>
253 <Reference name="log4net.dll"/>
254 <Reference name="Mono.Addins.dll" />
255 <Reference name="nunit.framework.dll" />
256 <Files>
257 <Match pattern="*.cs" recurse="true"/>
258 </Files>
259 </Project>
260
261
231 <Project name="OpenSim.Data.MySQLMapper" path="OpenSim/Data/MySQLMapper" type="Library"> 262 <Project name="OpenSim.Data.MySQLMapper" path="OpenSim/Data/MySQLMapper" type="Library">
232 <Configuration name="Debug"> 263 <Configuration name="Debug">
233 <Options> 264 <Options>
@@ -1474,6 +1505,7 @@
1474 <Reference name="System.Data"/> 1505 <Reference name="System.Data"/>
1475 <Reference name="System.Data.SQLite.dll"/> 1506 <Reference name="System.Data.SQLite.dll"/>
1476 <Reference name="OpenSim.Data"/> 1507 <Reference name="OpenSim.Data"/>
1508 <Reference name="OpenSim.Data.Tests"/>
1477 <Reference name="OpenSim.Data.SQLite" /> 1509 <Reference name="OpenSim.Data.SQLite" />
1478 <Reference name="System.Drawing"/> 1510 <Reference name="System.Drawing"/>
1479 <Reference name="OpenSim.Framework"/> 1511 <Reference name="OpenSim.Framework"/>