diff --git a/src/Core/WinSWCore/ServiceDescriptor.cs b/src/Core/WinSWCore/ServiceDescriptor.cs index ba37e3d..e4b0bb0 100755 --- a/src/Core/WinSWCore/ServiceDescriptor.cs +++ b/src/Core/WinSWCore/ServiceDescriptor.cs @@ -101,7 +101,7 @@ namespace winsw this.dom = dom; } - private void ValidateAndLoadXmlSchema() + public void ValidateAndLoadXmlSchema() { XmlReaderSettings settings = new XmlReaderSettings(); diff --git a/src/Test/winswTests/ServiceDescriptorTests.cs b/src/Test/winswTests/ServiceDescriptorTests.cs index b5cb1d7..9374d29 100644 --- a/src/Test/winswTests/ServiceDescriptorTests.cs +++ b/src/Test/winswTests/ServiceDescriptorTests.cs @@ -1,7 +1,9 @@ using System; using System.Diagnostics; +using System.IO; using NUnit.Framework; using winsw; +using winsw.Native; using winswTests.Util; using WMI; @@ -441,5 +443,27 @@ $@" var sd = bldr.ToServiceDescriptor(); Assert.That(sd.DelayedAutoStart, Is.EqualTo(enabled)); } + + [Test] + public void ValidateAndLoadXmlSchemaTest() + { + const string seedXml = "" + + "myapp " + + "MyApp Service (powered by WinSW)" + + "This service is a service created from a minimal configuration" + +""; + + var serviceDescriptor = ServiceDescriptor.FromXML(seedXml); + + try + { + serviceDescriptor.ValidateAndLoadXmlSchema(); + Assert.Fail(); + } + catch (FileNotFoundException) + { + Assert.Pass(); + } + } } }