Skip to content

Commit 64c4e06

Browse files
committed
Tests handle changes from baa9eb2
SystemEvents are out of scope of registration lock
1 parent a168bfc commit 64c4e06

File tree

4 files changed

+46
-68
lines changed

4 files changed

+46
-68
lines changed

Orm/Xtensive.Orm.Tests/Storage/DataLossOnEventsPrevention/EntityChangesTest.cs

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public sealed class EntityChangesTest : AutoBuildTest
2929
private const string TransactionOnCommitted = nameof(ChangesOnTransactionCommittedEventTest);
3030
private const string TransactionOnCommittedSystem = nameof(ChangesOnTransactionCommittedSystemEventTest);
3131

32-
private const string ExceptionMessageIdentifier = "Events.Persisting";
32+
private const string ExceptionMessageIdentifier = "possibility of changes not saved";
3333

3434
protected override DomainConfiguration BuildConfiguration()
3535
{
@@ -177,7 +177,8 @@ public void ManualPersistOnPersistedSystemEventTest()
177177
session.SystemEvents.Persisted += ChangeEntityOnPersisted;
178178
session.SaveChanges();
179179
session.SystemEvents.Persisted -= ChangeEntityOnPersisted;
180-
// exception handled
180+
181+
Assert.That(session.EntityChangeRegistry.Count, Is.Not.Zero);
181182
}
182183

183184
using (var session = Domain.OpenSession())
@@ -191,9 +192,7 @@ public void ManualPersistOnPersistedSystemEventTest()
191192
static void ChangeEntityOnPersisted(object sender, EventArgs e)
192193
{
193194
var eventAccessor = (SessionEventAccessor) sender;
194-
var ex = Assert.Throws<InvalidOperationException>(() =>
195-
MakeEntityRegistryChange(eventAccessor.Session, ManualPersistOnPersistedSystem, 64));
196-
Assert.That(ex.Message.Contains(ExceptionMessageIdentifier));
195+
MakeEntityRegistryChange(eventAccessor.Session, ManualPersistOnPersistedSystem, 64);
197196
}
198197
}
199198

@@ -255,7 +254,7 @@ static void ChangeEntityOnPersisting(object sender, EventArgs e)
255254
}
256255
}
257256

258-
[Test(Description = "Data Loss")]
257+
[Test]
259258
public void ChangesOnPersistedEventTest()
260259
{
261260
using (var session = Domain.OpenSession()) {
@@ -286,7 +285,7 @@ static void ChangeEntityOnPersisted(object sender, EventArgs e)
286285
}
287286
}
288287

289-
[Test(Description = "Data Loss")]
288+
[Test]
290289
public void ChangesOnPersistedSystemEventTest()
291290
{
292291
using (var session = Domain.OpenSession()) {
@@ -311,9 +310,7 @@ public void ChangesOnPersistedSystemEventTest()
311310
static void ChangeEntityOnPersisted(object sender, EventArgs e)
312311
{
313312
var eventAccessor = (SessionEventAccessor) sender;
314-
var ex = Assert.Throws<InvalidOperationException>(() =>
315-
MakeEntityRegistryChange(eventAccessor.Session, PersistedOnCommittingSystem, 44));
316-
Assert.That(ex.Message.Contains(ExceptionMessageIdentifier));
313+
MakeEntityRegistryChange(eventAccessor.Session, PersistedOnCommittingSystem, 44);
317314
}
318315
}
319316

@@ -375,7 +372,7 @@ static void ChangeEntityOnPrecommitting(object sender, TransactionEventArgs e)
375372
}
376373
}
377374

378-
[Test(Description = "Data Loss")]
375+
[Test]
379376
public void ChangesOnTransactionCommittingEventTest()
380377
{
381378
using (var session = Domain.OpenSession()) {
@@ -406,7 +403,7 @@ static void ChangeEntityOnCommitting(object sender, TransactionEventArgs e)
406403
}
407404
}
408405

