Do not use ServiceLoaderBGPExtensionProviderContext 39/96739/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 30 Jun 2021 14:25:21 +0000 (16:25 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 30 Jun 2021 14:25:21 +0000 (16:25 +0200)
Update extensions' tests to not use global state, but rather activate
themselves.

Change-Id: I0ce67fbd9ccba6c27c6217193a33c4c013ab9bdc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
bgp/extensions/inet/src/test/java/org/opendaylight/protocol/bgp/inet/codec/BGPParserTest.java
bgp/extensions/linkstate/src/test/java/org/opendaylight/protocol/bgp/linkstate/ParserTest.java

index 29c9192fdd273dd4cbfecd4330c8897ba9494494..36c02b05ea4306bc0dd23877307b116d5e81f6b7 100644 (file)
@@ -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.protocol.bgp.inet.codec;
 
 import static org.junit.Assert.assertArrayEquals;
@@ -22,13 +21,14 @@ import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.ServiceLoader;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext;
 import org.opendaylight.protocol.bgp.parser.spi.MessageRegistry;
 import org.opendaylight.protocol.bgp.parser.spi.RevisedErrorHandlingSupport;
 import org.opendaylight.protocol.bgp.parser.spi.pojo.PeerSpecificParserConstraintImpl;
 import org.opendaylight.protocol.bgp.parser.spi.pojo.RevisedErrorHandlingSupportImpl;
-import org.opendaylight.protocol.bgp.parser.spi.pojo.ServiceLoaderBGPExtensionProviderContext;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone;
@@ -77,7 +77,8 @@ public class BGPParserTest {
 
     @BeforeClass
     public static void setUp() throws Exception {
-        messageRegistry = ServiceLoaderBGPExtensionProviderContext.getSingletonInstance().getMessageRegistry();
+        messageRegistry = ServiceLoader.load(BGPExtensionConsumerContext.class).findFirst().orElseThrow()
+            .getMessageRegistry();
         input = new ArrayList<>(MESSAGE_COUNT);
         for (int i = 1; i <= MESSAGE_COUNT; i++) {
 
index 0f8c9f2b74aa17140fb3f89ba4e93401e7c40df9..e2428d4e5a28259a43e9bc7d149fe37119ea9418 100644 (file)
@@ -22,15 +22,16 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
+import java.util.ServiceLoader;
 import java.util.Set;
 import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.protocol.bgp.parser.BgpTableTypeImpl;
 import org.opendaylight.protocol.bgp.parser.impl.message.BGPUpdateMessageParser;
+import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext;
 import org.opendaylight.protocol.bgp.parser.spi.MessageRegistry;
 import org.opendaylight.protocol.bgp.parser.spi.MessageUtil;
 import org.opendaylight.protocol.bgp.parser.spi.NlriRegistry;
-import org.opendaylight.protocol.bgp.parser.spi.pojo.ServiceLoaderBGPExtensionProviderContext;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone;
@@ -106,10 +107,15 @@ public class ParserTest {
 
     private static final int LENGTH_FIELD_LENGTH = 2;
 
+    private MessageRegistry msgReg;
+
     @Before
     public void setUp() throws Exception {
-        updateParser = new BGPUpdateMessageParser(ServiceLoaderBGPExtensionProviderContext
-            .getSingletonInstance().getAttributeRegistry(), mock(NlriRegistry.class));
+        final BGPExtensionConsumerContext context = ServiceLoader.load(BGPExtensionConsumerContext.class).findFirst()
+            .orElseThrow();
+
+        msgReg = context.getMessageRegistry();
+        updateParser = new BGPUpdateMessageParser(context.getAttributeRegistry(), mock(NlriRegistry.class));
         for (int i = 1; i <= COUNTER; i++) {
             final String name = "/up" + i + ".bin";
             try (InputStream is = ParserTest.class.getResourceAsStream(name)) {
@@ -659,8 +665,6 @@ public class ParserTest {
      */
     @Test
     public void testOpenMessage() throws Exception {
-        final MessageRegistry msgReg = ServiceLoaderBGPExtensionProviderContext
-            .getSingletonInstance().getMessageRegistry();
         final Notification o = msgReg.parseMessage(Unpooled.copiedBuffer(INPUT_BYTES.get(3)), null);
         final Open open = (Open) o;
         final Set<BgpTableType> types = new HashSet<>();