X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Foperations%2FValidateTest.java;fp=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Foperations%2FValidateTest.java;h=8d14e9680c3b7e121d73a90b1a93525b4f431706;hb=a92d9d6a21a0f6ca8d2153795721f500eaf29ee9;hp=0000000000000000000000000000000000000000;hpb=fbc3092ca33990f0fc4a47f008786a416c484488;p=controller.git
diff --git a/opendaylight/netconf/config-netconf-connector/src/test/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/ValidateTest.java b/opendaylight/netconf/config-netconf-connector/src/test/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/ValidateTest.java
new file mode 100644
index 0000000000..8d14e9680c
--- /dev/null
+++ b/opendaylight/netconf/config-netconf-connector/src/test/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/ValidateTest.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.controller.netconf.confignetconfconnector.operations;
+
+import org.junit.Test;
+import org.opendaylight.controller.config.api.ValidationException;
+import org.opendaylight.controller.netconf.api.NetconfDocumentedException;
+import org.opendaylight.controller.netconf.confignetconfconnector.transactions.TransactionProvider;
+import org.opendaylight.controller.netconf.util.xml.XmlElement;
+import org.opendaylight.controller.netconf.util.xml.XmlNetconfConstants;
+import org.opendaylight.controller.netconf.util.xml.XmlUtil;
+import org.w3c.dom.Element;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.*;
+
+public class ValidateTest {
+
+ public static final String NETCONF_SESSION_ID_FOR_REPORTING = "foo";
+
+ @Test(expected = NetconfDocumentedException.class)
+ public void test() throws Exception {
+ final XmlElement xml = XmlElement.fromString("");
+ final Validate validate = new Validate(null, null, NETCONF_SESSION_ID_FOR_REPORTING);
+ validate.handle(null, xml);
+ }
+
+ @Test(expected = NetconfDocumentedException.class)
+ public void testNoSource() throws Exception {
+ final XmlElement xml = XmlElement.fromString("");
+ final Validate validate = new Validate(null, null, NETCONF_SESSION_ID_FOR_REPORTING);
+ validate.handle(null, xml);
+ }
+
+ @Test(expected = NetconfDocumentedException.class)
+ public void testNoNamespace() throws Exception {
+ final XmlElement xml = XmlElement.fromString("");
+ final Validate validate = new Validate(null, null, NETCONF_SESSION_ID_FOR_REPORTING);
+ validate.handle(null, xml);
+ }
+
+ @Test(expected = NetconfDocumentedException.class)
+ public void testRunningSource() throws Exception {
+
+ final XmlElement xml = XmlElement.fromString("");
+ final Validate validate = new Validate(null, null, NETCONF_SESSION_ID_FOR_REPORTING);
+ validate.handle(null, xml);
+ }
+
+ @Test(expected = NetconfDocumentedException.class)
+ public void testNoTransaction() throws Exception {
+ final XmlElement xml = XmlElement.fromString("");
+ final TransactionProvider transactionProvider = mock(TransactionProvider.class);
+ doThrow(IllegalStateException.class).when(transactionProvider).validateTransaction();
+ final Validate validate = new Validate(transactionProvider, null, NETCONF_SESSION_ID_FOR_REPORTING);
+ validate.handle(null, xml);
+ }
+
+ @Test(expected = NetconfDocumentedException.class)
+ public void testValidationException() throws Exception {
+ final XmlElement xml = XmlElement.fromString(">");
+ final TransactionProvider transactionProvider = mock(TransactionProvider.class);
+ doThrow(ValidationException.class).when(transactionProvider).validateTransaction();
+ final Validate validate = new Validate(transactionProvider, null, NETCONF_SESSION_ID_FOR_REPORTING);
+ validate.handle(null, xml);
+ }
+
+ @Test
+ public void testValidation() throws Exception {
+ final XmlElement xml = XmlElement.fromString("");
+ final TransactionProvider transactionProvider = mock(TransactionProvider.class);
+ final Element okElement = XmlUtil.readXmlToElement("");
+ doNothing().when(transactionProvider).validateTransaction();
+ final Validate validate = new Validate(transactionProvider, null, NETCONF_SESSION_ID_FOR_REPORTING);
+ Element ok = validate.handle(XmlUtil.newDocument(), xml);
+ assertEquals(XmlUtil.toString(okElement), XmlUtil.toString(ok));
+ }
+
+}