From 09fdf0b97f3a6fa3e3ed8416e445025eeb592487 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 26 Aug 2019 12:26:28 +0200 Subject: [PATCH] Reuse schemaContext in mdsal-netconf-connector tests SchemaContext is well-known invariant, make sure we reuse it. Change-Id: Id26988be0bd36a21bc4b0f227f5199d217a06300 Signed-off-by: Robert Varga --- .../ops/AbstractNetconfOperationTest.java | 21 +++++++++++++++---- .../mdsal/connector/ops/CopyConfigTest.java | 10 --------- .../ops/NetconfMDSalMappingTest.java | 9 -------- 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/AbstractNetconfOperationTest.java b/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/AbstractNetconfOperationTest.java index 669fa2e0d7..dcafdb2fac 100644 --- a/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/AbstractNetconfOperationTest.java +++ b/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/AbstractNetconfOperationTest.java @@ -11,6 +11,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.opendaylight.yangtools.yang.test.util.YangParserTestUtils.parseYangResources; import com.google.common.io.ByteSource; import com.google.common.util.concurrent.Futures; @@ -26,7 +27,9 @@ import javax.xml.transform.stream.StreamResult; import org.custommonkey.xmlunit.DetailedDiff; import org.custommonkey.xmlunit.Diff; import org.custommonkey.xmlunit.XMLUnit; +import org.junit.AfterClass; import org.junit.Before; +import org.junit.BeforeClass; import org.mockito.MockitoAnnotations; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMSchemaService; @@ -58,9 +61,22 @@ public abstract class AbstractNetconfOperationTest { private static final String DATA_ELEMENT = "data"; protected static final Document RPC_REPLY_OK = getReplyOk(); + private static SchemaContext SCHEMA_CONTEXT; + private CurrentSchemaContext currentSchemaContext; private TransactionProvider transactionProvider; + @BeforeClass + public static void beforeClass() { + SCHEMA_CONTEXT = parseYangResources(AbstractNetconfOperationTest.class, + "/yang/mdsal-netconf-mapping-test.yang"); + } + + @AfterClass + public static void afterClass() { + SCHEMA_CONTEXT = null; + } + @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); @@ -68,8 +84,7 @@ public abstract class AbstractNetconfOperationTest { XMLUnit.setIgnoreWhitespace(true); XMLUnit.setIgnoreAttributeOrder(true); - final SchemaContext schemaContext = getSchemaContext(); - final DOMSchemaService schemaService = new SchemaServiceStub(schemaContext); + final DOMSchemaService schemaService = new SchemaServiceStub(SCHEMA_CONTEXT); final DOMStore operStore = InMemoryDOMDataStoreFactory.create("DOM-OPER", schemaService); final DOMStore configStore = InMemoryDOMDataStoreFactory.create("DOM-CFG", schemaService); @@ -91,8 +106,6 @@ public abstract class AbstractNetconfOperationTest { this.transactionProvider = new TransactionProvider(sdb, SESSION_ID_FOR_REPORTING); } - protected abstract SchemaContext getSchemaContext(); - protected CurrentSchemaContext getCurrentSchemaContext() { return currentSchemaContext; } diff --git a/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/CopyConfigTest.java b/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/CopyConfigTest.java index 3a34ccd24c..0b336adc18 100644 --- a/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/CopyConfigTest.java +++ b/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/CopyConfigTest.java @@ -5,12 +5,10 @@ * 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.netconf.mdsal.connector.ops; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.opendaylight.yangtools.yang.test.util.YangParserTestUtils.parseYangResources; import java.io.File; import java.io.FileInputStream; @@ -25,7 +23,6 @@ import org.opendaylight.netconf.api.DocumentedException.ErrorTag; import org.opendaylight.netconf.api.DocumentedException.ErrorType; import org.opendaylight.netconf.api.xml.XmlUtil; import org.opendaylight.netconf.util.test.XmlFileLoader; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.w3c.dom.Document; import org.xml.sax.SAXException; @@ -33,13 +30,6 @@ public class CopyConfigTest extends AbstractNetconfOperationTest { @Rule public TemporaryFolder tmpDir = new TemporaryFolder(); - @Override - protected SchemaContext getSchemaContext() { - return parseYangResources(CopyConfigTest.class, - "/yang/mdsal-netconf-mapping-test.yang"); - } - - @Test public void testTargetMissing() throws Exception { try { diff --git a/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/NetconfMDSalMappingTest.java b/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/NetconfMDSalMappingTest.java index 43592f4b72..625acb2999 100644 --- a/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/NetconfMDSalMappingTest.java +++ b/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/NetconfMDSalMappingTest.java @@ -5,7 +5,6 @@ * 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.netconf.mdsal.connector.ops; import static org.junit.Assert.assertEquals; @@ -34,8 +33,6 @@ import org.opendaylight.netconf.mdsal.connector.ops.get.GetConfig; import org.opendaylight.netconf.util.test.XmlFileLoader; 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.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; @@ -70,12 +67,6 @@ public class NetconfMDSalMappingTest extends AbstractNetconfOperationTest { private static final YangInstanceIdentifier AUGMENTED_CONTAINER_IN_MODULES = YangInstanceIdentifier.builder().node(TOP).node(MODULES).build(); - @Override - protected SchemaContext getSchemaContext() { - return YangParserTestUtils.parseYangResources(NetconfMDSalMappingTest.class, - "/yang/mdsal-netconf-mapping-test.yang"); - } - @Test public void testEmptyDatastore() throws Exception { assertEmptyDatastore(get()); -- 2.36.6