Skip to content

Commit 2078160

Browse files
Stefan Buehleroskarb
authored andcommitted
NH-3679 fix SchemaExport to file using SetOutputFile and Create
Unit test and proposed fix for NH-3679
1 parent b434f83 commit 2078160

File tree

3 files changed

+52
-1
lines changed

3 files changed

+52
-1
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.IO;
4+
using System.Linq;
5+
using System.Text;
6+
using NHibernate.Test.NHSpecificTest.NH2756;
7+
using NUnit.Framework;
8+
using NHibernate.Tool.hbm2ddl;
9+
using File = System.IO.File;
10+
11+
namespace NHibernate.Test.NHSpecificTest.NH3679
12+
{
13+
public class ExportToFileFixture
14+
{
15+
[Test]
16+
public void ExportToFileUsingSetOutputFileAndCreate()
17+
{
18+
var configuration = TestConfigurationHelper.GetDefaultConfiguration();
19+
20+
configuration.AddResource("NHibernate.Test.Tools.hbm2ddl.SchemaMetadataUpdaterTest.HeavyEntity.hbm.xml",
21+
GetType().Assembly);
22+
23+
var outputFileName = Path.GetTempFileName();
24+
var export = new SchemaExport(configuration);
25+
export.SetOutputFile(outputFileName);
26+
27+
export.Create(false, false);
28+
29+
Assert.IsTrue(File.Exists(outputFileName));
30+
Assert.IsTrue(new FileInfo(outputFileName).Length > 0);
31+
}
32+
33+
[Test]
34+
public void ExportToFileUsingExecute()
35+
{
36+
var configuration = TestConfigurationHelper.GetDefaultConfiguration();
37+
38+
configuration.AddResource("NHibernate.Test.Tools.hbm2ddl.SchemaMetadataUpdaterTest.HeavyEntity.hbm.xml",
39+
GetType().Assembly);
40+
41+
var outputFileName = Path.GetTempFileName();
42+
var export = new SchemaExport(configuration);
43+
44+
export.Execute(null, false, false, new StreamWriter(outputFileName));
45+
46+
Assert.IsTrue(File.Exists(outputFileName));
47+
Assert.IsTrue(new FileInfo(outputFileName).Length > 0);
48+
}
49+
}
50+
}

src/NHibernate.Test/NHibernate.Test.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -792,6 +792,7 @@
792792
</Compile>
793793
<Compile Include="NHSpecificTest\NH3202\Domain.cs" />
794794
<Compile Include="NHSpecificTest\NH3202\Fixture.cs" />
795+
<Compile Include="NHSpecificTest\NH3679\ExportToFileFixture.cs" />
795796
<Compile Include="NHSpecificTest\NH646\Domain.cs" />
796797
<Compile Include="NHSpecificTest\NH646\Fixture.cs" />
797798
<Compile Include="NHSpecificTest\NH3234\Fixture.cs" />

src/NHibernate/Tool/hbm2ddl/SchemaExport.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ public void Execute(Action<string> scriptAction, bool execute, bool justDrop, Te
344344

345345
try
346346
{
347-
if (fileOutput != null && outputFile != null)
347+
if (fileOutput == null && outputFile != null)
348348
{
349349
fileOutput = new StreamWriter(outputFile);
350350
}

0 commit comments

Comments
 (0)