Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit 8efa96d

Browse files
committed
Change OrmLiteTestBase to accept provider in constructor, update PGSQL-specific tests to use same TestBase class
1 parent aaf6c25 commit 8efa96d

File tree

5 files changed

+73
-94
lines changed

5 files changed

+73
-94
lines changed

src/ServiceStack.OrmLite.PostgreSQL.Tests/OrmLiteSelectTests.cs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
using System;
21
using System.Collections.Generic;
32
using NUnit.Framework;
4-
using ServiceStack.Common;
53
using ServiceStack.Common.Tests.Models;
4+
using ServiceStack.OrmLite.Tests;
65
using ServiceStack.Text;
76

8-
namespace ServiceStack.OrmLite.Tests
7+
namespace ServiceStack.OrmLite.PostgreSQL.Tests
98
{
109
[TestFixture]
1110
public class OrmLiteSelectTests
1211
: OrmLiteTestBase
1312
{
13+
public OrmLiteSelectTests() : base(Dialect.PostgreSql) { }
1414

1515
[Test]
1616
public void Can_GetById_int_from_ModelWithFieldsOfDifferentTypes_table()
@@ -98,7 +98,7 @@ public void Can_select_with_filter_from_ModelWithOnlyStringFields_table()
9898

9999
db.Insert(filterRow);
100100

101-
var rows = db.SelectFmt<ModelWithOnlyStringFields>("\"AlbumName\" = {0}", filterRow.AlbumName);
101+
var rows = db.SelectFmt<ModelWithOnlyStringFields>("\"album_name\" = {0}", filterRow.AlbumName);
102102
var dbRowIds = rows.ConvertAll(x => x.Id);
103103

104104
Assert.That(dbRowIds, Has.Count.EqualTo(1));
@@ -117,7 +117,7 @@ public void Can_select_scalar_value()
117117

118118
n.Times(x => db.Insert(ModelWithIdAndName.Create(x)));
119119

120-
var count = db.ScalarFmt<long>("SELECT COUNT(*) FROM \"ModelWithIdAndName\"");
120+
var count = db.ScalarFmt<long>("SELECT COUNT(*) FROM {0}".Fmt("ModelWithIdAndName".SqlTable()));
121121

122122
Assert.That(count, Is.EqualTo(n));
123123
}
@@ -159,9 +159,10 @@ public void Can_loop_each_with_filter_from_ModelWithOnlyStringFields_table()
159159
filterRow.AlbumName = "FilteredName";
160160

161161
db.Insert(filterRow);
162+
db.GetLastSql().Print();
162163

163164
var dbRowIds = new List<string>();
164-
var rows = db.SelectLazyFmt<ModelWithOnlyStringFields>("\"AlbumName\" = {0}", filterRow.AlbumName);
165+
var rows = db.SelectLazyFmt<ModelWithOnlyStringFields>("\"album_name\" = {0}", filterRow.AlbumName);
165166
foreach (var row in rows)
166167
{
167168
dbRowIds.Add(row.Id);
@@ -183,7 +184,7 @@ public void Can_GetFirstColumn()
183184

184185
n.Times(x => db.Insert(ModelWithIdAndName.Create(x)));
185186

186-
var ids = db.ColumnFmt<int>("SELECT \"Id\" FROM \"ModelWithIdAndName\"");
187+
var ids = db.ColumnFmt<int>("SELECT \"id\" FROM {0}".Fmt("ModelWithIdAndName".SqlTable()));
187188

188189
Assert.That(ids.Count, Is.EqualTo(n));
189190
}
@@ -200,7 +201,7 @@ public void Can_GetFirstColumnDistinct()
200201

201202
n.Times(x => db.Insert(ModelWithIdAndName.Create(x)));
202203

203-
var ids = db.ColumnDistinctFmt<int>("SELECT \"Id\" FROM \"ModelWithIdAndName\"");
204+
var ids = db.ColumnDistinctFmt<int>("SELECT \"id\" FROM {0}".Fmt("ModelWithIdAndName".SqlTable()));
204205

205206
Assert.That(ids.Count, Is.EqualTo(n));
206207
}
@@ -221,7 +222,7 @@ public void Can_GetLookup()
221222
db.Insert(row);
222223
});
223224

224-
var lookup = db.LookupFmt<string, int>("SELECT \"Name\", \"Id\" FROM \"ModelWithIdAndName\"");
225+
var lookup = db.LookupFmt<string, int>("SELECT \"name\", \"id\" FROM {0}".Fmt("ModelWithIdAndName".SqlTable()));
225226

226227
Assert.That(lookup, Has.Count.EqualTo(2));
227228
Assert.That(lookup["OddGroup"], Has.Count.EqualTo(3));
@@ -240,7 +241,7 @@ public void Can_GetDictionary()
240241

