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

Commit 4ce0cbd

Browse files
authored
Merge pull request #512 from shift-evgeny/PostgresTestFixes
Postgres test fixes
2 parents 3663edc + 4201829 commit 4ce0cbd

15 files changed

+165
-292
lines changed

src/ServiceStack.OrmLite.MySql.Tests/OrmLiteCreateTableWithNamingStrategyTests.cs

Lines changed: 20 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using NUnit.Framework;
33
using ServiceStack.Common.Tests.Models;
4+
using ServiceStack.OrmLite.Tests;
45

56
namespace ServiceStack.OrmLite.MySql.Tests
67
{
@@ -13,57 +14,39 @@ public class OrmLiteCreateTableWithNamigStrategyTests
1314
[Test]
1415
public void Can_create_TableWithNamigStrategy_table_prefix()
1516
{
16-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new PrefixNamingStrategy
17-
{
18-
TablePrefix ="tab_",
19-
ColumnPrefix = "col_",
20-
};
21-
17+
using (new TemporaryNamingStrategy(new PrefixNamingStrategy { TablePrefix = "tab_", ColumnPrefix = "col_" }))
2218
using (var db = OpenDbConnection())
2319
{
2420
db.CreateTable<ModelWithOnlyStringFields>(true);
2521
}
26-
27-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
2822
}
2923

3024
[Test]
3125
public void Can_create_TableWithNamigStrategy_table_lowered()
3226
{
33-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new LowercaseNamingStrategy();
34-
35-
using (var db = OpenDbConnection())
36-
{
37-
db.CreateTable<ModelWithOnlyStringFields>(true);
38-
}
39-
40-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
27+
using (new TemporaryNamingStrategy(new LowercaseNamingStrategy()))
28+
using (var db = OpenDbConnection())
29+
{
30+
db.CreateTable<ModelWithOnlyStringFields>(true);
31+
}
4132
}
4233

4334

4435
[Test]
4536
public void Can_create_TableWithNamigStrategy_table_nameUnderscoreCoumpound()
4637
{
47-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new UnderscoreSeparatedCompoundNamingStrategy();
48-
49-
using (var db = OpenDbConnection())
50-
{
51-
db.CreateTable<ModelWithOnlyStringFields>(true);
52-
}
53-
54-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
38+
using (new TemporaryNamingStrategy(new UnderscoreSeparatedCompoundNamingStrategy()))
39+
using (var db = OpenDbConnection())
40+
{
41+
db.CreateTable<ModelWithOnlyStringFields>(true);
42+
}
5543
}
5644

5745
[Test]
5846
public void Can_get_data_from_TableWithNamigStrategy_with_GetById()
5947
{
60-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new PrefixNamingStrategy
61-
{
62-
TablePrefix = "tab_",
63-
ColumnPrefix = "col_",
64-
};
65-
66-
using (var db = OpenDbConnection())
48+
using (new TemporaryNamingStrategy(new PrefixNamingStrategy { TablePrefix = "tab_", ColumnPrefix = "col_" }))
49+
using (var db = OpenDbConnection())
6750
{
6851
db.CreateTable<ModelWithOnlyStringFields>(true);
6952
ModelWithOnlyStringFields m = new ModelWithOnlyStringFields() { Id= "999", AlbumId = "112", AlbumName="ElectroShip", Name = "MyNameIsBatman"};
@@ -73,21 +56,14 @@ public void Can_get_data_from_TableWithNamigStrategy_with_GetById()
7356

7457
Assert.AreEqual(m.Name, modelFromDb.Name);
7558
}
76-
77-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
7859
}
7960

8061

8162
[Test]
8263
public void Can_get_data_from_TableWithNamigStrategy_with_query_by_example()
8364
{
84-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new PrefixNamingStrategy
85-
{
86-
TablePrefix = "tab_",
87-
ColumnPrefix = "col_",
88-
};
89-
90-
using (var db = OpenDbConnection())
65+
using (new TemporaryNamingStrategy(new PrefixNamingStrategy { TablePrefix = "tab_", ColumnPrefix = "col_" }))
66+
using (var db = OpenDbConnection())
9167
{
9268
db.CreateTable<ModelWithOnlyStringFields>(true);
9369
ModelWithOnlyStringFields m = new ModelWithOnlyStringFields() { Id = "998", AlbumId = "112", AlbumName = "ElectroShip", Name = "QueryByExample" };
@@ -97,21 +73,14 @@ public void Can_get_data_from_TableWithNamigStrategy_with_query_by_example()
9773

9874
Assert.AreEqual(m.Name, modelFromDb.Name);
9975
}
100-
101-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
10276
}
10377

10478

10579
[Test]
10680
public void Can_get_data_from_TableWithNamigStrategy_AfterChangingNamingStrategy()
10781
{
108-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new PrefixNamingStrategy
109-
{
110-
TablePrefix = "tab_",
111-
ColumnPrefix = "col_",
112-
};
113-
114-
using (var db = OpenDbConnection())
82+
using (new TemporaryNamingStrategy(new PrefixNamingStrategy { TablePrefix = "tab_", ColumnPrefix = "col_" }))
83+
using (var db = OpenDbConnection())
11584
{
11685
db.CreateTable<ModelWithOnlyStringFields>(true);
11786
ModelWithOnlyStringFields m = new ModelWithOnlyStringFields() { Id = "998", AlbumId = "112", AlbumName = "ElectroShip", Name = "QueryByExample" };
@@ -126,8 +95,6 @@ public void Can_get_data_from_TableWithNamigStrategy_AfterChangingNamingStrategy
12695

12796
}
12897

129-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
130-
13198
using (var db = OpenDbConnection())
13299
{
133100
db.CreateTable<ModelWithOnlyStringFields>(true);
@@ -142,13 +109,8 @@ public void Can_get_data_from_TableWithNamigStrategy_AfterChangingNamingStrategy
142109
Assert.AreEqual(m.Name, modelFromDb.Name);
143110
}
144111

145-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new PrefixNamingStrategy
146-
{
147-
TablePrefix = "tab_",
148-
ColumnPrefix = "col_",
149-
};
150-
151-
using (var db = OpenDbConnection())
112+
using (new TemporaryNamingStrategy(new PrefixNamingStrategy { TablePrefix = "tab_", ColumnPrefix = "col_" }))
113+
using (var db = OpenDbConnection())
152114
{
153115
db.CreateTable<ModelWithOnlyStringFields>(true);
154116
ModelWithOnlyStringFields m = new ModelWithOnlyStringFields() { Id = "998", AlbumId = "112", AlbumName = "ElectroShip", Name = "QueryByExample" };
@@ -161,8 +123,6 @@ public void Can_get_data_from_TableWithNamigStrategy_AfterChangingNamingStrategy
161123
modelFromDb = db.SingleById<ModelWithOnlyStringFields>("998");
162124
Assert.AreEqual(m.Name, modelFromDb.Name);
163125
}
164-
165-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
166126
}
167127
}
168128