409-
[Test(Description = "Data Loss")]
406+
[Test]
410407
public void ChangesOnTransactionCommittingSystemEventTest()
411408
{
412409
using (var session = Domain.OpenSession()) {
@@ -431,13 +428,11 @@ public void ChangesOnTransactionCommittingSystemEventTest()
431428
static void ChangeEntityOnCommitting(object sender, TransactionEventArgs e)
432429
{
433430
var eventAccessor = (SessionEventAccessor) sender;
434-
var ex = Assert.Throws<InvalidOperationException>(() =>
435-
MakeEntityRegistryChange(eventAccessor.Session, TransactionOnCommittingSystem, 24));
436-
Assert.That(ex.Message.Contains(ExceptionMessageIdentifier));
431+
MakeEntityRegistryChange(eventAccessor.Session, TransactionOnCommittingSystem, 24);
437432
}
438433
}
439434

440-
[Test(Description = "Data Loss")]
435+
[Test]
441436
public void ChangesOnTransactionCommittedEventTest()
442437
{
443438
using (var session = Domain.OpenSession()) {
@@ -469,7 +464,7 @@ static void ChangeEntityOnCommitted(object sender, TransactionEventArgs e)
469464
}
470465
}
471466

472-
[Test(Description = "Data Loss")]
467+
[Test]
473468
public void ChangesOnTransactionCommittedSystemEventTest()
474469
{
475470
using (var session = Domain.OpenSession()) {

Orm/Xtensive.Orm.Tests/Storage/DataLossOnEventsPrevention/NonPairedEntitySetChangesTest.cs

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public sealed class NonPairedEntitySetChangesTest : AutoBuildTest
2929
private const string TransactionOnCommitted = nameof(ChangesOnTransactionCommittedEventTest);
3030
private const string TransactionOnCommittedSystem = nameof(ChangesOnTransactionCommittedSystemEventTest);
3131

32-
private const string ExceptionMessageIdentifier = "Events.Persisting";
32+
private const string ExceptionMessageIdentifier = "possibility of changes not saved";
3333

3434
protected override DomainConfiguration BuildConfiguration()
3535
{
@@ -260,7 +260,8 @@ public void ManualPersistOnPersistedSystemEventTest()
260260
session.SystemEvents.Persisted += ChangeEntityOnPersisted;
261261
session.SaveChanges();
262262
session.SystemEvents.Persisted -= ChangeEntityOnPersisted;
263-
// exception handled
263+
264+
Assert.That(session.EntitySetChangeRegistry.Count, Is.Not.Zero);
264265
}
265266

266267
using (var session = Domain.OpenSession())
@@ -275,9 +276,7 @@ public void ManualPersistOnPersistedSystemEventTest()
275276
static void ChangeEntityOnPersisted(object sender, EventArgs e)
276277
{
277278
var eventAccessor = (SessionEventAccessor) sender;
278-
var ex = Assert.Throws<InvalidOperationException>(() =>
279-
MakeEntitySetRegistryChange(eventAccessor.Session, ManualPersistOnPersistedSystem));
280-
Assert.That(ex.Message.Contains(ExceptionMessageIdentifier));
279+
MakeEntitySetRegistryChange(eventAccessor.Session, ManualPersistOnPersistedSystem);
281280
}
282281
}
283282

@@ -345,7 +344,7 @@ static void ChangeEntityOnPersisting(object sender, EventArgs e)
345344
}
346345
}
347346

348-
[Test(Description = "Data Loss")]
347+
[Test]
349348
public void ChangesOnPersistedEventTest()
350349
{
351350
using (var session = Domain.OpenSession()) {
@@ -379,7 +378,7 @@ static void ChangeEntityOnPersisted(object sender, EventArgs e)
379378
}
380379
}
381380

