import static org.mockito.Mockito.mock;
import com.google.common.base.Preconditions;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URISyntaxException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.model.InitializationError;
-import org.opendaylight.controller.config.util.xml.XmlElement;
-import org.opendaylight.controller.config.util.xml.XmlUtil;
+import org.opendaylight.netconf.api.xml.XmlElement;
+import org.opendaylight.netconf.api.xml.XmlUtil;
import org.opendaylight.netconf.mdsal.connector.CurrentSchemaContext;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
import org.w3c.dom.Document;
-import org.xml.sax.SAXException;
@RunWith(value = Parameterized.class)
public class FilterContentValidatorTest {
private FilterContentValidator validator;
@Parameterized.Parameters
- public static Collection<Object[]> data() throws IOException, SAXException, URISyntaxException, InitializationError {
+ public static Collection<Object[]> data() throws Exception {
final List<Object[]> result = new ArrayList<>();
final Path path = Paths.get(FilterContentValidatorTest.class.getResource("/filter/expected.txt").toURI());
final List<String> expected = Files.readAllLines(path);
throw new InitializationError("Number of lines in results file must be same as test case count");
}
for (int i = 1; i <= TEST_CASE_COUNT; i++) {
- final Document document = XmlUtil.readXmlToDocument(FilterContentValidatorTest.class.getResourceAsStream("/filter/f" + i + ".xml"));
- result.add(new Object[]{document, expected.get(i-1)});
+ final Document document = XmlUtil.readXmlToDocument(FilterContentValidatorTest.class.getResourceAsStream(
+ "/filter/f" + i + ".xml"));
+ result.add(new Object[]{document, expected.get(i - 1)});
}
return result;
}
@Before
public void setUp() throws Exception {
- final List<InputStream> sources = new ArrayList<>();
- sources.add(getClass().getResourceAsStream("/yang/filter-validator-test-mod-0.yang"));
- sources.add(getClass().getResourceAsStream("/yang/filter-validator-test-augment.yang"));
- final SchemaContext context = YangParserTestUtils.parseYangStreams(sources);
+ final SchemaContext context = YangParserTestUtils.parseYangResources(FilterContentValidatorTest.class,
+ "/yang/filter-validator-test-mod-0.yang", "/yang/filter-validator-test-augment.yang",
+ "/yang/mdsal-netconf-mapping-test.yang");
+
final CurrentSchemaContext currentContext = mock(CurrentSchemaContext.class);
doReturn(context).when(currentContext).getCurrentContext();
validator = new FilterContentValidator(currentContext);
}
+ @SuppressWarnings("checkstyle:IllegalCatch")
@Test
public void testValidate() throws Exception {
if (expected.startsWith("success")) {
final String expId = expected.replace("success=", "");
final YangInstanceIdentifier actual = validator.validate(filterContent);
- final YangInstanceIdentifier expected = fromString(expId);
- Assert.assertEquals(expected, actual);
+ Assert.assertEquals(fromString(expId), actual);
} else if (expected.startsWith("error")) {
try {
validator.validate(filterContent);
return prev;
}
- private static QName createNodeQName(final QName prev, final String qNameString) {
- final QName qName = QName.create(qNameString);
- if (qName.getModule().getNamespace() != null) {
- return qName;
- } else {
- return QName.create(Preconditions.checkNotNull(prev), qNameString);
+ private static QName createNodeQName(final QName prev, final String input) {
+ try {
+ return QName.create(input);
+ } catch (IllegalArgumentException e) {
+ return QName.create(Preconditions.checkNotNull(prev), input);
}
}
}