Remove ServiceLoaderBGPExtensionProviderContext 30/96730/5
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 30 Jun 2021 12:42:59 +0000 (14:42 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 30 Jun 2021 15:46:11 +0000 (17:46 +0200)
This class is used only in tests and it wreaks havot with its hidden
global state. Remove it and replace its users with localized
equivalents.

Change-Id: I59f2747c0ad65ff334c5b7ea2b2af6308fdc503d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
bgp/parser-spi/src/main/java/org/opendaylight/protocol/bgp/parser/spi/pojo/ServiceLoaderBGPExtensionProviderContext.java [deleted file]
bgp/parser-spi/src/main/java/org/opendaylight/protocol/bgp/parser/spi/pojo/SimpleBGPExtensionProviderContext.java
bmp/bmp-mock/src/test/java/org/opendaylight/protocol/bmp/mock/BmpMockTest.java
bmp/bmp-spi/src/test/java/org/opendaylight/protocol/bmp/spi/parser/AbstractBmpPerPeerMessageParserTest.java
bmp/bmp-spi/src/test/java/org/opendaylight/protocol/bmp/spi/registry/SimpleBmpExtensionProviderContextTest.java
bmp/bmp-spi/src/test/java/org/opendaylight/protocol/bmp/spi/registry/SimpleBmpTlvRegistryTest.java

diff --git a/bgp/parser-spi/src/main/java/org/opendaylight/protocol/bgp/parser/spi/pojo/ServiceLoaderBGPExtensionProviderContext.java b/bgp/parser-spi/src/main/java/org/opendaylight/protocol/bgp/parser/spi/pojo/ServiceLoaderBGPExtensionProviderContext.java
deleted file mode 100644 (file)
index 84958f0..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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.protocol.bgp.parser.spi.pojo;
-
-import java.util.ServiceLoader;
-import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderActivator;
-import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
-
-public final class ServiceLoaderBGPExtensionProviderContext {
-    private static final class Holder {
-        private static final BGPExtensionProviderContext INSTANCE = create();
-
-        private Holder() {
-        }
-    }
-
-    private ServiceLoaderBGPExtensionProviderContext() {
-    }
-
-    public static BGPExtensionProviderContext create() {
-        final BGPExtensionProviderContext ctx = new SimpleBGPExtensionProviderContext();
-
-        final ServiceLoader<BGPExtensionProviderActivator> loader = ServiceLoader.load(
-            BGPExtensionProviderActivator.class);
-        for (final BGPExtensionProviderActivator a : loader) {
-            a.start(ctx);
-        }
-
-        return ctx;
-    }
-
-    public static BGPExtensionProviderContext getSingletonInstance() {
-        return Holder.INSTANCE;
-    }
-}
index c014f378fe310b5e2a506b6bd21d6b299f0ba569..0d05d21d99bf7c911062610c3f0d50413e30b76e 100644 (file)
@@ -37,7 +37,7 @@ import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.Notification;
 
-public class SimpleBGPExtensionProviderContext extends SimpleBGPExtensionConsumerContext
+public final class SimpleBGPExtensionProviderContext extends SimpleBGPExtensionConsumerContext
         implements BGPExtensionProviderContext {
 
     public static final int DEFAULT_MAXIMUM_CACHED_OBJECTS = 100000;
index cfabddbadadab254566f6f2841ca38a4e8856b99..df662a3301b59939b86463895258cee12cc90904 100644 (file)
@@ -7,6 +7,9 @@
  */
 package org.opendaylight.protocol.bmp.mock;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.timeout;
 import static org.mockito.Mockito.verify;
 
 import io.netty.channel.Channel;
@@ -14,13 +17,13 @@ import io.netty.channel.ChannelFuture;
 import io.netty.channel.nio.NioEventLoopGroup;
 import java.net.InetSocketAddress;
 import java.util.List;
+import java.util.ServiceLoader;
 import java.util.concurrent.TimeUnit;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.Mockito;
-import org.opendaylight.protocol.bgp.parser.spi.pojo.ServiceLoaderBGPExtensionProviderContext;
+import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext;
 import org.opendaylight.protocol.bmp.api.BmpSession;
 import org.opendaylight.protocol.bmp.api.BmpSessionListener;
 import org.opendaylight.protocol.bmp.api.BmpSessionListenerFactory;
@@ -35,8 +38,7 @@ import org.opendaylight.protocol.util.InetSocketAddressUtil;
 import org.opendaylight.yangtools.yang.binding.Notification;
 
 public class BmpMockTest {
-
-    private final BmpSessionListener sessionListener = Mockito.mock(BmpSessionListener.class);
+    private final BmpSessionListener sessionListener = mock(BmpSessionListener.class);
     private BmpExtensionProviderActivator bmpActivator;
     private BmpDispatcherImpl bmpDispatcher;
 
@@ -44,7 +46,7 @@ public class BmpMockTest {
     public void setUp() {
         final BmpExtensionProviderContext ctx = new SimpleBmpExtensionProviderContext();
         this.bmpActivator = new BmpActivator(
-            ServiceLoaderBGPExtensionProviderContext.getSingletonInstance());
+            ServiceLoader.load(BGPExtensionConsumerContext.class).findFirst().orElseThrow());
         this.bmpActivator.start(ctx);
         this.bmpDispatcher = new BmpDispatcherImpl(new NioEventLoopGroup(), new NioEventLoopGroup(), ctx,
             new DefaultBmpSessionFactory());
@@ -79,12 +81,12 @@ public class BmpMockTest {
             "--pre_policy_routes",
             "3"});
 
-        verify(this.sessionListener, Mockito.timeout(TimeUnit.SECONDS.toMillis(sessionUpWait)))
-                .onSessionUp(Mockito.any(BmpSession.class));
+        verify(this.sessionListener, timeout(TimeUnit.SECONDS.toMillis(sessionUpWait)))
+                .onSessionUp(any(BmpSession.class));
         //1 * Initiate message + 3 * PeerUp Notification + 9 * Route Monitoring message
-        verify(this.sessionListener, Mockito.timeout(TimeUnit.SECONDS.toMillis(10))
+        verify(this.sessionListener, timeout(TimeUnit.SECONDS.toMillis(10))
             .times(13))
-            .onMessage(Mockito.any(Notification.class));
+            .onMessage(any(Notification.class));
 
         if (serverChannel != null) {
             serverChannel.close().sync();
@@ -116,12 +118,12 @@ public class BmpMockTest {
             sessionUpWait = 40;
         }
 
-        verify(this.sessionListener, Mockito.timeout(TimeUnit.SECONDS.toMillis(sessionUpWait)))
-            .onSessionUp(Mockito.any(BmpSession.class));
+        verify(this.sessionListener, timeout(TimeUnit.SECONDS.toMillis(sessionUpWait)))
+            .onSessionUp(any(BmpSession.class));
         //1 * Initiate message + 3 * PeerUp Notification + 9 * Route Monitoring message
-        verify(this.sessionListener, Mockito.timeout(TimeUnit.SECONDS.toMillis(10))
+        verify(this.sessionListener, timeout(TimeUnit.SECONDS.toMillis(10))
             .times(13))
-            .onMessage(Mockito.any(Notification.class));
+            .onMessage(any(Notification.class));
 
         if (serverChannel != null) {
             serverChannel.close().sync();
index ee53a7b9bd6a7aa6c2af292dfedd6cbeb82f569e..34bef2fb3b2dd87c846e67e4775ad57fd1204b06 100644 (file)
@@ -13,11 +13,11 @@ import static org.junit.Assert.assertEquals;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
+import java.util.ServiceLoader;
 import org.junit.Before;
 import org.junit.Test;
-import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
+import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext;
 import org.opendaylight.protocol.bgp.parser.spi.MessageRegistry;
-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.IpAddressNoZone;
@@ -38,7 +38,7 @@ import org.opendaylight.yangtools.yang.common.Uint32;
 
 public class AbstractBmpPerPeerMessageParserTest {
     private static final String RD = "5:3";
-    private BGPExtensionProviderContext ctx;
+    private MessageRegistry msgRegistry;
     private AbstractBmpPerPeerMessageParser<?> parser;
     private final byte[] ipv6MsgWithDistinguishergBytes = {
         (byte) 0x01, (byte) 0xc0,
@@ -56,8 +56,8 @@ public class AbstractBmpPerPeerMessageParserTest {
 
     @Before
     public void setUp() {
-        this.ctx = ServiceLoaderBGPExtensionProviderContext.getSingletonInstance();
-        final MessageRegistry msgRegistry = this.ctx.getMessageRegistry();
+        msgRegistry = ServiceLoader.load(BGPExtensionConsumerContext.class).findFirst().orElseThrow()
+            .getMessageRegistry();
         this.parser = new AbstractBmpPerPeerMessageParser<>(msgRegistry) {
             @Override
             public Notification parseMessageBody(final ByteBuf bytes) {
@@ -135,7 +135,6 @@ public class AbstractBmpPerPeerMessageParserTest {
 
     @Test
     public void testBgpMessageRegistry() {
-        final MessageRegistry msgRegistry = this.ctx.getMessageRegistry();
         assertEquals(msgRegistry, this.parser.getBgpMessageRegistry());
     }
 
index 0aacb84f62bc28a3c06ba930a6865f30e16e1e11..a6e82e8acf8dead53a1ab405aacfbef227b90eea 100644 (file)
@@ -9,10 +9,10 @@ package org.opendaylight.protocol.bmp.spi.registry;
 
 import static org.junit.Assert.assertNotNull;
 
-import org.junit.Before;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.protocol.bmp.spi.parser.BmpTlvParser;
 import org.opendaylight.protocol.bmp.spi.parser.BmpTlvSerializer;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev200120.Keepalive;
@@ -20,6 +20,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.mess
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev200120.description.tlv.DescriptionTlv;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev200120.reason.tlv.ReasonTlv;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class SimpleBmpExtensionProviderContextTest {
 
     private static final SimpleBmpMessageRegistry MESSAGE_REGISTRY = new SimpleBmpMessageRegistry();
@@ -30,11 +31,6 @@ public class SimpleBmpExtensionProviderContextTest {
     @Mock
     private BmpTlvSerializer tlvSerializer;
 
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-    }
-
     @Test
     public void testRegisterBmpMessageParser() {
         assertNotNull(CONTEXT.registerBmpMessageParser(TEST_TYPE, MESSAGE_REGISTRY));
index 77392bf25987704c675d320155e767cc438e7961..fb9b9e098d0623b93cb8f1647044b78a474ac2bc 100644 (file)
@@ -16,17 +16,18 @@ import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
 import org.junit.Before;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.protocol.bmp.spi.parser.BmpDeserializationException;
 import org.opendaylight.protocol.bmp.spi.parser.BmpTlvParser;
 import org.opendaylight.protocol.bmp.spi.parser.BmpTlvSerializer;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev200120.Tlv;
 
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class SimpleBmpTlvRegistryTest {
-
     private final SimpleBmpTlvRegistry bmpTlvRegistry = new SimpleBmpTlvRegistry();
     private final byte[] bytes = new byte[]{1, 2, 3};
     private final ByteBuf input = Unpooled.wrappedBuffer(this.bytes);
@@ -39,7 +40,6 @@ public class SimpleBmpTlvRegistryTest {
 
     @Before
     public void setUp() throws BmpDeserializationException {
-        MockitoAnnotations.initMocks(this);
         this.bmpTlvRegistry.registerBmpTlvParser(DESCRIPTION_TLV_TYPE, this.descriptionTlvParser);
         this.bmpTlvRegistry.registerBmpTlvSerializer(MockDescriptionTlv.class, this.descriptionTlvSerializer);
         Mockito.doReturn(new MockDescriptionTlv()).when(this.descriptionTlvParser).parseTlv(this.input);