From 6496b97108c3c63dab8bb9081206f04e9d68dc66 Mon Sep 17 00:00:00 2001 From: Buddhika Chathuranga Date: Fri, 24 Apr 2020 09:52:48 +0530 Subject: [PATCH] ValidateAndLoadXmlSchemaTest updated with new XmlReader --- src/Core/WinSWCore/ServiceDescriptor.cs | 16 +++++++++------- src/Test/winswTests/ServiceDescriptorTests.cs | 12 +++--------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/Core/WinSWCore/ServiceDescriptor.cs b/src/Core/WinSWCore/ServiceDescriptor.cs index e4b0bb0..5845843 100755 --- a/src/Core/WinSWCore/ServiceDescriptor.cs +++ b/src/Core/WinSWCore/ServiceDescriptor.cs @@ -67,7 +67,7 @@ namespace winsw try { - ValidateAndLoadXmlSchema(); + ValidateAndLoadXmlSchema(GetXMLReader()); } catch (XmlException e) { @@ -101,7 +101,7 @@ namespace winsw this.dom = dom; } - public void ValidateAndLoadXmlSchema() + public void ValidateAndLoadXmlSchema(XmlReader reader) { XmlReaderSettings settings = new XmlReaderSettings(); @@ -117,11 +117,13 @@ namespace winsw settings.ValidationType = ValidationType.Schema; settings.ValidationEventHandler += new ValidationEventHandler(XmlValidationEventHandler); - - using(XmlReader reader = XmlReader.Create(BasePath + ".xml")) - { - dom.Load(reader); - } + + dom.Load(reader); + } + + private XmlReader GetXMLReader() + { + return XmlReader.Create(BasePath + ".xml"); } private void XmlValidationEventHandler(object sender, ValidationEventArgs e) diff --git a/src/Test/winswTests/ServiceDescriptorTests.cs b/src/Test/winswTests/ServiceDescriptorTests.cs index 9374d29..d47a17a 100644 --- a/src/Test/winswTests/ServiceDescriptorTests.cs +++ b/src/Test/winswTests/ServiceDescriptorTests.cs @@ -1,6 +1,7 @@ using System; using System.Diagnostics; using System.IO; +using System.Xml; using NUnit.Framework; using winsw; using winsw.Native; @@ -455,15 +456,8 @@ $@" var serviceDescriptor = ServiceDescriptor.FromXML(seedXml); - try - { - serviceDescriptor.ValidateAndLoadXmlSchema(); - Assert.Fail(); - } - catch (FileNotFoundException) - { - Assert.Pass(); - } + var reader = XmlReader.Create(new StringReader(seedXml)); + serviceDescriptor.ValidateAndLoadXmlSchema(reader); } } }