Skip to content

Commit 93ba349

Browse files
committed
Change to "no global domain" approach
1 parent 9eb787a commit 93ba349

2 files changed

Lines changed: 13 additions & 23 deletions

File tree

Orm/Xtensive.Orm.Tests/Issues/IssueJira0208_IncorrectUpgradeSequence/UpgradeTest.cs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class UpgradeTest
2323
[SetUp]
2424
public void SetUp()
2525
{
26-
BuildDomain("1", DomainUpgradeMode.Recreate);
26+
using (var domain = BuildDomain("1", DomainUpgradeMode.Recreate))
2727
using (var session = domain.OpenSession()) {
2828
using (var tx = session.OpenTransaction()) {
2929
var toRemove1 = new M1.EntityToRemove1();
@@ -41,7 +41,7 @@ public void SetUp()
4141
[IgnoreIfGithubActions(StorageProvider.Firebird)]
4242
public void UpgradeToVersion2Test()
4343
{
44-
BuildDomain("2", DomainUpgradeMode.PerformSafely);
44+
using (var domain = BuildDomain("2", DomainUpgradeMode.PerformSafely))
4545
using (var session = domain.OpenSession()) {
4646
using (var tx = session.OpenTransaction()) {
4747
var toKeep1 = session.Query.All<M2.EntityToKeep1>().Single();
@@ -51,13 +51,10 @@ public void UpgradeToVersion2Test()
5151
}
5252
}
5353

54-
private void BuildDomain(string version, DomainUpgradeMode upgradeMode)
54+
private Domain BuildDomain(string version, DomainUpgradeMode upgradeMode)
5555
{
56-
if (domain != null)
57-
domain.DisposeSafely();
58-
59-
string ns = typeof(M1.EntityToKeep1).Namespace;
60-
string nsPrefix = ns.Substring(0, ns.Length - 1);
56+
var ns = typeof(M1.EntityToKeep1).Namespace;
57+
var nsPrefix = ns.Substring(0, ns.Length - 1);
6158

6259
var configuration = DomainConfigurationFactory.Create();
6360
configuration.UpgradeMode = upgradeMode;
@@ -66,7 +63,7 @@ private void BuildDomain(string version, DomainUpgradeMode upgradeMode)
6663
configuration.Types.Register(typeof(Upgrader));
6764

6865
using (Upgrader.Enable(version)) {
69-
domain = Domain.Build(configuration);
66+
return Domain.Build(configuration);
7067
}
7168
}
7269
}

Orm/Xtensive.Orm.Tests/Upgrade/EntitySetUpgrade/UpgradeTest.cs

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,19 @@
77
using System;
88
using System.Linq;
99
using System.Reflection;
10-
using Xtensive.Core;
11-
using Xtensive.Orm.Tests.Upgrade.EntitySetUpgradeTest.Model.Version1;
10+
using NUnit.Framework;
1211
using M1 = Xtensive.Orm.Tests.Upgrade.EntitySetUpgradeTest.Model.Version1;
1312
using M2 = Xtensive.Orm.Tests.Upgrade.EntitySetUpgradeTest.Model.Version2;
14-
using NUnit.Framework;
1513

1614
namespace Xtensive.Orm.Tests.Upgrade.EntitySetUpgradeTest
1715
{
1816
[TestFixture]
1917
public class UpgradeTest
2018
{
21-
private Domain domain;
22-
2319
[SetUp]
2420
public void SetUp()
2521
{
26-
BuildDomain("1", DomainUpgradeMode.Recreate);
22+
using (BuildDomain("1", DomainUpgradeMode.Recreate))
2723
using (var session = domain.OpenSession()) {
2824
using (var tx = session.OpenTransaction()) {
2925
var person = new M1.Person();
@@ -40,29 +36,26 @@ public void SetUp()
4036
[IgnoreOnGithubActionsIfFailed(StorageProvider.Firebird)]
4137
public void UpgradeToVersion2Test()
4238
{
43-
BuildDomain("2", DomainUpgradeMode.Perform);
39+
using (BuildDomain("2", DomainUpgradeMode.Perform))
4440
using (var session = domain.OpenSession()) {
4541
using (session.OpenTransaction()) {
4642
Assert.AreEqual(1, session.Query.All<M2.Person>().Count());
4743
}
4844
}
4945
}
5046

51-
private void BuildDomain(string version, DomainUpgradeMode upgradeMode)
47+
private Domain BuildDomain(string version, DomainUpgradeMode upgradeMode)
5248
{
53-
if (domain != null)
54-
domain.DisposeSafely();
55-
56-
string ns = typeof(Person).Namespace;
57-
string nsPrefix = ns.Substring(0, ns.Length - 1);
49+
var ns = typeof(M1.Person).Namespace;
50+
var nsPrefix = ns.Substring(0, ns.Length - 1);
5851

5952
var configuration = DomainConfigurationFactory.Create();
6053
configuration.UpgradeMode = upgradeMode;
6154
configuration.Types.Register(Assembly.GetExecutingAssembly(), nsPrefix + version);
6255
configuration.Types.Register(typeof(Upgrader));
6356

6457
using (Upgrader.Enable(version)) {
65-
domain = Domain.Build(configuration);
58+
return Domain.Build(configuration);
6659
}
6760
}
6861
}

0 commit comments

Comments
 (0)