Skip to content

Commit d384205

Browse files
committed
Introduce WellKnownSchemas and WellKnownDatabases
+ some formatting update
1 parent b42f150 commit d384205

52 files changed

Lines changed: 1870 additions & 1578 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Extensions/Xtensive.Orm.Localization.Tests/MultipleNodesTest.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ public class MultipleNodesTest : CommonModelTest
2121
private const string Node3Id = "Node3";
2222
private const string Node4Id = "Node4";
2323

24-
private const string DefaultNodeSchema = "dbo";
25-
private const string FirstNodeSchema = "Model1";
26-
private const string SecondNodeSchema = "Model2";
27-
private const string ThridNodeSchema = "Model3";
28-
private const string ForthNodeSchema = "Model4";
24+
private const string DefaultNodeSchema = WellKnownSchemas.Schema1;
25+
private const string FirstNodeSchema = WellKnownSchemas.Schema2;
26+
private const string SecondNodeSchema = WellKnownSchemas.Schema3;
27+
private const string ThridNodeSchema = WellKnownSchemas.Schema4;
28+
private const string ForthNodeSchema = WellKnownSchemas.Schema5;
2929

3030
private static readonly CultureInfo EnglishCulture = new CultureInfo("en-US");
3131
private static readonly string EnglishTitle = "Welcome!";
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// Copyright (C) 2021 Xtensive LLC.
2+
// This code is distributed under MIT license terms.
3+
// See the License.txt file in the project root for more information.
4+
5+
using System;
6+
using System.Collections.Generic;
7+
using System.Text;
8+
9+
namespace Xtensive.Orm.Tests
10+
{
11+
/// <summary>
12+
/// Well-known databases which are used in tests
13+
/// </summary>
14+
public static class WellKnownDatabases
15+
{
16+
public const string SqlServerMasterDb = "master";
17+
18+
/// <summary>
19+
/// Can be used in multi-database tests.
20+
/// </summary>
21+
public static class MultiDatabase
22+
{
23+
public const string MainDb = "DO-Tests";
24+
25+
// Additional databases which can be used for multi-database tests
26+
public const string AdditionalDb1 = "DO-Tests-1";
27+
public const string AdditionalDb2 = "DO-Tests-2";
28+
public const string AdditionalDb3 = "DO-Tests-3";
29+
public const string AdditionalDb4 = "DO-Tests-4";
30+
public const string AdditionalDb5 = "DO-Tests-5";
31+
public const string AdditionalDb6 = "DO-Tests-6";
32+
public const string AdditionalDb7 = "DO-Tests-7";
33+
public const string AdditionalDb8 = "DO-Tests-8";
34+
public const string AdditionalDb9 = "DO-Tests-9";
35+
public const string AdditionalDb10 = "DO-Tests-10";
36+
public const string AdditionalDb11 = "DO-Tests-11";
37+
public const string AdditionalDb12 = "DO-Tests-12";
38+
}
39+
}
40+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright (C) 2021 Xtensive LLC.
2+
// This code is distributed under MIT license terms.
3+
// See the License.txt file in the project root for more information.
4+
5+
using System;
6+
using System.Collections.Generic;
7+
using System.Text;
8+
9+
namespace Xtensive.Orm.Tests
10+
{
11+
/// <summary>
12+
/// Well-known schemas which are used in tests
13+
/// </summary>
14+
public static class WellKnownSchemas
15+
{
16+
// storage-specific schemas
17+
public const string SqlServerDefaultSchema = "dbo";
18+
public const string PgSqlDefalutSchema = "public";
19+
20+
// general purpose schemas
21+
public const string Schema1 = "Model1";
22+
public const string Schema2 = "Model2";
23+
public const string Schema3 = "Model3";
24+
public const string Schema4 = "Model4";
25+
public const string Schema5 = "Model5";
26+
public const string Schema6 = "Model6";
27+
public const string Schema7 = "Model7";
28+
public const string Schema8 = "Model8";
29+
public const string Schema9 = "Model9";
30+
public const string Schema10 = "Model10";
31+
public const string Schema11 = "Model11";
32+
public const string Schema12 = "Model12";
33+
}
34+
}

Orm/Xtensive.Orm.Tests/Issues/IssueJira0537_DropDefaultConstraintBugTest.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -274,11 +274,11 @@ namespace Xtensive.Orm.Tests.Issues
274274
[TestFixture]
275275
public class IssueJira0537_DropDefaultConstraintBugTest : AutoBuildTest
276276
{
277-
private const string Database1Name = "DO-Tests-1";
278-
private const string Database2Name = "DO-Tests-2";
277+
private const string Database1Name = WellKnownDatabases.MultiDatabase.AdditionalDb1;
278+
private const string Database2Name = WellKnownDatabases.MultiDatabase.AdditionalDb1;
279279
private const string CoreAlias = "core";
280280
private const string WmsAlias = "wms";
281-
private const string SpecialSchemaAlias = "dbo";
281+
private const string SpecialSchemaAlias = WellKnownSchemas.SqlServerDefaultSchema;
282282

283283
private ConnectionInfo connectionInfo;
284284

Orm/Xtensive.Orm.Tests/Issues/IssueJira0614_TypeMappingCachingInMaterializationContext.cs

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (C) 2015-2020 Xtensive LLC.
1+
// Copyright (C) 2015-2021 Xtensive LLC.
22
// This code is distributed under MIT license terms.
33
// See the License.txt file in the project root for more information.
44

@@ -191,6 +191,9 @@ namespace Xtensive.Orm.Tests.Issues
191191
{
192192
public class IssueJira0614_MaterializationContextModel
193193
{
194+
private const string Schema1 = WellKnownSchemas.Schema1;
195+
private const string Schema2 = WellKnownSchemas.Schema2;
196+
194197
private const string Node2Name = "Node2";
195198
private const string Node1Name = "Node1";
196199

@@ -200,8 +203,8 @@ public class IssueJira0614_MaterializationContextModel
200203
[Test]
201204
public void Test01()
202205
{
203-
var configuration1 = CreateConfiguration(typeof(Node1.TimesheetCode), DomainUpgradeMode.Recreate, "Model1");
204-
var configuration2 = CreateConfiguration(typeof(Node2.TimesheetCode), DomainUpgradeMode.Recreate, "Model2");
206+
var configuration1 = CreateConfiguration(typeof(Node1.TimesheetCode), DomainUpgradeMode.Recreate, Schema1);
207+
var configuration2 = CreateConfiguration(typeof(Node2.TimesheetCode), DomainUpgradeMode.Recreate, Schema2);
205208

206209
using (var domain = BuildDomain(configuration1)) {
207210
Assert.That(domain.Model.Types[typeof(Node1.TimesheetCode)].TypeId, Is.EqualTo(288));
@@ -263,8 +266,8 @@ public void Test01()
263266
}
264267
}
265268

266-
var multinodeDomainConfiguration = CreateConfiguration(typeof(Target.TimesheetCode), DomainUpgradeMode.Skip, "Model1");
267-
var nodeConfiguration = CreateNodeConfiguration(Node2Name, "Model1", "Model2", DomainUpgradeMode.Skip);
269+
var multinodeDomainConfiguration = CreateConfiguration(typeof(Target.TimesheetCode), DomainUpgradeMode.Skip, Schema1);
270+
var nodeConfiguration = CreateNodeConfiguration(Node2Name, Schema1, Schema2, DomainUpgradeMode.Skip);
268271

269272
using (var domain = BuildDomain(multinodeDomainConfiguration, nodeConfiguration)) {
270273
using (var session = domain.OpenSession()) {
@@ -311,8 +314,8 @@ public void Test01()
311314
[Test]
312315
public void Test02()
313316
{
314-
var configuration1 = CreateConfiguration(typeof(Node1.TimesheetCode), DomainUpgradeMode.Recreate, "Model1");
315-
var configuration2 = CreateConfiguration(typeof(Node2.TimesheetCode), DomainUpgradeMode.Recreate, "Model2");
317+
var configuration1 = CreateConfiguration(typeof(Node1.TimesheetCode), DomainUpgradeMode.Recreate, Schema1);
318+
var configuration2 = CreateConfiguration(typeof(Node2.TimesheetCode), DomainUpgradeMode.Recreate, Schema2);
316319

317320
using (var domain = BuildDomain(configuration1)) {
318321
Assert.That(domain.Model.Types[typeof(Node1.TimesheetCode)].TypeId, Is.EqualTo(288));
@@ -375,8 +378,8 @@ public void Test02()
375378
}
376379
}
377380

378-
var multinodeDomainConfiguration = CreateConfiguration(typeof(Target.TimesheetCode), DomainUpgradeMode.PerformSafely, "Model2");
379-
var nodeConfiguration = CreateNodeConfiguration(Node1Name, "Model2", "Model1", DomainUpgradeMode.PerformSafely);
381+
var multinodeDomainConfiguration = CreateConfiguration(typeof(Target.TimesheetCode), DomainUpgradeMode.PerformSafely, Schema2);
382+
var nodeConfiguration = CreateNodeConfiguration(Node1Name, Schema2, Schema1, DomainUpgradeMode.PerformSafely);
380383

381384
using (var domain = BuildDomain(multinodeDomainConfiguration, nodeConfiguration)) {
382385
using (var session = domain.OpenSession()) {
@@ -435,13 +438,14 @@ private Domain BuildDomain(DomainConfiguration configuration, NodeConfiguration
435438
{
436439
try{
437440
var domain = Domain.Build(configuration);
438-
if (nodeConfiguration!=null)
439-
domain.StorageNodeManager.AddNode(nodeConfiguration);
441+
if (nodeConfiguration != null) {
442+
_ = domain.StorageNodeManager.AddNode(nodeConfiguration);
443+
}
440444
return domain;
441445
}
442446
catch (Exception e) {
443447
TestLog.Error(GetType().GetFullName());
444-
TestLog.Error(e);
448+
_ = TestLog.Error(e);
445449
throw;
446450
}
447451
}

Orm/Xtensive.Orm.Tests/Issues/IssueJira0647_StoredDomainModelMappingsUpdateBug.cs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (C) 2016-2020 Xtensive LLC.
1+
// Copyright (C) 2016-2021 Xtensive LLC.
22
// This code is distributed under MIT license terms.
33
// See the License.txt file in the project root for more information.
44
// Created by: Alexey Kulakov
@@ -381,6 +381,9 @@ private class ClientNodeConfiguration
381381
public string DefaultSchema { get; set; }
382382
}
383383

384+
private const string DOTests1Db = WellKnownDatabases.MultiDatabase.AdditionalDb1;
385+
private const string DOTests2Db = WellKnownDatabases.MultiDatabase.AdditionalDb2;
386+
384387
private ClientNodeConfiguration alpha;
385388
private ClientNodeConfiguration beta;
386389
private ClientNodeConfiguration main;
@@ -542,27 +545,27 @@ private void BuildNodeConfigurationsMetadata()
542545
main = new ClientNodeConfiguration {
543546
Name = "main",
544547
ConnectionInfo = ComposeConnectionToMasterDatabase(defaultConnection),
545-
InitializationSql = "USE [DO-Tests-1]",
546-
DefaultSchema = "dbo"
548+
InitializationSql = $"USE [{DOTests1Db}]",
549+
DefaultSchema = WellKnownSchemas.SqlServerDefaultSchema
547550
};
548551
alpha = new ClientNodeConfiguration {
549552
Name = "alpha",
550553
ConnectionInfo = ComposeConnectionToMasterDatabase(defaultConnection),
551-
InitializationSql = "USE [DO-Tests-1]",
552-
DefaultSchema = "Model1"
554+
InitializationSql = $"USE [{DOTests1Db}]",
555+
DefaultSchema = WellKnownSchemas.Schema1
553556
};
554557

555558
beta = new ClientNodeConfiguration {
556559
Name = "beta",
557560
ConnectionInfo = ComposeConnectionToMasterDatabase(defaultConnection),
558-
InitializationSql = "USE [DO-Tests-2]",
559-
DefaultSchema = "Model2"
561+
InitializationSql = $"USE [{DOTests2Db}]",
562+
DefaultSchema = WellKnownSchemas.Schema2
560563
};
561564
}
562565

563566
private ConnectionInfo ComposeConnectionToMasterDatabase(ConnectionInfo baseConnectionInfo)
564567
{
565-
if (baseConnectionInfo.ConnectionUrl==null) {
568+
if (baseConnectionInfo.ConnectionUrl == null) {
566569
throw new InvalidOperationException("Can't convert connection string based ConnectionInfo");
567570
}
568571

@@ -571,7 +574,6 @@ private ConnectionInfo ComposeConnectionToMasterDatabase(ConnectionInfo baseConn
571574
var password = baseConnectionInfo.ConnectionUrl.Password;
572575
var host = baseConnectionInfo.ConnectionUrl.Host;
573576
var port = baseConnectionInfo.ConnectionUrl.Port;
574-
var database = "master";
575577
var parameters = baseConnectionInfo.ConnectionUrl.Params;
576578

577579
var urlTemplate = "{0}://{1}{2}{3}/{4}{5}";
@@ -592,7 +594,7 @@ private ConnectionInfo ComposeConnectionToMasterDatabase(ConnectionInfo baseConn
592594
parametersPart = parametersPart.TrimEnd('&');
593595
}
594596

595-
var newUrl = string.Format(urlTemplate, provider, authentication, host, portPart, database, parametersPart);
597+
var newUrl = string.Format(urlTemplate, provider, authentication, host, portPart, WellKnownDatabases.SqlServerMasterDb, parametersPart);
596598
return new ConnectionInfo(newUrl);
597599
}
598600
}

0 commit comments

Comments
 (0)