241242
n.Times(x => db.Insert(ModelWithIdAndName.Create(x)));
242243

243-
var dictionary = db.Dictionary<int, string>("SELECT \"Id\", \"Name\" FROM \"ModelWithIdAndName\"");
244+
var dictionary = db.Dictionary<int, string>("SELECT \"id\", \"name\" FROM {0}".Fmt("ModelWithIdAndName".SqlTable()));
244245

245246
Assert.That(dictionary, Has.Count.EqualTo(5));
246247

@@ -259,7 +260,8 @@ public void Can_Select_subset_ModelWithIdAndName_from_ModelWithFieldsOfDifferent
259260

260261
rowIds.ForEach(x => db.Insert(ModelWithFieldsOfDifferentTypes.Create(x)));
261262

262-
var rows = db.SelectFmt<ModelWithIdAndName>("SELECT \"Id\", \"Name\" FROM \"ModelWithFieldsOfDifferentTypes\"");
263+
var rows = db.SelectFmt<ModelWithIdAndName>("SELECT \"id\", \"name\" FROM {0}"
264+
.Fmt("ModelWithFieldsOfDifferentTypes".SqlTable()));
263265
var dbRowIds = rows.ConvertAll(x => x.Id);
264266

265267
Assert.That(dbRowIds, Is.EquivalentTo(rowIds));
@@ -277,10 +279,9 @@ public void Can_Query_ModelWithFieldsOfDifferentTypes_with_dictionary_parameters
277279

278280
rowIds.ForEach(x => db.Insert(ModelWithFieldsOfDifferentTypes.Create(x)));
279281

280-
var rows = db.Select<ModelWithFieldsOfDifferentTypes>("SELECT * FROM \"ModelWithFieldsOfDifferentTypes\" where \"Id\" = :Id ",
281-
new Dictionary<string, object> {
282-
{"Id", 3}
283-
});
282+
var rows = db.Select<ModelWithFieldsOfDifferentTypes>("SELECT * FROM {0} where \"id\" = :Id "
283+
.Fmt("ModelWithFieldsOfDifferentTypes".SqlTable()),
284+
new Dictionary<string, object> { {"Id", 3} });
284285

285286
Assert.AreEqual(rows.Count, 1);
286287
Assert.AreEqual(rows[0].Id, 3);
@@ -305,7 +306,6 @@ public void Can_Select_Into_ModelWithIdAndName_from_ModelWithFieldsOfDifferentTy
305306
}
306307
}
307308

308-
309309
[Test]
310310
public void Can_Select_In_for_string_value()
311311
{
@@ -318,7 +318,7 @@ public void Can_Select_In_for_string_value()
318318
n.Times(x => db.Insert(ModelWithIdAndName.Create(x)));
319319

320320
var selectInNames = new[] {"Name1", "Name2"};
321-
var rows = db.SelectFmt<ModelWithIdAndName>("\"Name\" IN ({0})", selectInNames.SqlInValues());
321+
var rows = db.SelectFmt<ModelWithIdAndName>("\"name\" IN ({0})", selectInNames.SqlInValues());
322322

323323
Assert.That(rows.Count, Is.EqualTo(selectInNames.Length));
324324
}
@@ -339,8 +339,8 @@ public void Can_Select_With_Subquery()
339339
WITH max_id AS (
340340
SELECT 3 AS three)
341341
SELECT *
342-
FROM ModelWithFieldsOfDifferentTypes
343-
WHERE id <= (SELECT three FROM max_id)";
342+
FROM {0}
343+
WHERE id <= (SELECT three FROM max_id)".Fmt("ModelWithFieldsOfDifferentTypes".SqlTable());
344344

345345
var rows = db.SqlList<ModelWithFieldsOfDifferentTypes>(sql);
346346

src/ServiceStack.OrmLite.PostgreSQL.Tests/OrmLiteTestBase.cs

Lines changed: 0 additions & 37 deletions
This file was deleted.

