Skip to content

Commit df2ca71

Browse files
bahusoidhazzik
authored andcommitted
Dispose session in cascade tests (nhibernate#2007)
1 parent 8421141 commit df2ca71

File tree

4 files changed

+579
-617
lines changed

4 files changed

+579
-617
lines changed

src/NHibernate.Test/Async/Cascade/Circle/MultiPathCircleCascadeTest.cs

Lines changed: 111 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,14 @@
99

1010

1111
using System;
12-
using System.Collections;
1312
using System.Linq;
14-
using NHibernate.Engine;
15-
using NHibernate.Test;
1613
using NUnit.Framework;
1714

1815
namespace NHibernate.Test.Cascade.Circle
1916
{
2017
using System.Threading.Tasks;
2118
using System.Threading;
22-
19+
2320
/**
2421
* The test case uses the following model:
2522
*
@@ -42,7 +39,7 @@ namespace NHibernate.Test.Cascade.Circle
4239
*
4340
* @author Pavol Zibrita, Gail Badner
4441
*/
45-
42+
4643
[TestFixture]
4744
public class MultiPathCircleCascadeTestAsync : TestCase
4845
{
@@ -81,7 +78,7 @@ public async Task MergeEntityWithNonNullableTransientEntityAsync()
8178
routeNew.Nodes.Add(node);
8279
node.Route = routeNew;
8380

84-
using (ISession session = base.OpenSession())
81+
using (ISession session = OpenSession())
8582
using (ITransaction transaction = session.BeginTransaction())
8683
{
8784
try
@@ -100,10 +97,6 @@ public async Task MergeEntityWithNonNullableTransientEntityAsync()
10097
// assertTrue( ex instanceof JDBCException );
10198
// }
10299
}
103-
finally
104-
{
105-
await (transaction.RollbackAsync());
106-
}
107100
}
108101
}
109102

@@ -115,7 +108,7 @@ public async Task MergeEntityWithNonNullableEntityNullAsync()
115108
route.Nodes.Remove(node);
116109
node.Route = null;
117110

118-
using (ISession session = base.OpenSession())
111+
using (ISession session = OpenSession())
119112
using (ITransaction transaction = session.BeginTransaction())
120113
{
121114
try
@@ -134,10 +127,6 @@ public async Task MergeEntityWithNonNullableEntityNullAsync()
134127
// assertTrue( ex instanceof JDBCException );
135128
// }
136129
}
137-
finally
138-
{
139-
await (transaction.RollbackAsync());
140-
}
141130
}
142131
}
143132

@@ -147,7 +136,7 @@ public async Task MergeEntityWithNonNullableEntityNullAsync()
147136
Node node = route.Nodes.First();
148137
node.Name = null;
149138

