Skip to content

NH-4021 - enforce session tracking in tests #636

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 2, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 21 additions & 21 deletions src/NHibernate.Test/Ado/BatcherFixture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,16 @@ protected override bool AppliesTo(Engine.ISessionFactoryImplementor factory)
[Description("The batcher should run all INSERT queries in only one roundtrip.")]
public void OneRoundTripInserts()
{
sessions.Statistics.Clear();
Sfi.Statistics.Clear();
FillDb();

Assert.That(sessions.Statistics.PrepareStatementCount, Is.EqualTo(1));
Assert.That(Sfi.Statistics.PrepareStatementCount, Is.EqualTo(1));
Cleanup();
}

private void Cleanup()
{
using (ISession s = sessions.OpenSession())
using (ISession s = Sfi.OpenSession())
using (s.BeginTransaction())
{
s.CreateQuery("delete from VerySimple").ExecuteUpdate();
Expand All @@ -54,7 +54,7 @@ private void Cleanup()

private void FillDb()
{
using (ISession s = sessions.OpenSession())
using (ISession s = Sfi.OpenSession())
using (ITransaction tx = s.BeginTransaction())
{
s.Save(new VerySimple {Id = 1, Name = "Fabio", Weight = 119.5});
Expand All @@ -69,34 +69,34 @@ public void OneRoundTripUpdate()
{
FillDb();

using (ISession s = sessions.OpenSession())
using (ISession s = Sfi.OpenSession())
using (ITransaction tx = s.BeginTransaction())
{
var vs1 = s.Get<VerySimple>(1);
var vs2 = s.Get<VerySimple>(2);
vs1.Weight -= 10;
vs2.Weight -= 1;
sessions.Statistics.Clear();
Sfi.Statistics.Clear();
s.Update(vs1);
s.Update(vs2);
tx.Commit();
}

Assert.That(sessions.Statistics.PrepareStatementCount, Is.EqualTo(1));
Assert.That(Sfi.Statistics.PrepareStatementCount, Is.EqualTo(1));
Cleanup();
}

[Test, Ignore("Not fixed yet.")]
[Description("SqlClient: The batcher should run all different INSERT queries in only one roundtrip.")]
public void SqlClientOneRoundTripForUpdateAndInsert()
{
if (sessions.Settings.BatcherFactory is SqlClientBatchingBatcherFactory == false)
if (Sfi.Settings.BatcherFactory is SqlClientBatchingBatcherFactory == false)
Assert.Ignore("This test is for SqlClientBatchingBatcher only");

FillDb();

using(var sqlLog = new SqlLogSpy())
using (ISession s = sessions.OpenSession())
using (ISession s = Sfi.OpenSession())
using (ITransaction tx = s.BeginTransaction())
{
s.Save(new VerySimple
Expand Down Expand Up @@ -128,7 +128,7 @@ public void SqlClientOneRoundTripForUpdateAndInsert()
[Description("SqlClient: The batcher log output should be formatted")]
public void BatchedoutputShouldBeFormatted()
{
if (sessions.Settings.BatcherFactory is SqlClientBatchingBatcherFactory == false)
if (Sfi.Settings.BatcherFactory is SqlClientBatchingBatcherFactory == false)
Assert.Ignore("This test is for SqlClientBatchingBatcher only");

using (var sqlLog = new SqlLogSpy())
Expand All @@ -148,18 +148,18 @@ public void OneRoundTripDelete()
{
FillDb();

using (ISession s = sessions.OpenSession())
using (ISession s = Sfi.OpenSession())
using (ITransaction tx = s.BeginTransaction())
{
var vs1 = s.Get<VerySimple>(1);
var vs2 = s.Get<VerySimple>(2);
sessions.Statistics.Clear();
Sfi.Statistics.Clear();
s.Delete(vs1);
s.Delete(vs2);
tx.Commit();
}

Assert.That(sessions.Statistics.PrepareStatementCount, Is.EqualTo(1));
Assert.That(Sfi.Statistics.PrepareStatementCount, Is.EqualTo(1));
Cleanup();
}

Expand All @@ -174,7 +174,7 @@ public void SqlLog()
{
using (var sl = new SqlLogSpy())
{
sessions.Statistics.Clear();
Sfi.Statistics.Clear();
FillDb();
string logs = sl.GetWholeLog();
Assert.That(logs, Does.Not.Contain("Adding to batch").IgnoreCase);
Expand All @@ -183,7 +183,7 @@ public void SqlLog()
}
}

Assert.That(sessions.Statistics.PrepareStatementCount, Is.EqualTo(1));
Assert.That(Sfi.Statistics.PrepareStatementCount, Is.EqualTo(1));
Cleanup();
}

Expand All @@ -198,7 +198,7 @@ public void AbstractBatcherLog()
{
using (var sl = new SqlLogSpy())
{
sessions.Statistics.Clear();
Sfi.Statistics.Clear();
FillDb();
string logs = sl.GetWholeLog();
Assert.That(logs, Does.Contain("batch").IgnoreCase);
Expand All @@ -213,7 +213,7 @@ public void AbstractBatcherLog()
}
}

Assert.That(sessions.Statistics.PrepareStatementCount, Is.EqualTo(1));
Assert.That(Sfi.Statistics.PrepareStatementCount, Is.EqualTo(1));
Cleanup();
}

Expand All @@ -224,14 +224,14 @@ public void SqlLogShouldGetBatchCommandNotification()
{
using (var sl = new SqlLogSpy())
{
sessions.Statistics.Clear();
Sfi.Statistics.Clear();
FillDb();
string logs = sl.GetWholeLog();
Assert.That(logs, Does.Contain("Batch commands:").IgnoreCase);
}
}

Assert.That(sessions.Statistics.PrepareStatementCount, Is.EqualTo(1));
Assert.That(Sfi.Statistics.PrepareStatementCount, Is.EqualTo(1));
Cleanup();
}

Expand All @@ -244,7 +244,7 @@ public void AbstractBatcherLogFormattedSql()
{
using (var sl = new SqlLogSpy())
{
sessions.Statistics.Clear();
Sfi.Statistics.Clear();
FillDb();
foreach (var loggingEvent in sl.Appender.GetEvents())
{
Expand All @@ -266,7 +266,7 @@ public void AbstractBatcherLogFormattedSql()
}
}

Assert.That(sessions.Statistics.PrepareStatementCount, Is.EqualTo(1));
Assert.That(Sfi.Statistics.PrepareStatementCount, Is.EqualTo(1));
Cleanup();
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/NHibernate.Test/BulkManipulation/BaseFixture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ protected override void Configure(Cfg.Configuration configuration)

public string GetSql(string query)
{
var qt = new QueryTranslatorImpl(null, new HqlParseEngine(query, false, sessions).Parse(), emptyfilters, sessions);
var qt = new QueryTranslatorImpl(null, new HqlParseEngine(query, false, Sfi).Parse(), emptyfilters, Sfi);
qt.Compile(null, false);
return qt.SQLString;
}
Expand Down
12 changes: 6 additions & 6 deletions src/NHibernate.Test/CacheTest/FilterKeyFixture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ protected override IList Mappings
public void ToStringIncludeAll()
{
string filterName = "DescriptionLike";
var f = new FilterImpl(sessions.GetFilterDefinition(filterName));
var f = new FilterImpl(Sfi.GetFilterDefinition(filterName));
f.SetParameter("pLike", "so%");
var fk = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);
Assert.That(fk.ToString(), Is.EqualTo("FilterKey[DescriptionLike{'pLike'='so%'}]"));

filterName = "DescriptionEqualAndValueGT";
f = new FilterImpl(sessions.GetFilterDefinition(filterName));
f = new FilterImpl(Sfi.GetFilterDefinition(filterName));
f.SetParameter("pDesc", "something").SetParameter("pValue", 10);
fk = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);
Assert.That(fk.ToString(), Is.EqualTo("FilterKey[DescriptionEqualAndValueGT{'pDesc'='something', 'pValue'='10'}]"));
Expand All @@ -49,23 +49,23 @@ public void Equality()
private void FilterDescLikeToCompare(out FilterKey fk, out FilterKey fk1)
{
const string filterName = "DescriptionLike";
var f = new FilterImpl(sessions.GetFilterDefinition(filterName));
var f = new FilterImpl(Sfi.GetFilterDefinition(filterName));
f.SetParameter("pLike", "so%");
fk = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);

var f1 = new FilterImpl(sessions.GetFilterDefinition(filterName));
var f1 = new FilterImpl(Sfi.GetFilterDefinition(filterName));
f1.SetParameter("pLike", "%ing");
fk1 = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);
}

private void FilterDescValueToCompare(out FilterKey fk, out FilterKey fk1)
{
const string filterName = "DescriptionEqualAndValueGT";
var f = new FilterImpl(sessions.GetFilterDefinition(filterName));
var f = new FilterImpl(Sfi.GetFilterDefinition(filterName));
f.SetParameter("pDesc", "something").SetParameter("pValue", 10);
fk = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);

var f1 = new FilterImpl(sessions.GetFilterDefinition(filterName));
var f1 = new FilterImpl(Sfi.GetFilterDefinition(filterName));
f1.SetParameter("pDesc", "something").SetParameter("pValue", 11);
fk1 = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);
}
Expand Down
30 changes: 15 additions & 15 deletions src/NHibernate.Test/CacheTest/QueryKeyFixture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,34 +38,34 @@ public void EqualityWithFilters()
private void QueryKeyFilterDescLikeToCompare(out QueryKey qk, out QueryKey qk1)
{
const string filterName = "DescriptionLike";
var f = new FilterImpl(sessions.GetFilterDefinition(filterName));
var f = new FilterImpl(Sfi.GetFilterDefinition(filterName));
f.SetParameter("pLike", "so%");
var fk = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);
ISet<FilterKey> fks = new HashSet<FilterKey> { fk };
qk = new QueryKey(sessions, SqlAll, new QueryParameters(), fks, null);
qk = new QueryKey(Sfi, SqlAll, new QueryParameters(), fks, null);

var f1 = new FilterImpl(sessions.GetFilterDefinition(filterName));
var f1 = new FilterImpl(Sfi.GetFilterDefinition(filterName));
f1.SetParameter("pLike", "%ing");
var fk1 = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);
fks = new HashSet<FilterKey> { fk1 };
qk1 = new QueryKey(sessions, SqlAll, new QueryParameters(), fks, null);
qk1 = new QueryKey(Sfi, SqlAll, new QueryParameters(), fks, null);
}

