Skip to content

Commit 8b3e61a

Browse files
committed
Applies new node selection method to tests
1 parent 94aabd3 commit 8b3e61a

23 files changed

Lines changed: 1479 additions & 1658 deletions

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

Lines changed: 136 additions & 152 deletions
Large diffs are not rendered by default.

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

Lines changed: 41 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
using System;
1+
// Copyright (C) 2015-2020 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;
26
using System.Diagnostics;
37
using System.Collections.Generic;
48
using System.Linq;
@@ -189,20 +193,22 @@ public class IssueJira0614_MaterializationContextModel
189193
{
190194
private const string Node2Name = "Node2";
191195
private const string Node1Name = "Node1";
192-
private const string ErrorInTestFixtureSetup = "Error in Text fixture setup {0}";
196+
197+
[OneTimeSetUp]
198+
public void TestFixtureSetUp() => Require.ProviderIs(StorageProvider.SqlServer);
193199

194200
[Test]
195201
public void Test01()
196202
{
197-
var configuration1 = CreateConfiguration(typeof (Node1.TimesheetCode), DomainUpgradeMode.Recreate, "Model1");
198-
var configuration2 = CreateConfiguration(typeof (Node2.TimesheetCode), DomainUpgradeMode.Recreate, "Model2");
203+
var configuration1 = CreateConfiguration(typeof(Node1.TimesheetCode), DomainUpgradeMode.Recreate, "Model1");
204+
var configuration2 = CreateConfiguration(typeof(Node2.TimesheetCode), DomainUpgradeMode.Recreate, "Model2");
199205

200206
using (var domain = BuildDomain(configuration1)) {
201-
Assert.That(domain.Model.Types[typeof (Node1.TimesheetCode)].TypeId, Is.EqualTo(288));
207+
Assert.That(domain.Model.Types[typeof(Node1.TimesheetCode)].TypeId, Is.EqualTo(288));
202208
using (var session = domain.OpenSession())
203209
using (var transaction = session.OpenTransaction()) {
204210
for (var i = 0; i < 10; i++) {
205-
new Node1.TimesheetCode(session) {
211+
_ = new Node1.TimesheetCode(session) {
206212
Active = i % 2==0,
207213
Code = "jdfgdj" + i,
208214
Description = "dfjghjdhfgjhsjkhgjdfg",
@@ -232,7 +238,7 @@ public void Test01()
232238
using (var session = domain.OpenSession())
233239
using (var transaction = session.OpenTransaction()) {
234240
for (var i = 0; i < 10; i++) {
235-
new Node2.TimesheetCode(session) {
241+
_ = new Node2.TimesheetCode(session) {
236242
Active = i % 2 == 0,
237243
Code = "jdfgdj" + i,
238244
Description = "dfjghjdhfgjhsjkhgjdfg",
@@ -257,12 +263,13 @@ public void Test01()
257263
}
258264
}
259265

260-
var multinodeDomainConfiguration = CreateConfiguration(typeof (Target.TimesheetCode), DomainUpgradeMode.Skip, "Model1");
266+
var multinodeDomainConfiguration = CreateConfiguration(typeof(Target.TimesheetCode), DomainUpgradeMode.Skip, "Model1");
261267
var nodeConfiguration = CreateNodeConfiguration(Node2Name, "Model1", "Model2", DomainUpgradeMode.Skip);
268+
262269
using (var domain = BuildDomain(multinodeDomainConfiguration)) {
263-
domain.StorageNodeManager.AddNode(nodeConfiguration);
264-
using (var session = domain.OpenSession()) {
265-
session.SelectStorageNode(WellKnown.DefaultNodeId);
270+
_ = domain.StorageNodeManager.AddNode(nodeConfiguration);
271+
var selectedNode = domain.SelectStorageNode(WellKnown.DefaultNodeId);
272+
using (var session = selectedNode.OpenSession()) {
266273
using (var transaction = session.OpenTransaction()) {
267274
var list = session.Query.All<Target.TimesheetCode>()
268275
.Where(c => c.Active)
@@ -288,19 +295,17 @@ public void Test01()
288295
}
289296
}
290297

291-
using (var session = domain.OpenSession()) {
292-
session.SelectStorageNode(Node2Name);
293-
using (var transaction = session.OpenTransaction()) {
294-
295-
var list = session.Query.All<Target.TimesheetCode>()
296-
.Where(c => c.Active)
297-
.OrderBy(c => c.Code)
298-
.AsEnumerable()
299-
.Select(c => new {
300-
Value = c.Code,
301-
Name = c.Code
302-
}).ToList();
303-
}
298+
selectedNode = domain.SelectStorageNode(Node2Name);
299+
using (var session = selectedNode.OpenSession())
300+
using (var transaction = session.OpenTransaction()) {
301+
var list = session.Query.All<Target.TimesheetCode>()
302+
.Where(c => c.Active)
303+
.OrderBy(c => c.Code)
304+
.AsEnumerable()
305+
.Select(c => new {
306+
Value = c.Code,
307+
Name = c.Code
308+
}).ToList();
304309
}
305310
}
306311
}
@@ -316,7 +321,7 @@ public void Test02()
316321
using (var session = domain.OpenSession())
317322
using (var transaction = session.OpenTransaction()) {
318323
for (var i = 0; i < 10; i++) {
319-
new Node1.TimesheetCode(session) {
324+
_ = new Node1.TimesheetCode(session) {
320325
Active = i % 2 == 0,
321326
Code = "jdfgdj" + i,
322327
Description = "dfjghjdhfgjhsjkhgjdfg",
@@ -347,7 +352,7 @@ public void Test02()
347352
using (var session = domain.OpenSession())
348353
using (var transaction = session.OpenTransaction()) {
349354
for (var i = 0; i < 10; i++) {
350-
new Node2.TimesheetCode(session) {
355+
_ = new Node2.TimesheetCode(session) {
351356
Active = i % 2 == 0,
352357
Code = "jdfgdj" + i,
353358
Description = "dfjghjdhfgjhsjkhgjdfg",
@@ -364,8 +369,7 @@ public void Test02()
364369
.Where(c => c.Active)
365370
.OrderBy(c => c.Code)
366371
.AsEnumerable()
367-
.Select(c => new
368-
{
372+
.Select(c => new {
369373
Value = c.Code,
370374
Name = c.Code
371375
}).ToList();
@@ -375,45 +379,43 @@ public void Test02()
375379

376380
var multinodeDomainConfiguration = CreateConfiguration(typeof(Target.TimesheetCode), DomainUpgradeMode.PerformSafely, "Model2");
377381
var nodeConfiguration = CreateNodeConfiguration(Node1Name, "Model2", "Model1", DomainUpgradeMode.PerformSafely);
382+
378383
using (var domain = BuildDomain(multinodeDomainConfiguration, nodeConfiguration)) {
379-
using (var session = domain.OpenSession()) {
380-
session.SelectStorageNode(WellKnown.DefaultNodeId);
384+
var selectedNode = domain.SelectStorageNode(WellKnown.DefaultNodeId);
385+
using (var session = selectedNode.OpenSession()) {
381386
using (var transaction = session.OpenTransaction()) {
382387
var list = session.Query.All<Target.TimesheetCode>()
383388
.Where(c => c.Active)
384389
.OrderBy(c => c.Code)
385390
.AsEnumerable()
386-
.Select(c => new
387-
{
391+
.Select(c => new {
388392
Value = c.Code,
389393
Name = c.Code
390394
}).ToList();
391395
Assert.That(list.Count, Is.EqualTo(5));
392396
}
397+
393398
using (var transaction = session.OpenTransaction()) {
394399
var list = session.Query.All<Target.TimesheetCode>()
395400
.Where(c => c.Active)
396401
.OrderBy(c => c.Code)
397402
.AsEnumerable()
398-
.Select(c => new
399-
{
403+
.Select(c => new {
400404
Value = c.Code,
401405
Name = c.Code
402406
}).ToList();
403407
Assert.That(list.Count, Is.EqualTo(5));
404408
}
405409
}
406410

407-
using (var session = domain.OpenSession()) {
408-
session.SelectStorageNode(Node1Name);
411+
selectedNode = domain.SelectStorageNode(Node1Name);
412+
using (var session = selectedNode.OpenSession()) {
409413
using (var transaction = session.OpenTransaction()) {
410-
411414
var list = session.Query.All<Target.TimesheetCode>()
412415
.Where(c => c.Active)
413416
.OrderBy(c => c.Code)
414417
.AsEnumerable()
415-
.Select(c => new
416-
{
418+
.Select(c => new {
417419
Value = c.Code,
418420
Name = c.Code
419421
}).ToList();
@@ -434,7 +436,6 @@ public void Test02()
434436

435437
private void CheckRequirements()
436438
{
437-
Require.AllFeaturesSupported(ProviderFeatures.Multischema);
438439
Require.ProviderIs(StorageProvider.SqlServer);
439440
}
440441

@@ -469,25 +470,5 @@ private NodeConfiguration CreateNodeConfiguration(string nodeId, string oldSchem
469470
configuration.UpgradeMode = upgradeMode;
470471
return configuration;
471472
}
472-
473-
[OneTimeSetUp]
474-
public void TestFixtureSetUp()
475-
{
476-
try {
477-
CheckRequirements();
478-
}
479-
catch (IgnoreException) {
480-
throw;
481-
}
482-
catch (Exception e) {
483-
Debug.WriteLine(ErrorInTestFixtureSetup, e);
484-
throw;
485-
}
486-
}
487-
488-
[OneTimeTearDown]
489-
public void TestFixtureTearDown()
490-
{
491-
}
492473
}
493474
}

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

Lines changed: 34 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// Copyright (C) 2016 Xtensive LLC.
2-
// All rights reserved.
3-
// For conditions of distribution and use, see license.
1+
// Copyright (C) 2016-2020 Xtensive LLC.
2+
// This code is distributed under MIT license terms.
3+
// See the License.txt file in the project root for more information.
44
// Created by: Alexey Kulakov
55
// Created: 2016.04.16
66

@@ -400,8 +400,8 @@ public void MainTest()
400400
using (var domain = Domain.Build(configuration)) {
401401
Assert.That(domain.Configuration.IsMultischema, Is.EqualTo(true));
402402
Assert.That(domain.Configuration.IsMultidatabase, Is.EqualTo(false));
403-
domain.StorageNodeManager.AddNode(BuildNodeConfiguration(domain.Configuration, alpha, DomainUpgradeMode.Recreate));
404-
domain.StorageNodeManager.AddNode(BuildNodeConfiguration(domain.Configuration, beta, DomainUpgradeMode.Recreate));
403+
_ = domain.StorageNodeManager.AddNode(BuildNodeConfiguration(domain.Configuration, alpha, DomainUpgradeMode.Recreate));
404+
_ = domain.StorageNodeManager.AddNode(BuildNodeConfiguration(domain.Configuration, beta, DomainUpgradeMode.Recreate));
405405

406406
CheckNode(domain, alpha.Name, false);
407407
CheckNode(domain, beta.Name, true);
@@ -461,18 +461,17 @@ private void BuildBaseVersion()
461461
{
462462
var configuration = BuildConfiguration(main, DomainUpgradeMode.Recreate, typeof (ModelNamespace.HintTest.BaseVersion.Customer));
463463
using (var domain = Domain.Build(configuration)) {
464-
domain.StorageNodeManager.AddNode(BuildNodeConfiguration(domain.Configuration, alpha, DomainUpgradeMode.Recreate));
465-
domain.StorageNodeManager.AddNode(BuildNodeConfiguration(domain.Configuration, beta, DomainUpgradeMode.Recreate));
466-
467-
using (var session = domain.OpenSession()) {
468-
session.SelectStorageNode(alpha.Name);
469-
using (var tx = session.OpenTransaction()) {
470-
new ModelNamespace.HintTest.BaseVersion.Customer { Name = "CustomerName" };
471-
new ModelNamespace.HintTest.BaseVersion.Customer { Name = "Groznov" };
472-
new ModelNamespace.HintTest.BaseVersion.Order { Number = 99, Text = "Test order number 99" };
473-
new ModelNamespace.HintTest.BaseVersion.Order { Number = 1, Text = "Test order number 1" };
474-
tx.Complete();
475-
}
464+
_ = domain.StorageNodeManager.AddNode(BuildNodeConfiguration(domain.Configuration, alpha, DomainUpgradeMode.Recreate));
465+
_ = domain.StorageNodeManager.AddNode(BuildNodeConfiguration(domain.Configuration, beta, DomainUpgradeMode.Recreate));
466+
467+
var selectedNode = domain.SelectStorageNode(alpha.Name);
468+
using (var session = selectedNode.OpenSession())
469+
using (var tx = session.OpenTransaction()) {
470+
_ = new ModelNamespace.HintTest.BaseVersion.Customer { Name = "CustomerName" };
471+
_ = new ModelNamespace.HintTest.BaseVersion.Customer { Name = "Groznov" };
472+
_ = new ModelNamespace.HintTest.BaseVersion.Order { Number = 99, Text = "Test order number 99" };
473+
_ = new ModelNamespace.HintTest.BaseVersion.Order { Number = 1, Text = "Test order number 1" };
474+
tx.Complete();
476475
}
477476
}
478477
}
@@ -481,8 +480,8 @@ private void BuildUpgradedVersion(Type type)
481480
{
482481
var configuration = BuildConfiguration(main, DomainUpgradeMode.PerformSafely, type);
483482
using (var domain = Domain.Build(configuration)) {
484-
domain.StorageNodeManager.AddNode(BuildNodeConfiguration(domain.Configuration, alpha, DomainUpgradeMode.PerformSafely));
485-
domain.StorageNodeManager.AddNode(BuildNodeConfiguration(domain.Configuration, beta, DomainUpgradeMode.PerformSafely));
483+
_ = domain.StorageNodeManager.AddNode(BuildNodeConfiguration(domain.Configuration, alpha, DomainUpgradeMode.PerformSafely));
484+
_ = domain.StorageNodeManager.AddNode(BuildNodeConfiguration(domain.Configuration, beta, DomainUpgradeMode.PerformSafely));
486485
}
487486
}
488487

@@ -500,12 +499,17 @@ private void CheckNode(Domain domain, string nodeName, bool spoiledExpected)
500499
currentModel.UpdateReferences();
501500
currentModel.UpdateMappings(node.Configuration); //this operation suppose to be performed by DataObjects internally
502501

503-
foreach (var typeInfo in currentModel.Types.Where(t => !t.IsSystem))
502+
foreach (var typeInfo in currentModel.Types.Where(t => !t.IsSystem)) {
504503
Assert.AreEqual(typeInfo.MappingSchema, expectedSchema);
504+
}
505+
506+
var func = spoiledExpected
507+
? new Action<string, string>(Assert.AreNotEqual)
508+
: new Action<string, string>(Assert.AreEqual);
505509

506-
var func = spoiledExpected ? new Action<string, string>(Assert.AreNotEqual) : new Action<string, string>(Assert.AreEqual);
507-
foreach (var typeInfo in spoiledModel.Types.Where(t => !t.IsSystem))
510+
foreach (var typeInfo in spoiledModel.Types.Where(t => !t.IsSystem)) {
508511
func(typeInfo.MappingSchema, expectedSchema);
512+
}
509513
}
510514

511515
private NodeConfiguration BuildNodeConfiguration(DomainConfiguration domainConfiguration, ClientNodeConfiguration nodeConfiguration, DomainUpgradeMode upgradeMode)
@@ -514,8 +518,10 @@ private NodeConfiguration BuildNodeConfiguration(DomainConfiguration domainConfi
514518
node.ConnectionInfo = nodeConfiguration.ConnectionInfo;
515519
node.ConnectionInitializationSql = nodeConfiguration.InitializationSql;
516520
node.UpgradeMode = upgradeMode;
517-
if (!domainConfiguration.DefaultSchema.IsNullOrEmpty() && !nodeConfiguration.DefaultSchema.IsNullOrEmpty())
521+
if (!domainConfiguration.DefaultSchema.IsNullOrEmpty() && !nodeConfiguration.DefaultSchema.IsNullOrEmpty()) {
518522
node.SchemaMapping.Add(domainConfiguration.DefaultSchema, nodeConfiguration.DefaultSchema);
523+
}
524+
519525
return node;
520526
}
521527

@@ -556,8 +562,9 @@ private void BuildNodeConfigurationsMetadata()
556562

557563
private ConnectionInfo ComposeConnectionToMasterDatabase(ConnectionInfo baseConnectionInfo)
558564
{
559-
if (baseConnectionInfo.ConnectionUrl==null)
565+
if (baseConnectionInfo.ConnectionUrl==null) {
560566
throw new InvalidOperationException("Can't convert connection string based ConnectionInfo");
567+
}
561568

562569
var provider = baseConnectionInfo.ConnectionUrl.Protocol;
563570
var user = baseConnectionInfo.ConnectionUrl.User;
@@ -567,21 +574,21 @@ private ConnectionInfo ComposeConnectionToMasterDatabase(ConnectionInfo baseConn
567574
var database = "master";
568575
var parameters = baseConnectionInfo.ConnectionUrl.Params;
569576

570-
string urlTemplate = "{0}://{1}{2}{3}/{4}{5}";
577+
var urlTemplate = "{0}://{1}{2}{3}/{4}{5}";
571578
var authenticationPartTemplate = "{0}:{1}@";
572579

573580
var authentication = user.IsNullOrEmpty()
574581
? string.Empty
575582
: string.Format(authenticationPartTemplate, user, password);
576583

577-
var portPart = port==0
584+
var portPart = port == 0
578585
? string.Empty
579586
: ":" + port;
580587

581588
var parametersPart = string.Empty;
582589
if (parameters.Count > 0) {
583590
parametersPart += "?";
584-
parametersPart = parameters.Aggregate(parametersPart, (current, parameter) => current + (parameter.Key + "=" + parameter.Value + "&"));
591+
parametersPart = parameters.Aggregate(parametersPart, (current, parameter) => current + parameter.Key + "=" + parameter.Value + "&");
585592
parametersPart = parametersPart.TrimEnd('&');
586593
}
587594

0 commit comments

Comments
 (0)