150-
using (ISession session = base.OpenSession())
139+
using (ISession session = OpenSession())
151140
using (ITransaction transaction = session.BeginTransaction())
152141
{
153142
try
@@ -167,113 +156,114 @@ public async Task MergeEntityWithNonNullableEntityNullAsync()
167156
// assertTrue( ex instanceof JDBCException );
168157
// }
169158
}
170-
finally
171-
{
172-
await (transaction.RollbackAsync(cancellationToken));
173-
}
174159
}
175160
}
176-
161+
177162
[Test]
178163
public async Task MergeRouteAsync()
179164
{
180165
Route route = await (this.GetUpdatedDetachedEntityAsync());
181-
166+
182167
ClearCounts();
183-
184-
ISession s = base.OpenSession();
185-
s.BeginTransaction();
186-
await (s.MergeAsync(route));
187-
await (s.Transaction.CommitAsync());
188-
s.Close();
189-
168+
169+
using (ISession s = OpenSession())
170+
using (s.BeginTransaction())
171+
{
172+
await (s.MergeAsync(route));
173+
await (s.Transaction.CommitAsync());
174+
}
175+
190176
AssertInsertCount(4);
191177
AssertUpdateCount(1);
192-
193-
s = base.OpenSession();
194-
s.BeginTransaction();
195-
route = await (s.GetAsync<Route>(route.RouteId));
196-
CheckResults(route, true);
197-
await (s.Transaction.CommitAsync());
198-
s.Close();
178+
179+
using (ISession s = OpenSession())
180+
using (s.BeginTransaction())
181+
{
182+
route = await (s.GetAsync<Route>(route.RouteId));
183+
CheckResults(route, true);
184+
await (s.Transaction.CommitAsync());
185+
}
199186
}
200-
187+
201188
[Test]
202189
public async Task MergePickupNodeAsync()
203190
{
204191
Route route = await (GetUpdatedDetachedEntityAsync());
205-
192+
206193
ClearCounts();
207-
208-
ISession s = OpenSession();
209-
s.BeginTransaction();
210194

211-
Node pickupNode = route.Nodes.First(n => n.Name == "pickupNodeB");
212-
pickupNode = (Node)await (s.MergeAsync(pickupNode));
213-
214-
await (s.Transaction.CommitAsync());
215-
s.Close();
195+
using (var s = OpenSession())
196+
using (s.BeginTransaction())
197+
{
198+
Node pickupNode = route.Nodes.First(n => n.Name == "pickupNodeB");
199+
pickupNode = (Node) await (s.MergeAsync(pickupNode));
200+
201+
await (s.Transaction.CommitAsync());
202+
}
216203

217204
AssertInsertCount(4);
218205
AssertUpdateCount(0);
219-
220-
s = OpenSession();
221-
s.BeginTransaction();
222-
route = await (s.GetAsync<Route>(route.RouteId));
223-
CheckResults(route, false);
224-
await (s.Transaction.CommitAsync());
225-
s.Close();
206+
207+
using (var s = OpenSession())
208+
using (s.BeginTransaction())
209+
{
210+
route = await (s.GetAsync<Route>(route.RouteId));
211+
CheckResults(route, false);
212+
await (s.Transaction.CommitAsync());
213+
}
226214
}
227-
215+
228216
[Test]
229217
public async Task MergeDeliveryNodeAsync()
230218
{
231219
Route route = await (GetUpdatedDetachedEntityAsync());
232-
220+
233221
ClearCounts();
234-
235-
ISession s = OpenSession();
236-
s.BeginTransaction();
237222

238-
Node deliveryNode = route.Nodes.First(n => n.Name == "deliveryNodeB");
239-
deliveryNode = (Node)await (s.MergeAsync(deliveryNode));
240-
241-
await (s.Transaction.CommitAsync());
242-
s.Close();
223+
using (ISession s = OpenSession())
224+
using (s.BeginTransaction())
225+
{
226+
Node deliveryNode = route.Nodes.First(n => n.Name == "deliveryNodeB");
227+
deliveryNode = (Node) await (s.MergeAsync(deliveryNode));
228+
await (s.Transaction.CommitAsync());
229+
}
243230

244231
AssertInsertCount(4);
245232
AssertUpdateCount(0);
246-
247-
s = OpenSession();
248-
s.BeginTransaction();
249-
route = await (s.GetAsync<Route>(route.RouteId));
250-
CheckResults(route, false);
251-
await (s.Transaction.CommitAsync());
252-
s.Close();
233+
234+
using (ISession s = OpenSession())
235+
using (s.BeginTransaction())
236+
{
237+
route = await (s.GetAsync<Route>(route.RouteId));
238+
CheckResults(route, false);
239+
await (s.Transaction.CommitAsync());
240+
}
253241
}
254-
242+
255243
[Test]
256244
public async Task MergeTourAsync()
257245
{
258246
Route route = await (GetUpdatedDetachedEntityAsync());
259-
247+
260248
ClearCounts();
261-
262-
ISession s = OpenSession();
263-
s.BeginTransaction();
264-
Tour tour = (Tour)await (s.MergeAsync(route.Nodes.First().Tour));
265-
await (s.Transaction.CommitAsync());
266-
s.Close();
267-
249+
250+
using (ISession s = OpenSession())
251+
using (s.BeginTransaction())
252+
{
253+
Tour tour = await (s.MergeAsync(route.Nodes.First().Tour));
254+
await (s.Transaction.CommitAsync());
255+
}
256+
268257
AssertInsertCount(4);
269258
AssertUpdateCount(0);
270-
271-
s = OpenSession();
272-
s.BeginTransaction();
273-
route = await (s.GetAsync<Route>(route.RouteId));
274-
CheckResults(route, false);
275-
await (s.Transaction.CommitAsync());
276-
s.Close();
259+
260+
using (ISession s = OpenSession())
261+
using (s.BeginTransaction())
262+
{
263+
route = await (s.GetAsync<Route>(route.RouteId));
264+
CheckResults(route, false);
265+
await (s.Transaction.CommitAsync());
266+
}
277267
}
278268