src/ServiceStack.OrmLite.PostgreSQL.Tests/SchemaTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ namespace ServiceStack.OrmLite.Tests
1010
[TestFixture]
1111
public class SchemaTests : OrmLiteTestBase
1212
{
13+
public SchemaTests() : base(Dialect.PostgreSql){}
14+
1315
[Alias("Users")]
1416
[Schema("TestSchema")]
1517
public class User

src/ServiceStack.OrmLite.PostgreSQL.Tests/ServiceStack.OrmLite.PostgreSQL.Tests.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@
101101
<Compile Include="OrmLiteInsertTests.cs" />
102102
<Compile Include="OrmLiteNorthwindTests.cs" />
103103
<Compile Include="OrmLiteSelectTests.cs" />
104-
<Compile Include="OrmLiteTestBase.cs" />
105104
<Compile Include="Properties\AssemblyInfo.cs" />
106105
<Compile Include="OrmLiteGetScalarTests.cs" />
107106
<Compile Include="SchemaTests.cs" />

tests/ServiceStack.OrmLite.Tests/OrmLiteTestBase.cs

Lines changed: 52 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,15 @@ public class OrmLiteTestBase
3535
{
3636
protected virtual string ConnectionString { get; set; }
3737

38-
protected string GetConnectionString()
38+
public OrmLiteTestBase() {}
39+
40+
public OrmLiteTestBase(Dialect dialect)
41+
{
42+
Dialect = dialect;
43+
Init();
44+
}
45+
46+
protected string GetConnectionString()
3947
{
4048
return GetFileConnectionString();
4149
}
@@ -60,44 +68,51 @@ protected void CreateNewDatabase()
6068
if (ConnectionString.Contains(".sqlite"))
6169
ConnectionString = GetFileConnectionString();
6270
}
63-
public Dialect Dialect = Dialect.Sqlite;
6471

65-
[TestFixtureSetUp]
66-
public void TestFixtureSetUp()
67-
{
68-
LogManager.LogFactory = new ConsoleLogFactory(debugEnabled:false);
69-
70-
switch (Dialect)
71-
{
72-
case Dialect.Sqlite:
73-
OrmLiteConfig.DialectProvider = SqliteDialect.Provider;
74-
ConnectionString = GetFileConnectionString();
75-
ConnectionString = ":memory:";
76-
return;
77-
case Dialect.SqlServer:
78-
OrmLiteConfig.DialectProvider = SqlServerDialect.Provider;
79-
ConnectionString = Config.SqlServerBuildDb;
80-
return;
81-
case Dialect.MySql:
82-
OrmLiteConfig.DialectProvider = MySqlDialect.Provider;
83-
ConnectionString = "Server=localhost;Database=test;UID=root;Password=test";
84-
return;
85-
case Dialect.PostgreSql:
86-
OrmLiteConfig.DialectProvider = PostgreSqlDialect.Provider;
87-
ConnectionString = "Server=localhost;Port=5432;User Id=test;Password=test;Database=test;Pooling=true;MinPoolSize=0;MaxPoolSize=200";
88-
return;
89-
case Dialect.SqlServerMdf:
90-
OrmLiteConfig.DialectProvider = SqlServerDialect.Provider;
91-
ConnectionString = "~/App_Data/Database1.mdf".MapAbsolutePath();
92-
ConnectionString = Config.GetDefaultConnection();
93-
return;
94-
case Dialect.Oracle:
95-
OrmLiteConfig.DialectProvider = OracleDialect.Provider;
96-
return;
97-
}
98-
}
72+
public Dialect Dialect = Dialect.Sqlite;
73+
74+
[TestFixtureSetUp]
75+
public void TestFixtureSetUp()
76+
{
77+
Init();
78+
}
79+
80+
private void Init()
81+
{
82+
LogManager.LogFactory = new ConsoleLogFactory(debugEnabled: false);
83+
84+
switch (Dialect)
85+
{
86+
case Dialect.Sqlite:
87+
OrmLiteConfig.DialectProvider = SqliteDialect.Provider;
88+
ConnectionString = GetFileConnectionString();
89+
ConnectionString = ":memory:";
90+
return;
91+
case Dialect.SqlServer:
92+
OrmLiteConfig.DialectProvider = SqlServerDialect.Provider;
93+
ConnectionString = Config.SqlServerBuildDb;
94+
return;
95+
case Dialect.MySql:
96+
OrmLiteConfig.DialectProvider = MySqlDialect.Provider;
97+
ConnectionString = "Server=localhost;Database=test;UID=root;Password=test";
98+
return;
99+
case Dialect.PostgreSql:
100+
OrmLiteConfig.DialectProvider = PostgreSqlDialect.Provider;
101+
ConnectionString =
102+
"Server=localhost;Port=5432;User Id=test;Password=test;Database=test;Pooling=true;MinPoolSize=0;MaxPoolSize=200";
103+
return;
104+
case Dialect.SqlServerMdf:
105+
OrmLiteConfig.DialectProvider = SqlServerDialect.Provider;
106+
ConnectionString = "~/App_Data/Database1.mdf".MapAbsolutePath();
107+
ConnectionString = Config.GetDefaultConnection();
108+
return;
109+
case Dialect.Oracle:
110+
OrmLiteConfig.DialectProvider = OracleDialect.Provider;
111+
return;
112+
}
113+
}
99114

100-
public void Log(string text)
115+
public void Log(string text)
101116
{
102117
Console.WriteLine(text);
103118
}

0 commit comments

Comments
 (0)