Skip to content

Commit dcb2659

Browse files
committed
More tests for ignore rules
- rules handler tested - rules validation tested - "configuration element to native" conversion tested
1 parent c974442 commit dcb2659

File tree

5 files changed

+1473
-11
lines changed

5 files changed

+1473
-11
lines changed

Orm/Xtensive.Orm.Tests/App.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,15 +125,22 @@
125125
<ignoreRules>
126126
<rule database="Other-DO40-Tests" schema="some-schema1" table="table1"/>
127127
<rule database="some-database" schema="some-schema2" column="column2"/>
128+
<rule database="some-database" schema="some-schema2" index="index2"/>
128129
<rule database="some-database" schema="some-schema3" table="table2" column="col3"/>
130+
<rule database="some-database" schema="some-schema3" table="table2" index="index3"/>
129131
<rule database="another-some-database" table="some-table" />
130132
<rule database="database1" column ="some-column"/>
133+
<rule database="database1" index ="some-index"/>
131134
<rule schema="schema1" table="table1"/>
132135
<rule schema="schema1" column="column2"/>
136+
<rule schema="schema1" index="index2" />
133137
<rule schema="schema1" table="table2" column="column3"/>
138+
<rule schema="schema1" table="table2" index="index3"/>
134139
<rule table="table4" column="column3"/>
140+
<rule table="table4" index ="index2" />
135141
<rule table="single-table"/>
136142
<rule column="single-column"/>
143+
<rule index ="single-index" />
137144
</ignoreRules>
138145
<databases>
139146
<database name="main" realName="DO40-Tests" />

Orm/Xtensive.Orm.Tests/Configuration/AppConfigTest.cs

Lines changed: 131 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,8 @@ public void IgnoreRuleConfigTest()
203203

204204
var good = configuration.Clone();
205205
good.IgnoreRules.Clear();
206-
good.IgnoreRules.IgnoreTable("ignored-table").WhenDatabase("Other-DO40-Test").WhenSchema("dbo");
207-
good.IgnoreRules.IgnoreColumn("ignored-column");
206+
_ = good.IgnoreRules.IgnoreTable("ignored-table").WhenDatabase("Other-DO40-Test").WhenSchema("dbo");
207+
_ = good.IgnoreRules.IgnoreColumn("ignored-column");
208208
good.Lock();
209209
}
210210

