Use ByteBuf.readRetainedSlice()
[openflowplugin.git] / openflowplugin-impl / src / test / java / org / opendaylight / openflowplugin / impl / statistics / services / direct / singlelayer / GroupDirectStatisticsServiceTest.java
index dce3d3ea5e92ef380ce29ba2469ed5e88192958b..bad403890dd98b101f8e9cc0a5ecde674f3d07e8 100644 (file)
@@ -11,36 +11,31 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.lenient;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
 
-import java.util.Collections;
 import java.util.List;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.openflowplugin.api.openflow.device.Xid;
 import org.opendaylight.openflowplugin.impl.statistics.services.direct.AbstractDirectStatisticsServiceTest;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.GetGroupStatisticsInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.GetGroupStatisticsOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.GetGroupStatisticsInputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.GetGroupStatisticsOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.multipart.reply.multipart.reply.body.MultipartReplyGroupStatsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.multipart.request.multipart.request.body.MultipartRequestGroupStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply.GroupStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply.GroupStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.multipart.types.rev170112.MultipartReply;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.multipart.types.rev170112.MultipartReplyBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.multipart.types.rev170112.MultipartRequest;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint32;
 
 public class GroupDirectStatisticsServiceTest extends AbstractDirectStatisticsServiceTest {
     static final Uint32 GROUP_NO = Uint32.ONE;
-    private GroupDirectStatisticsService service;
+    private SingleGetGroupStatistics service;
 
     @Override
     public void setUp() {
-        service = new GroupDirectStatisticsService(requestContextStack,
+        service = new SingleGetGroupStatistics(requestContextStack,
                                                    deviceContext,
                                                    convertorManager,
                                                    multipartWriterProvider);
@@ -48,13 +43,11 @@ public class GroupDirectStatisticsServiceTest extends AbstractDirectStatisticsSe
 
     @Override
     public void testBuildRequestBody() {
-        final GetGroupStatisticsInput input = mock(GetGroupStatisticsInput.class);
-
-        lenient().when(input.getNode()).thenReturn(createNodeRef(NODE_ID));
-        when(input.getGroupId()).thenReturn(new GroupId(GROUP_NO));
-
         final MultipartRequestGroupStats body = (MultipartRequestGroupStats) ((MultipartRequest) service
-            .buildRequest(new Xid(Uint32.valueOf(42L)), input))
+            .buildRequest(new Xid(Uint32.valueOf(42L)), new GetGroupStatisticsInputBuilder()
+                .setGroupId(new GroupId(GROUP_NO))
+                .setNode(createNodeRef(NODE_ID))
+                .build()))
             .getMultipartRequestBody();
 
         assertEquals(GROUP_NO, body.getGroupId().getValue());
@@ -62,42 +55,27 @@ public class GroupDirectStatisticsServiceTest extends AbstractDirectStatisticsSe
 
     @Override
     public void testBuildReply() {
-        final GroupStats groupStat = new GroupStatsBuilder()
-                .setGroupId(new GroupId(GROUP_NO))
-                .build();
-
-        final MultipartReply reply = new MultipartReplyBuilder()
-                .setMultipartReplyBody(new MultipartReplyGroupStatsBuilder()
-                        .setGroupStats(Collections.singletonList(groupStat))
-                        .build())
-                .build();
+        final var output = service.buildReply(List.of(new MultipartReplyBuilder()
+            .setMultipartReplyBody(new MultipartReplyGroupStatsBuilder()
+                .setGroupStats(BindingMap.of(new GroupStatsBuilder()
+                    .setGroupId(new GroupId(GROUP_NO))
+                    .build()))
+                .build())
+            .build()), true);
+        assertTrue(output.nonnullGroupStats().size() > 0);
 
-        final List<MultipartReply> input = Collections.singletonList(reply);
-
-        final GetGroupStatisticsOutput output = service.buildReply(input, true);
-        assertTrue(output.getGroupStats().size() > 0);
-
-        final org.opendaylight.yang.gen.v1.urn
-            .opendaylight.group.types.rev131018.group.statistics.reply.GroupStats stats = output.getGroupStats().get(0);
+        final var stats = output.nonnullGroupStats().values().iterator().next();
 
         assertEquals(stats.getGroupId().getValue(), GROUP_NO);
     }
 
     @Override
     public void testStoreStatistics() {
-        final org.opendaylight.yang.gen.v1.urn
-                .opendaylight.group.types.rev131018.group.statistics.reply.GroupStats stat =
-                mock(org.opendaylight.yang.gen.v1.urn
-                        .opendaylight.group.types.rev131018.group.statistics.reply.GroupStats.class);
-        when(stat.getGroupId()).thenReturn(new GroupId(GROUP_NO));
-
-        final List<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply
-                .GroupStats>
-                stats = Collections.singletonList(stat);
-        final GetGroupStatisticsOutput output = mock(GetGroupStatisticsOutput.class);
-        when(output.getGroupStats()).thenReturn(stats);
-
-        multipartWriterProvider.lookup(MultipartType.OFPMPGROUP).get().write(output, true);
+        multipartWriterProvider.lookup(MultipartType.OFPMPGROUP).orElseThrow()
+            .write(new GetGroupStatisticsOutputBuilder()
+                .setGroupStats(BindingMap.of(new org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018
+                    .group.statistics.reply.GroupStatsBuilder().setGroupId(new GroupId(GROUP_NO)).build()))
+                .build(), true);
         verify(deviceContext).writeToTransactionWithParentsSlow(eq(LogicalDatastoreType.OPERATIONAL), any(), any());
     }
 }