private void QueryKeyFilterDescValueToCompare(out QueryKey qk, out QueryKey qk1)
{
const string filterName = "DescriptionEqualAndValueGT";

var f = new FilterImpl(sessions.GetFilterDefinition(filterName));
var f = new FilterImpl(Sfi.GetFilterDefinition(filterName));
f.SetParameter("pDesc", "something").SetParameter("pValue", 10);
var fk = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);
ISet<FilterKey> fks = new HashSet<FilterKey> { fk };
qk = new QueryKey(sessions, SqlAll, new QueryParameters(), fks, null);
qk = new QueryKey(Sfi, SqlAll, new QueryParameters(), fks, null);

var f1 = new FilterImpl(sessions.GetFilterDefinition(filterName));
var f1 = new FilterImpl(Sfi.GetFilterDefinition(filterName));
f1.SetParameter("pDesc", "something").SetParameter("pValue", 11);
var fk1 = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);
fks = new HashSet<FilterKey> { fk1 };
qk1 = new QueryKey(sessions, SqlAll, new QueryParameters(), fks, null);
qk1 = new QueryKey(Sfi, SqlAll, new QueryParameters(), fks, null);
}

[Test]
Expand Down Expand Up @@ -109,37 +109,37 @@ public void NotEqualHashCodeWithFilters()
public void ToStringWithFilters()
{
string filterName = "DescriptionLike";
var f = new FilterImpl(sessions.GetFilterDefinition(filterName));
var f = new FilterImpl(Sfi.GetFilterDefinition(filterName));
f.SetParameter("pLike", "so%");
var fk = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);
ISet<FilterKey> fks = new HashSet<FilterKey> { fk };
var qk = new QueryKey(sessions, SqlAll, new QueryParameters(), fks, null);
var qk = new QueryKey(Sfi, SqlAll, new QueryParameters(), fks, null);
Assert.That(qk.ToString(), Does.Contain(string.Format("filters: ['{0}']",fk)));