279269
[Test]
@@ -282,46 +272,46 @@ public async Task MergeTransportAsync()
282272
Route route = await (GetUpdatedDetachedEntityAsync());
283273

284274
ClearCounts();
285-
286-
ISession s = OpenSession();
287-
s.BeginTransaction();
288-
289-
Node node = route.Nodes.First();
290-
Transport transport = null;
291-
292-
if (node.PickupTransports.Count == 1)
293-
transport = node.PickupTransports.First();
294-
else
295-
transport = node.DeliveryTransports.First();
296-
297-
transport = (Transport)await (s.MergeAsync(transport));
298-
299-
await (s.Transaction.CommitAsync());
300-
s.Close();
275+
276+
using (ISession s = OpenSession())
277+
using (s.BeginTransaction())
278+
{
279+
Node node = route.Nodes.First();
280+
Transport transport = null;
281+
282+
if (node.PickupTransports.Count == 1)
283+
transport = node.PickupTransports.First();
284+
else
285+
transport = node.DeliveryTransports.First();
286+
287+
transport = (Transport) await (s.MergeAsync(transport));
288+
289+
await (s.Transaction.CommitAsync());
290+
}
301291

302292
AssertInsertCount(4);
303293
AssertUpdateCount(0);
304-
305-
s = OpenSession();
306-
s.BeginTransaction();
307-
route = await (s.GetAsync<Route>(route.RouteId));
308-
CheckResults(route, false);
309-
await (s.Transaction.CommitAsync());
310-
s.Close();
294+
295+
using (ISession s = OpenSession())
296+
using (s.BeginTransaction())
297+
{
298+
route = await (s.GetAsync<Route>(route.RouteId));
299+
CheckResults(route, false);
300+
await (s.Transaction.CommitAsync());
301+
}
311302
}
312-
303+
313304
private async Task<Route> GetUpdatedDetachedEntityAsync(CancellationToken cancellationToken = default(CancellationToken))
314305
{
315-
ISession s = OpenSession();
316-
s.BeginTransaction();
317-
318306
Route route = new Route();
319-
route.Name = "routeA";
320-
321-
await (s.SaveAsync(route, cancellationToken));
322-
await (s.Transaction.CommitAsync(cancellationToken));
323-
s.Close();
324-
307+
using (ISession s = OpenSession())
308+
using (s.BeginTransaction())
309+
{
310+
route.Name = "routeA";
311+
312+
await (s.SaveAsync(route, cancellationToken));
313+
await (s.Transaction.CommitAsync(cancellationToken));
314+
}
325315
route.Name = "new routeA";
326316
route.TransientField = "sfnaouisrbn";
327317

@@ -423,7 +413,7 @@ private void CheckResults(Route route, bool isRouteUpdated)
423413

424414
protected override void OnTearDown()
425415
{
426-
using (ISession session = base.OpenSession())
416+
using (ISession session = OpenSession())
427417
using (ITransaction transaction = session.BeginTransaction())
428418
{
429419
session.CreateQuery("delete from Transport").ExecuteUpdate();
@@ -455,4 +445,4 @@ protected void AssertDeleteCount(long expected)
455445
Assert.That(Sfi.Statistics.EntityDeleteCount, Is.EqualTo(expected), "unexpected delete count");
456446
}
457447
}
458-
}
448+
}

0 commit comments

Comments
 (0)