382-
[Test(Description = "Data Loss")]
381+
[Test]
383382
public void ChangesOnPersistedSystemEventTest()
384383
{
385384
using (var session = Domain.OpenSession()) {
@@ -407,9 +406,7 @@ public void ChangesOnPersistedSystemEventTest()
407406
static void ChangeEntityOnPersisted(object sender, EventArgs e)
408407
{
409408
var eventAccessor = (SessionEventAccessor) sender;
410-
var ex = Assert.Throws<InvalidOperationException>(() =>
411-
MakeEntitySetRegistryChange(eventAccessor.Session, PersistedOnCommittingSystem));
412-
Assert.That(ex.Message.Contains(ExceptionMessageIdentifier));
409+
MakeEntitySetRegistryChange(eventAccessor.Session, PersistedOnCommittingSystem);
413410
}
414411
}
415412

@@ -477,7 +474,7 @@ static void ChangeEntityOnPrecommitting(object sender, TransactionEventArgs e)
477474
}
478475
}
479476

480-
[Test(Description = "Data Loss")]
477+
[Test]
481478
public void ChangesOnTransactionCommittingEventTest()
482479
{
483480
using (var session = Domain.OpenSession()) {
@@ -511,7 +508,7 @@ static void ChangeEntityOnCommitting(object sender, TransactionEventArgs e)
511508
}
512509
}
513510

514-
[Test(Description = "Data Loss")]
511+
[Test]
515512
public void ChangesOnTransactionCommittingSystemEventTest()
516513
{
517514
using (var session = Domain.OpenSession()) {
@@ -539,13 +536,11 @@ public void ChangesOnTransactionCommittingSystemEventTest()
539536
static void ChangeEntityOnCommitting(object sender, TransactionEventArgs e)
540537
{
541538
var eventAccessor = (SessionEventAccessor) sender;
542-
var ex = Assert.Throws<InvalidOperationException>(() =>
543-
MakeEntitySetRegistryChange(eventAccessor.Session, TransactionOnCommittingSystem));
544-
Assert.That(ex.Message.Contains(ExceptionMessageIdentifier));
539+
MakeEntitySetRegistryChange(eventAccessor.Session, TransactionOnCommittingSystem);
545540
}
546541
}
547542

548-
[Test(Description = "Data Loss")]
543+
[Test]
549544
public void ChangesOnTransactionCommittedEventTest()
550545
{
551546
using (var session = Domain.OpenSession()) {
@@ -580,7 +575,7 @@ static void ChangeEntityOnCommitted(object sender, TransactionEventArgs e)
580575
}
581576
}
582577

583-
[Test(Description = "Data Loss")]
578+
[Test]
584579
public void ChangesOnTransactionCommittedSystemEventTest()
585580
{
586581
using (var session = Domain.OpenSession()) {

Orm/Xtensive.Orm.Tests/Storage/DataLossOnEventsPrevention/NonPairedReferenceChangesTest.cs

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public sealed class NonPairedReferenceChangesTest : AutoBuildTest
2929
private const string TransactionOnCommitted = nameof(ChangesOnTransactionCommittedEventTest);
3030
private const string TransactionOnCommittedSystem = nameof(ChangesOnTransactionCommittedSystemEventTest);
3131

32-
private const string ExceptionMessageIdentifier = "Events.Persisting";
32+
private const string ExceptionMessageIdentifier = "possibility of changes not saved";
3333

3434
protected override DomainConfiguration BuildConfiguration()
3535
{
@@ -260,7 +260,6 @@ public void ManualPersistOnPersistedSystemEventTest()
260260
session.SystemEvents.Persisted += ChangeEntityOnPersisted;
261261
session.SaveChanges();
262262
session.SystemEvents.Persisted -= ChangeEntityOnPersisted;
263-
// exception handled
264263
}
265264

266265
using (var session = Domain.OpenSession())
@@ -275,9 +274,7 @@ public void ManualPersistOnPersistedSystemEventTest()
275274
static void ChangeEntityOnPersisted(object sender, EventArgs e)
276275
{
277276
var eventAccessor = (SessionEventAccessor) sender;
278-
var ex = Assert.Throws<InvalidOperationException>(() =>
279-
MakeNonPairedReferenceRegistryChange(eventAccessor.Session, ManualPersistOnPersistedSystem));
280-
Assert.That(ex.Message.Contains(ExceptionMessageIdentifier));
277+
MakeNonPairedReferenceRegistryChange(eventAccessor.Session, ManualPersistOnPersistedSystem);
281278
}
282279
}
283280

@@ -347,7 +344,7 @@ static void ChangeEntityOnPersisting(object sender, EventArgs e)
347344
}
348345
}
349346

