ValidateAndLoadXmlSchemaTest updated.

pull/460/merge^2
Buddhika Chathuranga 2020-04-30 12:17:16 +05:30
parent 4597cfa8ce
commit ea74b8e5ab
2 changed files with 17 additions and 11 deletions

View File

@ -103,7 +103,10 @@ namespace winsw
public void ValidateAndLoadXmlSchema(XmlReader reader) public void ValidateAndLoadXmlSchema(XmlReader reader)
{ {
XmlReaderSettings settings = new XmlReaderSettings(); XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.ValidationEventHandler += new ValidationEventHandler(XmlValidationEventHandler);
Assembly a = Assembly.GetExecutingAssembly(); Assembly a = Assembly.GetExecutingAssembly();
@ -115,10 +118,9 @@ namespace winsw
} }
} }
settings.ValidationType = ValidationType.Schema; var new_reader = XmlReader.Create(reader, settings);
settings.ValidationEventHandler += new ValidationEventHandler(XmlValidationEventHandler);
dom.Load(reader); dom.Load(new_reader);
} }
private XmlReader GetXMLReader() private XmlReader GetXMLReader()

View File

@ -448,15 +448,19 @@ $@"<service>
[Test] [Test]
public void ValidateAndLoadXmlSchemaTest() public void ValidateAndLoadXmlSchemaTest()
{ {
const string seedXml = "<service>" + const string seedXml = @"<service>
"<id>myapp</id> " + <id>myapp</id>
"<name>MyApp Service (powered by WinSW)</name>" + <name>appname</name>
"<description>This service is a service created from a minimal configuration</description>" + <description>app description</description>
"</service>"; <executable>jenkins</executable>
</service>";
var dom = new XmlDocument();
dom.LoadXml(seedXml);
var serviceDescriptor = new ServiceDescriptor(dom);
var serviceDescriptor = ServiceDescriptor.FromXML(seedXml);
var reader = XmlReader.Create(new StringReader(seedXml)); var reader = XmlReader.Create(new StringReader(seedXml));
Assert.That(() => serviceDescriptor.ValidateAndLoadXmlSchema(reader), Throws.TypeOf<XmlException>()); Assert.That(() => serviceDescriptor.ValidateAndLoadXmlSchema(reader), Throws.TypeOf<XmlException>());
} }
} }