filterName = "DescriptionEqualAndValueGT";
f = new FilterImpl(sessions.GetFilterDefinition(filterName));
f = new FilterImpl(Sfi.GetFilterDefinition(filterName));
f.SetParameter("pDesc", "something").SetParameter("pValue", 10);
fk = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);
fks = new HashSet<FilterKey> { fk };
qk = new QueryKey(sessions, SqlAll, new QueryParameters(), fks, null);
qk = new QueryKey(Sfi, SqlAll, new QueryParameters(), fks, null);
Assert.That(qk.ToString(), Does.Contain(string.Format("filters: ['{0}']", fk)));
}

[Test]
public void ToStringWithMoreFilters()
{
string filterName = "DescriptionLike";
var f = new FilterImpl(sessions.GetFilterDefinition(filterName));
var f = new FilterImpl(Sfi.GetFilterDefinition(filterName));
f.SetParameter("pLike", "so%");
var fk = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);

filterName = "DescriptionEqualAndValueGT";
var fv = new FilterImpl(sessions.GetFilterDefinition(filterName));
var fv = new FilterImpl(Sfi.GetFilterDefinition(filterName));
fv.SetParameter("pDesc", "something").SetParameter("pValue", 10);
var fvk = new FilterKey(filterName, f.Parameters, f.FilterDefinition.ParameterTypes);

ISet<FilterKey> fks = new HashSet<FilterKey> { fk, fvk };
var qk = new QueryKey(sessions, SqlAll, new QueryParameters(), fks, null);
var qk = new QueryKey(Sfi, SqlAll, new QueryParameters(), fks, null);
Assert.That(qk.ToString(), Does.Contain(string.Format("filters: ['{0}', '{1}']", fk, fvk)));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -424,22 +424,22 @@ protected override void OnTearDown()

protected void ClearCounts()
{
sessions.Statistics.Clear();
Sfi.Statistics.Clear();
}

protected void AssertInsertCount(long expected)
{
Assert.That(sessions.Statistics.EntityInsertCount, Is.EqualTo(expected), "unexpected insert count");
Assert.That(Sfi.Statistics.EntityInsertCount, Is.EqualTo(expected), "unexpected insert count");
}

protected void AssertUpdateCount(long expected)
{
Assert.That(sessions.Statistics.EntityUpdateCount, Is.EqualTo(expected), "unexpected update count");
Assert.That(Sfi.Statistics.EntityUpdateCount, Is.EqualTo(expected), "unexpected update count");
}

protected void AssertDeleteCount(long expected)
{
Assert.That(sessions.Statistics.EntityDeleteCount, Is.EqualTo(expected), "unexpected delete count");
Assert.That(Sfi.Statistics.EntityDeleteCount, Is.EqualTo(expected), "unexpected delete count");
}
}
}
Loading