src/ServiceStack.OrmLite.Oracle.Tests/ServiceStack.OrmLite.Oracle.Tests.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,9 @@
361361
<Compile Include="..\..\tests\ServiceStack.OrmLite.Tests\Support\JoinSqlBuilder.cs">
362362
<Link>Support\JoinSqlBuilder.cs</Link>
363363
</Compile>
364+
<Compile Include="..\..\tests\ServiceStack.OrmLite.Tests\TemporaryNamingStrategy.cs">
365+
<Link>TemporaryNamingStrategy.cs</Link>
366+
</Compile>
364367
<Compile Include="..\..\tests\ServiceStack.OrmLite.Tests\TestHelpers.cs">
365368
<Link>TestHelpers.cs</Link>
366369
</Compile>

src/ServiceStack.OrmLite.PostgreSQL.Tests/Issues/JsonDataTypeTests.cs

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,37 +14,38 @@ public class JsonDataTypeTests : OrmLiteTestBase
1414
[Test]
1515
public void Can_save_and_restore_JSON_property()
1616
{
17-
OrmLiteConfig.DialectProvider.NamingStrategy = new OrmLiteNamingStrategyBase();
18-
19-
var item = new LicenseCheckTemp
17+
using (new TemporaryNamingStrategy(new OrmLiteNamingStrategyBase()))
2018
{
21-
Body = new CheckHistory
19+
var item = new LicenseCheckTemp
2220
{
23-
List = {
21+
Body = new CheckHistory
22+
{
23+
List = {
2424
new ItemHistory { AddedOn = DateTime.MaxValue, Note = "Test" }
2525
}
26-
}
27-
};
28-
29-
using (var db = OpenDbConnection())
30-
{
31-
db.DropAndCreateTable<LicenseCheckTemp>();
32-
db.GetLastSql().Print();
33-
db.Save(item);
34-
}
26+
}
27+
};
3528

36-
using (var db = OpenDbConnection())
37-
{
38-
var items = db.Select<LicenseCheckTemp>();
39-
items.PrintDump();
29+
using (var db = OpenDbConnection())
30+
{
31+
db.DropAndCreateTable<LicenseCheckTemp>();
32+
db.GetLastSql().Print();
33+
db.Save(item);
34+
}
4035

41-
foreach (var licenseCheck in items.OrderBy(x => x.Id))
36+
using (var db = OpenDbConnection())
4237
{
43-
if (licenseCheck.Body != null && licenseCheck.Body.List.Any())
38+
var items = db.Select<LicenseCheckTemp>();
39+
items.PrintDump();
40+
41+
foreach (var licenseCheck in items.OrderBy(x => x.Id))
4442
{
45-
foreach (var itemHistory in licenseCheck.Body.List)
43+
if (licenseCheck.Body != null && licenseCheck.Body.List.Any())
4644
{
47-
"{0} : Note {1}".Print(itemHistory.AddedOn, itemHistory.Note);
45+
foreach (var itemHistory in licenseCheck.Body.List)
46+
{
47+
"{0} : Note {1}".Print(itemHistory.AddedOn, itemHistory.Note);
48+
}
4849
}
4950
}
5051
}

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

Lines changed: 9 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -15,80 +15,55 @@ public OrmLiteCreateTableWithNamigStrategyTests() : base(Dialect.PostgreSql) { }
1515
[Test]
1616
public void Can_create_TableWithNamigStrategy_table_prefix()
1717
{
18-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new PrefixNamingStrategy
19-
{
20-
TablePrefix ="tab_",
21-
ColumnPrefix = "col_",
22-
};
23-
18+
using (new TemporaryNamingStrategy(new PrefixNamingStrategy { TablePrefix = "tab_", ColumnPrefix = "col_" }))
2419
using (var db = OpenDbConnection())
2520
{
2621
db.CreateTable<ModelWithOnlyStringFields>(true);
2722
}
28-
29-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
3023
}
3124

3225
[Test]
3326
public void Can_create_TableWithNamigStrategy_table_lowered()
3427
{
35-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new LowercaseNamingStrategy();
36-
28+
using (new TemporaryNamingStrategy(new LowercaseNamingStrategy()))
3729
using (var db = OpenDbConnection())
3830
{
3931
db.CreateTable<ModelWithOnlyStringFields>(true);
4032
}
41-
42-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
4333
}
4434

4535

4636
[Test]
4737
public void Can_create_TableWithNamigStrategy_table_nameUnderscoreCoumpound()
4838
{
49-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new UnderscoreSeparatedCompoundNamingStrategy();
50-
39+
using (new TemporaryNamingStrategy(new UnderscoreSeparatedCompoundNamingStrategy()))
5140
using (var db = OpenDbConnection())
5241
{
5342
db.CreateTable<ModelWithOnlyStringFields>(true);
5443
}
55-
56-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
5744
}
5845

5946
[Test]
6047
public void Can_get_data_from_TableWithNamigStrategy_with_GetById()
6148
{
62-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new PrefixNamingStrategy
63-
{
64-
TablePrefix = "tab_",
65-
ColumnPrefix = "col_",
66-
};
67-
49+
using (new TemporaryNamingStrategy(new PrefixNamingStrategy { TablePrefix = "tab_", ColumnPrefix = "col_" }))
6850
using (var db = OpenDbConnection())
6951
{
7052
db.CreateTable<ModelWithOnlyStringFields>(true);
71-
ModelWithOnlyStringFields m = new ModelWithOnlyStringFields() { Id= "999", AlbumId = "112", AlbumName="ElectroShip", Name = "MyNameIsBatman"};
53+
ModelWithOnlyStringFields m = new ModelWithOnlyStringFields() { Id = "999", AlbumId = "112", AlbumName = "ElectroShip", Name = "MyNameIsBatman" };
7254

7355
db.Save<ModelWithOnlyStringFields>(m);
7456
var modelFromDb = db.SingleById<ModelWithOnlyStringFields>("999");
7557

7658
Assert.AreEqual(m.Name, modelFromDb.Name);
7759
}
78-
79-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
8060
}
8161

8262

8363
[Test]
8464
public void Can_get_data_from_TableWithNamigStrategy_with_query_by_example()
8565
{
86-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new PrefixNamingStrategy
87-
{
88-
TablePrefix = "tab_",
89-
ColumnPrefix = "col_",
90-
};
91-
66+
using (new TemporaryNamingStrategy(new PrefixNamingStrategy { TablePrefix = "tab_", ColumnPrefix = "col_" }))
9267
using (var db = OpenDbConnection())
9368
{
9469
db.CreateTable<ModelWithOnlyStringFields>(true);
@@ -99,20 +74,13 @@ public void Can_get_data_from_TableWithNamigStrategy_with_query_by_example()
9974

10075
Assert.AreEqual(m.Name, modelFromDb.Name);
10176
}
102-
103-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
10477
}
10578

10679

10780
[Test]
10881
public void Can_get_data_from_TableWithNamigStrategy_AfterChangingNamingStrategy()
109-
{
110-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new PrefixNamingStrategy
111-
{
112-
TablePrefix = "tab_",
113-
ColumnPrefix = "col_",
114-
};
115-
82+
{
83+
using (new TemporaryNamingStrategy(new PrefixNamingStrategy { TablePrefix = "tab_", ColumnPrefix = "col_" }))
11684
using (var db = OpenDbConnection())
11785
{
11886
db.CreateTable<ModelWithOnlyStringFields>(true);
@@ -128,8 +96,6 @@ public void Can_get_data_from_TableWithNamigStrategy_AfterChangingNamingStrategy
12896

12997
}
13098

131-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
132-
13399
using (var db = OpenDbConnection())
134100
{
135101
db.CreateTable<ModelWithOnlyStringFields>(true);
@@ -144,12 +110,7 @@ public void Can_get_data_from_TableWithNamigStrategy_AfterChangingNamingStrategy
144110
Assert.AreEqual(m.Name, modelFromDb.Name);
145111
}
146112

147-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy = new PrefixNamingStrategy
148-
{
149-
TablePrefix = "tab_",
150-
ColumnPrefix = "col_",
151-
};
152-
113+
using (new TemporaryNamingStrategy(new PrefixNamingStrategy { TablePrefix = "tab_", ColumnPrefix = "col_" }))
153114
using (var db = OpenDbConnection())
154115
{
155116
db.CreateTable<ModelWithOnlyStringFields>(true);
@@ -163,8 +124,6 @@ public void Can_get_data_from_TableWithNamigStrategy_AfterChangingNamingStrategy
163124
modelFromDb = db.SingleById<ModelWithOnlyStringFields>("998");
164125
Assert.AreEqual(m.Name, modelFromDb.Name);
165126
}
166-
167-
OrmLite.OrmLiteConfig.DialectProvider.NamingStrategy= new OrmLiteNamingStrategyBase();
168127
}
169128

170129
}

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

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,13 @@ public OrmLiteDropTableWithNamingStrategyTests() : base(Dialect.PostgreSql) { }
1212
[Test]
1313
public void Can_drop_TableWithNamigStrategy_table_PostgreSqlNamingStrategy()
1414
{
15-
OrmLiteConfig.DialectProvider.NamingStrategy = new PostgreSqlNamingStrategy();
16-
15+
using (new TemporaryNamingStrategy(new PostgreSqlNamingStrategy()))
1716
using (var db = OpenDbConnection())
1817
{
1918
db.CreateTable<ModelWithOnlyStringFields>(true);
2019
db.DropTable<ModelWithOnlyStringFields>();
2120
Assert.False(db.TableExists("model_with_only_string_fields"));
2221
}
23-
24-
OrmLiteConfig.DialectProvider.NamingStrategy = new OrmLiteNamingStrategyBase();
2522
}
2623
}
2724
}

0 commit comments

Comments
 (0)