package com.splunk.modularinput; import com.splunk.SDKTestCase; import org.junit.Assert; import org.junit.Test; import org.xml.sax.SAXException; import javax.xml.parsers.ParserConfigurationException; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; /** * Checks that parsing XML into ValidationDefinitions works correctly. */ public class ValidationDefinitionTest extends ModularInputTestCase { /** * Checks that the ValidationDefinition parsed from XML is what we expect. */ @Test public void testParseValidationDefinition() throws ParserConfigurationException, SAXException, MalformedDataException, IOException { InputStream stream = SDKTestCase.openResource("modularinput/data/validation.xml"); ValidationDefinition found = ValidationDefinition.parseDefinition(stream); ValidationDefinition expected = new ValidationDefinition(); expected.setServerHost("tiny"); expected.setServerUri("https://127.0.0.1:8089"); expected.setCheckpointDir("/opt/splunk/var/lib/splunk/modinputs"); expected.setSessionKey("123102983109283019283"); expected.setName("aaa"); List<Parameter> parameters = new ArrayList<Parameter>(); parameters.add(new SingleValueParameter("param1", "value1")); parameters.add(new SingleValueParameter("param2", "value2")); parameters.add(new SingleValueParameter("disabled", "0")); parameters.add(new SingleValueParameter("index", "default")); MultiValueParameter mvp = new MultiValueParameter("multiValue"); mvp.appendValue("value1"); mvp.appendValue("value2"); parameters.add(mvp); mvp = new MultiValueParameter("multiValue2"); mvp.appendValue("value3"); mvp.appendValue("value4"); parameters.add(mvp); expected.setParameters(parameters); Assert.assertTrue(expected.equals(found)); } }