@@ -382,13 +382,136 @@ private void ValidateIgnoringConfiguration(DomainConfiguration configuration)
382382
{
383383
Assert.That(configuration.DefaultDatabase, Is.EqualTo("main"));
384384
Assert.That(configuration.DefaultSchema, Is.EqualTo("dbo"));
385-
Assert.That(configuration.IgnoreRules.Count, Is.EqualTo(11));
386-
var rule = configuration.IgnoreRules[0];
385+
386+
var rules = configuration.IgnoreRules;
387+
Assert.That(rules.Count, Is.EqualTo(18));
388+
389+
var rule = rules[0];
387390
Assert.That(rule.Database, Is.EqualTo("Other-DO40-Tests"));
388-
var rule2 = configuration.IgnoreRules[2];
389-
Assert.That(rule2.Schema, Is.EqualTo("some-schema3"));
390-
Assert.That(rule2.Table, Is.EqualTo("table2"));
391-
Assert.That(rule2.Column, Is.EqualTo("col3"));
391+
Assert.That(rule.Schema, Is.EqualTo("some-schema1"));
392+
Assert.That(rule.Table, Is.EqualTo("table1"));
393+
Assert.That(rule.Column, Is.Null.Or.Empty);
394+
Assert.That(rule.Index, Is.Null.Or.Empty);
395+
396+
rule = rules[1];
397+
Assert.That(rule.Database, Is.EqualTo("some-database"));
398+
Assert.That(rule.Schema, Is.EqualTo("some-schema2"));
399+
Assert.That(rule.Table, Is.Null.Or.Empty);
400+
Assert.That(rule.Column, Is.EqualTo("column2"));
401+
Assert.That(rule.Index, Is.Null.Or.Empty);
402+
403+
rule = rules[2];
404+
Assert.That(rule.Database, Is.EqualTo("some-database"));
405+
Assert.That(rule.Schema, Is.EqualTo("some-schema2"));
406+
Assert.That(rule.Table, Is.Null.Or.Empty);
407+
Assert.That(rule.Column, Is.Null.Or.Empty);
408+
Assert.That(rule.Index, Is.EqualTo("index2"));
409+
410+
rule = rules[3];
411+
Assert.That(rule.Database, Is.EqualTo("some-database"));
412+
Assert.That(rule.Schema, Is.EqualTo("some-schema3"));
413+
Assert.That(rule.Table, Is.EqualTo("table2"));
414+
Assert.That(rule.Column, Is.EqualTo("col3"));
415+
Assert.That(rule.Index, Is.Null.Or.Empty);
416+
417+
rule = rules[4];
418+
Assert.That(rule.Database, Is.EqualTo("some-database"));
419+
Assert.That(rule.Schema, Is.EqualTo("some-schema3"));
420+
Assert.That(rule.Table, Is.EqualTo("table2"));
421+
Assert.That(rule.Column, Is.Null.Or.Empty);
422+
Assert.That(rule.Index, Is.EqualTo("index3"));
423+
424+
rule = rules[5];
425+
Assert.That(rule.Database, Is.EqualTo("another-some-database"));
426+
Assert.That(rule.Schema, Is.Null.Or.Empty);
427+
Assert.That(rule.Table, Is.EqualTo("some-table"));
428+
Assert.That(rule.Column, Is.Null.Or.Empty);
429+
Assert.That(rule.Index, Is.Null.Or.Empty);
430+
431+
rule = rules[6];
432+
Assert.That(rule.Database, Is.EqualTo("database1"));
433+
Assert.That(rule.Schema, Is.Null.Or.Empty);
434+
Assert.That(rule.Table, Is.Null.Or.Empty);
435+
Assert.That(rule.Column, Is.EqualTo("some-column"));
436+
Assert.That(rule.Index, Is.Null.Or.Empty);
437+
438+
rule = rules[7];
439+
Assert.That(rule.Database, Is.EqualTo("database1"));
440+
Assert.That(rule.Schema, Is.Null.Or.Empty);
441+
Assert.That(rule.Table, Is.Null.Or.Empty);
442+
Assert.That(rule.Column, Is.Null.Or.Empty);
443+
Assert.That(rule.Index, Is.EqualTo("some-index"));
444+
445+
rule = rules[8];
446+
Assert.That(rule.Database, Is.Null.Or.Empty);
447+
Assert.That(rule.Schema, Is.EqualTo("schema1"));
448+
Assert.That(rule.Table, Is.EqualTo("table1"));
449+
Assert.That(rule.Column, Is.Null.Or.Empty);
450+
Assert.That(rule.Index, Is.Null.Or.Empty);
451+
452+
rule = rules[9];
453+
Assert.That(rule.Database, Is.Null.Or.Empty);
454+
Assert.That(rule.Schema, Is.EqualTo("schema1"));
455+
Assert.That(rule.Table, Is.Null.Or.Empty);
456+
Assert.That(rule.Column, Is.EqualTo("column2"));
457+
Assert.That(rule.Index, Is.Null.Or.Empty);
458+
459+
rule = rules[10];
460+
Assert.That(rule.Database, Is.Null.Or.Empty);
461+
Assert.That(rule.Schema, Is.EqualTo("schema1"));
462+
Assert.That(rule.Table, Is.Null.Or.Empty);
463+
Assert.That(rule.Column, Is.Null.Or.Empty);
464+
Assert.That(rule.Index, Is.EqualTo("index2"));
465+
466+
rule = rules[11];
467+
Assert.That(rule.Database, Is.Null.Or.Empty);
468+
Assert.That(rule.Schema, Is.EqualTo("schema1"));
469+
Assert.That(rule.Table, Is.EqualTo("table2"));
470+
Assert.That(rule.Column, Is.EqualTo("column3"));
471+
Assert.That(rule.Index, Is.Null.Or.Empty);
472+
473+
rule = rules[12];
474+
Assert.That(rule.Database, Is.Null.Or.Empty);
475+
Assert.That(rule.Schema, Is.EqualTo("schema1"));
476+
Assert.That(rule.Table, Is.EqualTo("table2"));
477+
Assert.That(rule.Column, Is.Null.Or.Empty);
478+
Assert.That(rule.Index, Is.EqualTo("index3"));
479+
480+
rule = rules[13];
481+
Assert.That(rule.Database, Is.Null.Or.Empty);
482+
Assert.That(rule.Schema, Is.Null.Or.Empty);
483+
Assert.That(rule.Table, Is.EqualTo("table4"));
484+
Assert.That(rule.Column, Is.EqualTo("column3"));
485+
Assert.That(rule.Index, Is.Null.Or.Empty);
486+
487+
rule = rules[14];
488+
Assert.That(rule.Database, Is.Null.Or.Empty);
489+
Assert.That(rule.Schema, Is.Null.Or.Empty);
490+
Assert.That(rule.Table, Is.EqualTo("table4"));
491+
Assert.That(rule.Column, Is.Null.Or.Empty);
492+
Assert.That(rule.Index, Is.EqualTo("index2"));
493+
494+
rule = rules[15];
495+
Assert.That(rule.Database, Is.Null.Or.Empty);
496+
Assert.That(rule.Schema, Is.Null.Or.Empty);
497+
Assert.That(rule.Table, Is.EqualTo("single-table"));
498+
Assert.That(rule.Column, Is.Null.Or.Empty);
499+
Assert.That(rule.Index, Is.Null.Or.Empty);
500+
501+
rule = rules[16];
502+
Assert.That(rule.Database, Is.Null.Or.Empty);
503+
Assert.That(rule.Schema, Is.Null.Or.Empty);
504+
Assert.That(rule.Table, Is.Null.Or.Empty);
505+
Assert.That(rule.Column, Is.EqualTo("single-column"));
506+
Assert.That(rule.Index, Is.Null.Or.Empty);
507+
508+
rule = rules[17];
509+
Assert.That(rule.Database, Is.Null.Or.Empty);
510+
Assert.That(rule.Schema, Is.Null.Or.Empty);
511+
Assert.That(rule.Table, Is.Null.Or.Empty);
512+
Assert.That(rule.Column, Is.Null.Or.Empty);
513+
Assert.That(rule.Index, Is.EqualTo("single-index"));
514+
392515
var databases = configuration.Databases;
393516
Assert.That(databases.Count, Is.EqualTo(2));
394517
Assert.That(databases[0].Name, Is.EqualTo("main"));

0 commit comments

Comments
 (0)