*/
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
- public void initialization() {
- super.initialization();
- when(mockedDeviceContext.getDeviceMeterRegistry()).thenReturn(mockedDeviceMeterRegistry);
- final ConvertorManager convertorManager = ConvertorManagerFactory.createDefaultManager();
- salMeterService = new SalMeterServiceImpl(mockedRequestContextStack, mockedDeviceContext, convertorManager);
- }
-
- @Test
- public void testAddMeter() throws Exception {
- addMeter(null);
+ protected void setup() {
+ 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).markToBeremoved(eq(dummyMeterId));
-
- if (itemLifecycleListener != null) {
- verify(itemLifecycleListener).onRemoved(Matchers.<KeyedInstanceIdentifier<Meter, MeterKey>>any());
- }
}
-}
+}
\ No newline at end of file