Decompose RPC implementation classes
[openflowplugin.git] / openflowplugin-impl / src / test / java / org / opendaylight / openflowplugin / impl / services / sal / SalMeterServiceImplTest.java
old mode 100644 (file)
new mode 100755 (executable)
index 87a582f..45e8065
  */
 package org.opendaylight.openflowplugin.impl.services.sal;
 
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
 
 import org.junit.Test;
-import org.mockito.Matchers;
 import org.mockito.Mock;
 import org.opendaylight.openflowplugin.api.openflow.registry.meter.DeviceMeterRegistry;
-import org.opendaylight.openflowplugin.api.openflow.rpc.listener.ItemLifecycleListener;
 import org.opendaylight.openflowplugin.impl.services.ServiceMocking;
-import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.meters.Meter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.meters.MeterKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.AddMeterInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.AddMeterInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.AddMeterOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.RemoveMeterInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.RemoveMeterInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.RemoveMeterOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.UpdateMeterInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.UpdateMeterInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.meter.update.OriginalMeter;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.meter.update.OriginalMeterBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.meter.update.UpdatedMeter;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.meter.update.UpdatedMeterBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId;
-import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
+import org.opendaylight.yangtools.yang.common.Uint32;
 
 public class SalMeterServiceImplTest extends ServiceMocking {
-
-    private static final Long DUMMY_METER_ID = 15L;
-    private static final Long DUMMY_METTER_ID = 2000L;
+    private static final Uint32 DUMMY_METER_ID = Uint32.valueOf(15);
+    private static final Uint32 DUMMY_METTER_ID = Uint32.valueOf(2000);
 
     @Mock
-    DeviceMeterRegistry mockedDeviceMeterRegistry;
+    private DeviceMeterRegistry mockedDeviceMeterRegistry;
 
-    SalMeterServiceImpl salMeterService;
+    private AddMeterImpl addMeter;
+    private RemoveMeterImpl removeMeter;
+    private UpdateMeterImpl updateMeter;
 
     @Override
     protected void setup() {
-        when(mockedDeviceContext.getDeviceMeterRegistry()).thenReturn(mockedDeviceMeterRegistry);
-        final ConvertorManager convertorManager = ConvertorManagerFactory.createDefaultManager();
-        salMeterService = new SalMeterServiceImpl(mockedRequestContextStack, mockedDeviceContext, convertorManager);
-    }
-
-    @Test
-    public void testAddMeter() throws Exception {
-        addMeter(null);
+        final var convertorManager = ConvertorManagerFactory.createDefaultManager();
+        addMeter = new AddMeterImpl(mockedRequestContextStack, mockedDeviceContext, convertorManager);
+        removeMeter = new RemoveMeterImpl(mockedRequestContextStack, mockedDeviceContext, convertorManager);
+        updateMeter = new UpdateMeterImpl(mockedRequestContextStack, mockedDeviceContext, convertorManager);
     }
 
     @Test
-    public void testAddMeterWithItemLifecycle() throws Exception {
-        addMeter(mock(ItemLifecycleListener.class));
-    }
-
-    private void addMeter(final ItemLifecycleListener itemLifecycleListener) {
-        final MeterId dummyMeterId = new MeterId(DUMMY_METER_ID);
-        AddMeterInput addMeterInput = new AddMeterInputBuilder().setMeterId(dummyMeterId).build();
-
+    public void testAddMeter() {
         this.<AddMeterOutput>mockSuccessfulFuture();
-
-        salMeterService.setItemLifecycleListener(itemLifecycleListener);
-
-        salMeterService.addMeter(addMeterInput);
+        addMeter.invoke(new AddMeterInputBuilder().setMeterId(new MeterId(DUMMY_METER_ID)).build());
         verify(mockedRequestContextStack).createRequestContext();
-        verify(mockedDeviceMeterRegistry).store(eq(dummyMeterId));
-
-        if (itemLifecycleListener != null) {
-            verify(itemLifecycleListener).onAdded(Matchers.<KeyedInstanceIdentifier<Meter, MeterKey>>any(),Matchers.<Meter>any());
-        }
     }
 
     @Test
-    public void testUpdateMeter() throws Exception {
-        updateMeter(null);
-    }
-
-    @Test
-    public void testUpdateMeterWithItemLifecycle() throws Exception {
-        updateMeter(mock(ItemLifecycleListener.class));
-    }
-
-    private void updateMeter(final ItemLifecycleListener itemLifecycleListener) throws Exception {
-        final UpdatedMeter dummyUpdatedMeter = new UpdatedMeterBuilder().setMeterId(new MeterId(DUMMY_METTER_ID)).build();
-        final OriginalMeter dummyOriginalMeter = new OriginalMeterBuilder().setMeterId(new MeterId(DUMMY_METTER_ID)).build();
-
-        final UpdateMeterInput updateMeterInput = new UpdateMeterInputBuilder().setUpdatedMeter(dummyUpdatedMeter).setOriginalMeter(dummyOriginalMeter).build();
-
+    public void testUpdateMeter() {
         this.<AddMeterOutput>mockSuccessfulFuture();
-
-        salMeterService.setItemLifecycleListener(itemLifecycleListener);
-
-        salMeterService.updateMeter(updateMeterInput);
+        updateMeter.invoke(new UpdateMeterInputBuilder()
+            .setUpdatedMeter(new UpdatedMeterBuilder().setMeterId(new MeterId(DUMMY_METTER_ID)).build())
+            .setOriginalMeter(new OriginalMeterBuilder().setMeterId(new MeterId(DUMMY_METTER_ID)).build())
+            .build());
         verify(mockedRequestContextStack).createRequestContext();
-
-        if (itemLifecycleListener != null) {
-            verify(itemLifecycleListener).onAdded(Matchers.<KeyedInstanceIdentifier<Meter, MeterKey>>any(),Matchers.<Meter>any());
-            verify(itemLifecycleListener).onRemoved(Matchers.<KeyedInstanceIdentifier<Meter, MeterKey>>any());
-        }
-    }
-
-    @Test
-    public void testRemoveMeter() throws Exception {
-        removeMeter(null);
     }
 
     @Test
-    public void testRemoveMeterWithItemLifecycle() throws Exception {
-        removeMeter(mock(ItemLifecycleListener.class));
-    }
-
-    private void removeMeter(final ItemLifecycleListener itemLifecycleListener) throws Exception {
-        final MeterId dummyMeterId = new MeterId(DUMMY_METER_ID);
-        RemoveMeterInput removeMeterInput = new RemoveMeterInputBuilder().setMeterId(dummyMeterId).build();
-
+    public void testRemoveMeter() {
         this.<RemoveMeterOutput>mockSuccessfulFuture();
-
-        salMeterService.setItemLifecycleListener(itemLifecycleListener);
-
-        salMeterService.removeMeter(removeMeterInput);
+        removeMeter.invoke(new RemoveMeterInputBuilder().setMeterId(new MeterId(DUMMY_METER_ID)).build());
         verify(mockedRequestContextStack).createRequestContext();
-        verify(mockedDeviceMeterRegistry).addMark(eq(dummyMeterId));
-
-        if (itemLifecycleListener != null) {
-            verify(itemLifecycleListener).onRemoved(Matchers.<KeyedInstanceIdentifier<Meter, MeterKey>>any());
-        }
     }
-}
+}
\ No newline at end of file