350-
[Test(Description = "Data Loss")]
347+
[Test]
351348
public void ChangesOnPersistedEventTest()
352349
{
353350
using (var session = Domain.OpenSession()) {
@@ -382,7 +379,7 @@ static void ChangeEntityOnPersisted(object sender, EventArgs e)
382379
}
383380
}
384381

385-
[Test(Description = "Data Loss")]
382+
[Test]
386383
public void ChangesOnPersistedSystemEventTest()
387384
{
388385
using (var session = Domain.OpenSession()) {
@@ -411,9 +408,7 @@ public void ChangesOnPersistedSystemEventTest()
411408
static void ChangeEntityOnPersisted(object sender, EventArgs e)
412409
{
413410
var eventAccessor = (SessionEventAccessor) sender;
414-
var ex = Assert.Throws<InvalidOperationException>(() =>
415-
MakeNonPairedReferenceRegistryChange(eventAccessor.Session, PersistedOnCommittingSystem));
416-
Assert.That(ex.Message.Contains(ExceptionMessageIdentifier));
411+
MakeNonPairedReferenceRegistryChange(eventAccessor.Session, PersistedOnCommittingSystem);
417412
}
418413
}
419414

@@ -483,7 +478,7 @@ static void ChangeEntityOnPrecommitting(object sender, TransactionEventArgs e)
483478
}
484479
}
485480

486-
[Test(Description = "Data Loss")]
481+
[Test]
487482
public void ChangesOnTransactionCommittingEventTest()
488483
{
489484
using (var session = Domain.OpenSession()) {
@@ -518,7 +513,7 @@ static void ChangeEntityOnCommitting(object sender, TransactionEventArgs e)
518513
}
519514
}
520515

521-
[Test(Description = "Data Loss")]
516+
[Test]
522517
public void ChangesOnTransactionCommittingSystemEventTest()
523518
{
524519
using (var session = Domain.OpenSession()) {
@@ -547,13 +542,11 @@ public void ChangesOnTransactionCommittingSystemEventTest()
547542
static void ChangeEntityOnCommitting(object sender, TransactionEventArgs e)
548543
{
549544
var eventAccessor = (SessionEventAccessor) sender;
550-
var ex = Assert.Throws<InvalidOperationException>(() =>
551-
MakeNonPairedReferenceRegistryChange(eventAccessor.Session, TransactionOnCommittingSystem));
552-
Assert.That(ex.Message.Contains(ExceptionMessageIdentifier));
545+
MakeNonPairedReferenceRegistryChange(eventAccessor.Session, TransactionOnCommittingSystem);
553546
}
554547
}
555548

556-
[Test(Description = "Data Loss")]
549+
[Test]
557550
public void ChangesOnTransactionCommittedEventTest()
558551
{
559552
using (var session = Domain.OpenSession()) {
@@ -589,7 +582,7 @@ static void ChangeEntityOnCommitted(object sender, TransactionEventArgs e)
589582
}
590583
}
591584

592-
[Test(Description = "Data Loss")]
585+
[Test]
593586
public void ChangesOnTransactionCommittedSystemEventTest()
594587
{
595588
using (var session = Domain.OpenSession()) {

0 commit comments

Comments
 (0)