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)); + } + +}