2 * Copyright (c) 2014 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor;
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertTrue;
13 import com.google.common.collect.ImmutableList;
14 import java.math.BigInteger;
15 import java.util.ArrayList;
16 import java.util.List;
17 import java.util.Optional;
18 import org.junit.Before;
19 import org.junit.Test;
20 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData;
21 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.CopyTtlInCaseBuilder;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.GroupActionCaseBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.OutputActionCaseBuilder;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetMplsTtlActionCaseBuilder;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.copy.ttl.in._case.CopyTtlIn;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.copy.ttl.in._case.CopyTtlInBuilder;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.group.action._case.GroupAction;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.group.action._case.GroupActionBuilder;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.output.action._case.OutputActionBuilder;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.mpls.ttl.action._case.SetMplsTtlAction;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.mpls.ttl.action._case.SetMplsTtlActionBuilder;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.ActionBuilder;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.AddGroupInput;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.AddGroupInputBuilder;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.BucketId;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.Group;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupId;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupTypes;
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.Buckets;
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.BucketsBuilder;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.Bucket;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.BucketBuilder;
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.GroupCaseBuilder;
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetMplsTtlCaseBuilder;
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.GroupModCommand;
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.GroupType;
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GroupModInputBuilder;
50 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.buckets.grouping.BucketsList;
52 public class GroupConvertorTest {
53 private ConvertorManager convertorManager;
57 convertorManager = ConvertorManagerFactory.createDefaultManager();
61 * test of {@link GroupConvertor#convert(Group, VersionDatapathIdConvertorData)} }.
64 public void testGroupModConvertorwithallParameters() {
66 final AddGroupInputBuilder addGroupBuilder = new AddGroupInputBuilder();
68 addGroupBuilder.setGroupId(new GroupId(10L));
70 addGroupBuilder.setGroupType(GroupTypes.GroupAll);
71 final List<Bucket> bucketList = new ArrayList<>();
72 final List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action>
73 actionsList = new ArrayList<>();
74 final List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action>
75 actionsList1 = new ArrayList<>();
80 final GroupActionBuilder groupActionBuilder = new GroupActionBuilder();
81 groupActionBuilder.setGroup("005");
82 final GroupAction groupIdaction = groupActionBuilder.build();
83 final ActionBuilder actionsB = new ActionBuilder();
84 actionsB.setOrder(actionOrder++).setAction(new GroupActionCaseBuilder().setGroupAction(groupIdaction).build());
87 final GroupActionBuilder groupActionBuilder1 = new GroupActionBuilder();
88 groupActionBuilder1.setGroup("006");
89 final GroupAction groupIdaction1 = groupActionBuilder.build();
90 final ActionBuilder actionsB1 = new ActionBuilder();
91 actionsB1.setOrder(actionOrder++).setAction(new GroupActionCaseBuilder()
92 .setGroupAction(groupIdaction1).build());
94 actionsList.add(actionsB.build());
95 actionsList.add(actionsB1.build());
98 final BucketsBuilder bucketsB = new BucketsBuilder();
100 final BucketBuilder bucketB = new BucketBuilder();
101 bucketB.setWeight(10);
102 bucketB.setWatchPort(20L);
103 bucketB.setWatchGroup(22L);
105 bucketB.setAction(actionsList);
106 final Bucket bucket = bucketB.build();
108 bucketList.add(bucket); // List of bucket
110 final BucketBuilder bucketB1 = new BucketBuilder();
111 bucketB1.setWeight(50);
112 bucketB1.setWatchPort(60L);
113 bucketB1.setWatchGroup(70L);
116 final CopyTtlInBuilder copyTtlB = new CopyTtlInBuilder();
117 final CopyTtlIn copyTtl = copyTtlB.build();
118 final ActionBuilder actionsB2 = new ActionBuilder();
119 actionsB2.setOrder(actionOrder++).setAction(new CopyTtlInCaseBuilder().setCopyTtlIn(copyTtl).build());
122 final SetMplsTtlActionBuilder setMplsTtlActionBuilder = new SetMplsTtlActionBuilder();
123 setMplsTtlActionBuilder.setMplsTtl((short) 0X1);
124 final SetMplsTtlAction setMAction = setMplsTtlActionBuilder.build();
125 final ActionBuilder actionsB3 = new ActionBuilder();
127 actionsB3.setOrder(actionOrder++).setAction(new SetMplsTtlActionCaseBuilder()
128 .setSetMplsTtlAction(setMAction).build());
131 actionsList1.add(actionsB2.build());
132 actionsList1.add(actionsB3.build());
134 bucketB1.setAction(actionsList);
136 final Bucket bucket1 = bucketB1.build(); // second bucket
138 bucketList.add(bucket1);
140 bucketsB.setBucket(bucketList);// List of bucket added to the Buckets
141 final Buckets buckets = bucketsB.build();
143 addGroupBuilder.setBuckets(buckets);
145 VersionDatapathIdConvertorData data = new VersionDatapathIdConvertorData((short) 0X4);
146 data.setDatapathId(BigInteger.valueOf(1));
148 final GroupModInputBuilder outAddGroupInput = convert(addGroupBuilder.build(), data);
150 assertEquals(GroupModCommand.OFPGCADD, outAddGroupInput.getCommand());
151 assertEquals(GroupType.OFPGTALL, outAddGroupInput.getType());
153 assertEquals(10L, (long) outAddGroupInput.getGroupId().getValue());
154 assertEquals(10, (int) outAddGroupInput.getBucketsList().get(0).getWeight());
155 assertEquals(20L, (long) outAddGroupInput.getBucketsList().get(0).getWatchPort().getValue());
156 assertEquals((Long) 22L, outAddGroupInput.getBucketsList().get(0).getWatchGroup());
158 final List<Action> outActionList = outAddGroupInput.getBucketsList().get(0).getAction();
159 assertEquals(ImmutableList.of(new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action
160 .rev150203.actions.grouping.ActionBuilder().setActionChoice(new GroupCaseBuilder().setGroupAction(
161 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping
162 .action.choice.group._case.GroupActionBuilder().setGroupId(5L).build()).build()).build(),
163 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping
164 .ActionBuilder().setActionChoice(new GroupCaseBuilder().setGroupAction(
165 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action
166 .grouping.action.choice.group._case.GroupActionBuilder().setGroupId(5L).build()).build())
167 .build()), outActionList);
169 assertEquals((Integer) 50, outAddGroupInput.getBucketsList().get(1).getWeight());
170 assertEquals((long) 60, (long) outAddGroupInput.getBucketsList().get(1).getWatchPort().getValue());
171 assertEquals((Long) 70L, outAddGroupInput.getBucketsList().get(1).getWatchGroup());
173 final List<Action> outActionList1 = outAddGroupInput.getBucketsList().get(1).getAction();
174 assertEquals(ImmutableList.of(new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action
175 .rev150203.actions.grouping.ActionBuilder().setActionChoice(new GroupCaseBuilder().setGroupAction(
176 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping
177 .action.choice.group._case.GroupActionBuilder().setGroupId(5L).build()).build()).build(),
178 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping
179 .ActionBuilder().setActionChoice(new GroupCaseBuilder().setGroupAction(
180 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action
181 .grouping.action.choice.group._case.GroupActionBuilder().setGroupId(5L).build()).build())
182 .build()), outActionList1);
186 * test of {@link GroupConvertor#convert(Group, VersionDatapathIdConvertorData)} }.
189 public void testGroupModConvertorNoBucket() {
190 final AddGroupInputBuilder addGroupBuilder = new AddGroupInputBuilder();
192 addGroupBuilder.setGroupId(new GroupId(10L));
194 addGroupBuilder.setGroupType(GroupTypes.GroupAll);
196 VersionDatapathIdConvertorData data = new VersionDatapathIdConvertorData((short) 0X4);
197 data.setDatapathId(BigInteger.valueOf(1));
199 final GroupModInputBuilder outAddGroupInput = convert(addGroupBuilder.build(), data);
200 assertEquals(GroupModCommand.OFPGCADD, outAddGroupInput.getCommand());
201 assertEquals(GroupType.OFPGTALL, outAddGroupInput.getType());
205 * test of {@link GroupConvertor#convert(Group, VersionDatapathIdConvertorData)} }.
208 public void testGroupModConvertorBucketwithNOWieghtValuesForGroupTypeFastFailure() {
212 final AddGroupInputBuilder addGroupBuilder = new AddGroupInputBuilder();
214 addGroupBuilder.setGroupId(new GroupId(10L));
216 addGroupBuilder.setGroupType(GroupTypes.GroupFf);
217 final List<Bucket> bucketList = new ArrayList<>();
218 final List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action>
219 actionsList = new ArrayList<>();
220 final List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action>
221 actionsList1 = new ArrayList<>();
224 actionsList.add(assembleActionBuilder("005", actionOrder++).build());
226 actionsList.add(assembleActionBuilder("006", actionOrder++).build());
227 // .. and mr.Bond is not coming today
229 final BucketsBuilder bucketsB = new BucketsBuilder();
231 final BucketBuilder bucketB = new BucketBuilder();
233 bucketB.setAction(actionsList);
234 final Bucket bucket = bucketB.build();
236 bucketList.add(bucket); // List of bucket
239 final BucketBuilder bucketB1 = new BucketBuilder();
242 actionsList1.add(assembleCopyTtlInBuilder(actionOrder++).build());
244 actionsList1.add(assembleSetMplsTtlActionBuilder(actionOrder++).build());
246 bucketB1.setAction(actionsList1);
248 final Bucket bucket1 = bucketB1.build(); // second bucket
250 bucketList.add(bucket1);
252 bucketsB.setBucket(bucketList);// List of bucket added to the Buckets
253 final Buckets buckets = bucketsB.build();
255 addGroupBuilder.setBuckets(buckets);
257 VersionDatapathIdConvertorData data = new VersionDatapathIdConvertorData((short) 0X4);
258 data.setDatapathId(BigInteger.valueOf(1));
260 final GroupModInputBuilder outAddGroupInput = convert(addGroupBuilder.build(), data);
262 assertEquals(GroupModCommand.OFPGCADD, outAddGroupInput.getCommand());
263 assertEquals(GroupType.OFPGTFF, outAddGroupInput.getType());
265 assertEquals(10L, outAddGroupInput.getGroupId().getValue().longValue());
267 final List<Action> outActionList = outAddGroupInput.getBucketsList().get(0).getAction();
268 assertEquals(ImmutableList.of(new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203
269 .actions.grouping.ActionBuilder().setActionChoice(new GroupCaseBuilder().setGroupAction(
270 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action
271 .grouping.action.choice.group._case.GroupActionBuilder().setGroupId(5L).build()).build())
273 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping
274 .ActionBuilder().setActionChoice(new GroupCaseBuilder().setGroupAction(
275 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203
276 .action.grouping.action.choice.group._case.GroupActionBuilder().setGroupId(6L)
277 .build()).build()).build()), outActionList);
279 final List<Action> outActionList1 = outAddGroupInput.getBucketsList().get(1).getAction();
280 assertEquals(ImmutableList.of(new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203
281 .actions.grouping.ActionBuilder().setActionChoice(
282 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action
283 .grouping.action.choice.CopyTtlInCaseBuilder().build()).build(),
284 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping
285 .ActionBuilder().setActionChoice(new SetMplsTtlCaseBuilder().setSetMplsTtlAction(
286 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203
287 .action.grouping.action.choice.set.mpls.ttl._case.SetMplsTtlActionBuilder()
288 .setMplsTtl((short) 1).build()).build()).build()), outActionList1);
292 * test of {@link GroupConvertor#convert(Group, VersionDatapathIdConvertorData)} }.
295 public void testGroupModConvertSortedBuckets() {
297 final int actionOrder = 0;
299 final ArrayList<Bucket> bucket = new ArrayList<>();
301 bucket.add(new BucketBuilder()
302 .setBucketId(new BucketId((long) 4))
303 .setWatchPort((long)2)
304 .setWatchGroup((long) 1)
305 .setAction(ImmutableList.of(new ActionBuilder()
307 .setAction(new OutputActionCaseBuilder()
308 .setOutputAction(new OutputActionBuilder()
309 .setOutputNodeConnector(new Uri("openflow:1:2"))
315 bucket.add(new BucketBuilder()
316 .setBucketId(new BucketId((long) 3))
317 .setWatchPort((long)6)
318 .setWatchGroup((long) 1)
319 .setAction(ImmutableList.of(new ActionBuilder()
321 .setAction(new OutputActionCaseBuilder()
322 .setOutputAction(new OutputActionBuilder()
323 .setOutputNodeConnector(new Uri("openflow:1:6"))
329 bucket.add(new BucketBuilder()
330 .setBucketId(new BucketId((long) 2))
331 .setWatchPort((long)5)
332 .setWatchGroup((long) 1)
333 .setAction(ImmutableList.of(new ActionBuilder()
335 .setAction(new OutputActionCaseBuilder()
336 .setOutputAction(new OutputActionBuilder()
337 .setOutputNodeConnector(new Uri("openflow:1:5"))
343 bucket.add(new BucketBuilder()
344 .setBucketId(new BucketId((long) 1))
345 .setWatchPort((long)4)
346 .setWatchGroup((long) 1)
347 .setAction(ImmutableList.of(new ActionBuilder()
349 .setAction(new OutputActionCaseBuilder()
350 .setOutputAction(new OutputActionBuilder()
351 .setOutputNodeConnector(new Uri("openflow:1:4"))
357 bucket.add(new BucketBuilder()
358 .setBucketId(new BucketId((long) 0))
359 .setWatchPort((long)3)
360 .setWatchGroup((long) 1)
361 .setAction(ImmutableList.of(new ActionBuilder()
363 .setAction(new OutputActionCaseBuilder()
364 .setOutputAction(new OutputActionBuilder()
365 .setOutputNodeConnector(new Uri("openflow:1:3"))
372 final AddGroupInput input = new AddGroupInputBuilder()
373 .setGroupId(new GroupId((long) 1))
375 .setGroupType(GroupTypes.GroupFf)
376 .setBuckets(new BucketsBuilder()
381 VersionDatapathIdConvertorData data = new VersionDatapathIdConvertorData((short) 0X4);
382 data.setDatapathId(BigInteger.valueOf(1));
384 final GroupModInputBuilder outAddGroupInput = convert(input, data);
386 final List<BucketsList> bucketList = outAddGroupInput.getBucketsList();
387 assertEquals(Long.valueOf(1), bucketList.get(0).getWatchGroup());
388 assertEquals(Long.valueOf(3), bucketList.get(0).getWatchPort().getValue());
390 assertEquals(Long.valueOf(1), bucketList.get(1).getWatchGroup());
391 assertEquals(Long.valueOf(4), bucketList.get(1).getWatchPort().getValue());
393 assertEquals(Long.valueOf(1), bucketList.get(2).getWatchGroup());
394 assertEquals(Long.valueOf(5), bucketList.get(2).getWatchPort().getValue());
396 assertEquals(Long.valueOf(1), bucketList.get(3).getWatchGroup());
397 assertEquals(Long.valueOf(6), bucketList.get(3).getWatchPort().getValue());
399 assertEquals(Long.valueOf(1), bucketList.get(4).getWatchGroup());
400 assertEquals(Long.valueOf(2), bucketList.get(4).getWatchPort().getValue());
404 private static ActionBuilder assembleSetMplsTtlActionBuilder(final int actionOrder) {
405 final SetMplsTtlActionBuilder setMplsTtlActionBuilder = new SetMplsTtlActionBuilder();
406 setMplsTtlActionBuilder.setMplsTtl((short) 0X1);
407 final SetMplsTtlActionCaseBuilder setMplsTtlActionCaseBuilder = new SetMplsTtlActionCaseBuilder();
408 setMplsTtlActionCaseBuilder.setSetMplsTtlAction(setMplsTtlActionBuilder.build());
409 final ActionBuilder actionsB3 = new ActionBuilder();
410 actionsB3.setOrder(actionOrder).setAction(setMplsTtlActionCaseBuilder.build());
414 private static ActionBuilder assembleCopyTtlInBuilder(final int actionOrder) {
415 final CopyTtlInBuilder copyTtlB = new CopyTtlInBuilder();
416 final CopyTtlInCaseBuilder copyTtlInCaseBuilder = new CopyTtlInCaseBuilder();
417 copyTtlInCaseBuilder.setCopyTtlIn(copyTtlB.build());
418 final ActionBuilder actionsB2 = new ActionBuilder();
419 actionsB2.setOrder(actionOrder).setAction(copyTtlInCaseBuilder.build());
423 private static ActionBuilder assembleActionBuilder(final String groupName, final int actionOrder) {
424 final GroupActionBuilder groupActionBuilder = new GroupActionBuilder();
425 groupActionBuilder.setGroup(groupName);
426 final GroupActionCaseBuilder groupActionCaseBuilder = new GroupActionCaseBuilder();
427 groupActionCaseBuilder.setGroupAction(groupActionBuilder.build());
428 final ActionBuilder actionsBld = new ActionBuilder();
429 actionsBld.setOrder(actionOrder).setAction(groupActionCaseBuilder.build());
434 * test of {@link GroupConvertor#convert(Group, VersionDatapathIdConvertorData)} }.
437 public void testGroupModConvertorBucketwithNOWieghtValuesForGroupTypeAll() {
441 final AddGroupInputBuilder addGroupBuilder = new AddGroupInputBuilder();
443 addGroupBuilder.setGroupId(new GroupId(10L));
445 addGroupBuilder.setGroupType(GroupTypes.GroupAll);
446 final List<Bucket> bucketList = new ArrayList<>();
447 final List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action>
448 actionsList = new ArrayList<>();
449 final List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action>
450 actionsList1 = new ArrayList<>();
453 actionsList.add(assembleActionBuilder("005", actionOrder++).build());
455 actionsList.add(assembleActionBuilder("006", actionOrder++).build());
457 final BucketsBuilder bucketsB = new BucketsBuilder();
459 final BucketBuilder bucketB = new BucketBuilder();
461 bucketB.setAction(actionsList);
462 final Bucket bucket = bucketB.build();
464 bucketList.add(bucket); // List of bucket
466 final BucketBuilder bucketB1 = new BucketBuilder();
469 actionsList1.add(assembleCopyTtlInBuilder(actionOrder++).build());
471 actionsList1.add(assembleSetMplsTtlActionBuilder(actionOrder++).build());
473 bucketB1.setAction(actionsList);
475 final Bucket bucket1 = bucketB1.build(); // second bucket
477 bucketList.add(bucket1);
479 bucketsB.setBucket(bucketList);// List of bucket added to the Buckets
480 final Buckets buckets = bucketsB.build();
482 addGroupBuilder.setBuckets(buckets);
484 VersionDatapathIdConvertorData data = new VersionDatapathIdConvertorData((short) 0X4);
485 data.setDatapathId(BigInteger.valueOf(1));
487 final GroupModInputBuilder outAddGroupInput = convert(addGroupBuilder.build(), data);
489 assertEquals(GroupModCommand.OFPGCADD, outAddGroupInput.getCommand());
490 assertEquals(GroupType.OFPGTALL, outAddGroupInput.getType());
492 assertEquals(10L, outAddGroupInput.getGroupId().getValue().longValue());
494 final List<Action> outActionList = outAddGroupInput.getBucketsList().get(0).getAction();
495 assertEquals(ImmutableList.of(new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203
496 .actions.grouping.ActionBuilder().setActionChoice(new GroupCaseBuilder().setGroupAction(
497 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action
498 .grouping.action.choice.group._case.GroupActionBuilder().setGroupId(5L).build())
500 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping
501 .ActionBuilder().setActionChoice(new GroupCaseBuilder().setGroupAction(
502 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203
503 .action.grouping.action.choice.group._case.GroupActionBuilder()
504 .setGroupId(6L).build()).build()).build()), outActionList);
506 final List<Action> outActionList1 = outAddGroupInput.getBucketsList().get(1).getAction();
507 assertEquals(ImmutableList.of(new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203
508 .actions.grouping.ActionBuilder().setActionChoice(new GroupCaseBuilder().setGroupAction(
509 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action
510 .grouping.action.choice.group._case.GroupActionBuilder().setGroupId(5L).build())
512 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping
513 .ActionBuilder().setActionChoice(new GroupCaseBuilder().setGroupAction(
514 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203
515 .action.grouping.action.choice.group._case.GroupActionBuilder()
516 .setGroupId(6L).build()).build()).build()), outActionList1);
519 private GroupModInputBuilder convert(final Group group, final VersionDatapathIdConvertorData data) {
520 final Optional<GroupModInputBuilder> outAddGroupInputOptional = convertorManager.convert(group, data);
521 assertTrue("Group convertor not found", outAddGroupInputOptional.isPresent());
522 return outAddGroupInputOptional.get();