X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2FNetconfMappingTest.java;h=6f9a62af1a4857f6c17d6d62c880248c49da42d0;hp=28849d0033d5c93a0bd98e6ee9d61cb8a00f5845;hb=55a40f35dcd1c7e38f5315a2035686be12b6c6da;hpb=d7ce37f576bcf35aa29665db89cadf854487f338 diff --git a/opendaylight/netconf/config-netconf-connector/src/test/java/org/opendaylight/controller/netconf/confignetconfconnector/NetconfMappingTest.java b/opendaylight/netconf/config-netconf-connector/src/test/java/org/opendaylight/controller/netconf/confignetconfconnector/NetconfMappingTest.java index 28849d0033..6f9a62af1a 100644 --- a/opendaylight/netconf/config-netconf-connector/src/test/java/org/opendaylight/controller/netconf/confignetconfconnector/NetconfMappingTest.java +++ b/opendaylight/netconf/config-netconf-connector/src/test/java/org/opendaylight/controller/netconf/confignetconfconnector/NetconfMappingTest.java @@ -28,7 +28,6 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; - import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; @@ -43,12 +42,10 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; - import javax.management.InstanceAlreadyExistsException; import javax.management.InstanceNotFoundException; import javax.management.ObjectName; import javax.xml.parsers.ParserConfigurationException; - import org.custommonkey.xmlunit.AbstractNodeTester; import org.custommonkey.xmlunit.NodeTest; import org.custommonkey.xmlunit.NodeTestException; @@ -86,6 +83,8 @@ import org.opendaylight.controller.netconf.api.NetconfDocumentedException; import org.opendaylight.controller.netconf.api.xml.XmlNetconfConstants; import org.opendaylight.controller.netconf.confignetconfconnector.operations.Commit; import org.opendaylight.controller.netconf.confignetconfconnector.operations.DiscardChanges; +import org.opendaylight.controller.netconf.confignetconfconnector.operations.Lock; +import org.opendaylight.controller.netconf.confignetconfconnector.operations.UnLock; import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditConfig; import org.opendaylight.controller.netconf.confignetconfconnector.operations.get.Get; import org.opendaylight.controller.netconf.confignetconfconnector.operations.getconfig.GetConfig; @@ -99,6 +98,7 @@ import org.opendaylight.controller.netconf.impl.osgi.NetconfOperationServiceSnap import org.opendaylight.controller.netconf.mapping.api.HandlingPriority; import org.opendaylight.controller.netconf.mapping.api.NetconfOperation; import org.opendaylight.controller.netconf.mapping.api.NetconfOperationChainedExecution; +import org.opendaylight.controller.netconf.util.messages.NetconfMessageUtil; import org.opendaylight.controller.netconf.util.test.XmlFileLoader; import org.opendaylight.controller.netconf.util.xml.XmlUtil; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.test.types.rev131127.TestIdentity1; @@ -121,7 +121,7 @@ import org.xml.sax.SAXException; public class NetconfMappingTest extends AbstractConfigTest { - private static final Logger logger = LoggerFactory.getLogger(NetconfMappingTest.class); + private static final Logger LOG = LoggerFactory.getLogger(NetconfMappingTest.class); private static final String INSTANCE_NAME = "instance-from-code"; private static final String NETCONF_SESSION_ID = "foo"; @@ -239,6 +239,12 @@ public class NetconfMappingTest extends AbstractConfigTest { } + @Test + public void testUnLock() throws Exception { + assertTrue(NetconfMessageUtil.isOKMessage(lockCandidate())); + assertTrue(NetconfMessageUtil.isOKMessage(unlockCandidate())); + } + private void assertCorrectRefNamesForDependencies(Document config) throws NodeTestException { NodeList modulesList = config.getElementsByTagName("modules"); assertEquals(1, modulesList.getLength()); @@ -386,6 +392,16 @@ public class NetconfMappingTest extends AbstractConfigTest { executeOp(commitOp, "netconfMessages/commit.xml"); } + private Document lockCandidate() throws ParserConfigurationException, SAXException, IOException, NetconfDocumentedException { + Lock commitOp = new Lock(NETCONF_SESSION_ID); + return executeOp(commitOp, "netconfMessages/lock.xml"); + } + + private Document unlockCandidate() throws ParserConfigurationException, SAXException, IOException, NetconfDocumentedException { + UnLock commitOp = new UnLock(NETCONF_SESSION_ID); + return executeOp(commitOp, "netconfMessages/unlock.xml"); + } + private Document getConfigCandidate() throws ParserConfigurationException, SAXException, IOException, NetconfDocumentedException { GetConfig getConfigOp = new GetConfig(yangStoreSnapshot, Optional. absent(), transactionProvider, @@ -498,7 +514,7 @@ public class NetconfMappingTest extends AbstractConfigTest { for (int i = 0; i < TESTS_COUNT; i++) { String file = String.format(format, i + 1); - logger.info("Reading {}", file); + LOG.info("Reading {}", file); try { edit(file); } catch (NetconfDocumentedException e) { @@ -702,20 +718,20 @@ public class NetconfMappingTest extends AbstractConfigTest { final Document request = XmlFileLoader.xmlFileToDocument(filename); - logger.debug("Executing netconf operation\n{}", XmlUtil.toString(request)); + LOG.debug("Executing netconf operation\n{}", XmlUtil.toString(request)); HandlingPriority priority = op.canHandle(request); Preconditions.checkState(priority != HandlingPriority.CANNOT_HANDLE); final Document response = op.handle(request, NetconfOperationChainedExecution.EXECUTION_TERMINATION_POINT); - logger.debug("Got response\n{}", XmlUtil.toString(response)); + LOG.debug("Got response\n{}", XmlUtil.toString(response)); return response; } private List getYangs() throws FileNotFoundException { List paths = Arrays.asList("/META-INF/yang/config.yang", "/META-INF/yang/rpc-context.yang", "/META-INF/yang/config-test.yang", "/META-INF/yang/config-test-impl.yang", "/META-INF/yang/test-types.yang", - "/META-INF/yang/ietf-inet-types.yang"); + "/META-INF/yang/test-groups.yang", "/META-INF/yang/ietf-inet-types.yang"); final Collection yangDependencies = new ArrayList<>(); for (String path : paths) { final InputStream is = Preconditions