X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflow-protocol-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fopenflowjava%2Fprotocol%2Fimpl%2Fdeserialization%2Ffactories%2FGetAsyncReplyMessageFactoryTest.java;h=0326720dac3c0b471bf4c60eb521e267b75f4823;hb=0d942e8fb70b2c21f97eea3ed8904336ab5c54a4;hp=92a38f6137dfef377a71c009245f0c68731f5fba;hpb=624a8bec99fd8233d69c6ac3b87a0aa8075bf530;p=openflowjava.git diff --git a/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/GetAsyncReplyMessageFactoryTest.java b/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/GetAsyncReplyMessageFactoryTest.java index 92a38f61..0326720d 100644 --- a/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/GetAsyncReplyMessageFactoryTest.java +++ b/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/GetAsyncReplyMessageFactoryTest.java @@ -1,109 +1,116 @@ -/* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */ -package org.opendaylight.openflowjava.protocol.impl.deserialization.factories; - -import io.netty.buffer.ByteBuf; - -import java.util.ArrayList; -import java.util.List; - -import org.junit.Assert; -import org.junit.Test; -import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.FlowRemovedReason; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PacketInReason; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortReason; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetAsyncOutput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.FlowRemovedMask; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.FlowRemovedMaskBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.PacketInMask; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.PacketInMaskBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.PortStatusMask; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.PortStatusMaskBuilder; - -/** - * @author timotej.kubas - * - */ -public class GetAsyncReplyMessageFactoryTest { - - - /** - * Testing {@link GetAsyncReplyMessageFactory} for correct translation into POJO - */ - @Test - public void testGetAsyncReplyMessage() { - ByteBuf bb = BufferHelper.buildBuffer("00 00 00 06 "+ - "00 00 00 05 "+ - "00 00 00 07 "+ - "00 00 00 00 "+ - "00 00 00 03 "+ - "00 00 00 0A"); - GetAsyncOutput builtByFactory = BufferHelper.decodeV13(GetAsyncReplyMessageFactory.getInstance(), bb); - - BufferHelper.checkHeaderV13(builtByFactory); - Assert.assertEquals("Wrong packetInMask",createPacketInMask(), - builtByFactory.getPacketInMask()); - Assert.assertEquals("Wrong portStatusMask",createPortStatusMask(), - builtByFactory.getPortStatusMask()); - Assert.assertEquals("Wrong flowRemovedMask",createFlowRemovedMask(), - builtByFactory.getFlowRemovedMask()); - } - - private static List createPacketInMask() { - List inMasks = new ArrayList<>(); - PacketInMaskBuilder maskBuilder; - // OFPCR_ROLE_EQUAL or OFPCR_ROLE_MASTER - maskBuilder = new PacketInMaskBuilder(); - List reasons = new ArrayList<>(); - reasons.add(PacketInReason.OFPRACTION); - reasons.add(PacketInReason.OFPRINVALIDTTL); - maskBuilder.setMask(reasons); - inMasks.add(maskBuilder.build()); - // OFPCR_ROLE_SLAVE - maskBuilder = new PacketInMaskBuilder(); - reasons = new ArrayList<>(); - reasons.add(PacketInReason.OFPRNOMATCH); - reasons.add(PacketInReason.OFPRINVALIDTTL); - maskBuilder.setMask(reasons); - inMasks.add(maskBuilder.build()); - return inMasks; - } - - private static List createPortStatusMask() { - List inMasks = new ArrayList<>(); - PortStatusMaskBuilder maskBuilder; - // OFPCR_ROLE_EQUAL or OFPCR_ROLE_MASTER - maskBuilder = new PortStatusMaskBuilder(); - List reasons = new ArrayList<>(); - reasons.add(PortReason.OFPPRADD); - reasons.add(PortReason.OFPPRDELETE); - reasons.add(PortReason.OFPPRMODIFY); - inMasks.add(maskBuilder.setMask(reasons).build()); - // OFPCR_ROLE_SLAVE - maskBuilder = new PortStatusMaskBuilder(); - reasons = new ArrayList<>(); - maskBuilder.setMask(reasons); - inMasks.add(maskBuilder.build()); - return inMasks; - } - - private static List createFlowRemovedMask() { - List inMasks = new ArrayList<>(); - FlowRemovedMaskBuilder maskBuilder; - // OFPCR_ROLE_EQUAL or OFPCR_ROLE_MASTER - maskBuilder = new FlowRemovedMaskBuilder(); - List reasons = new ArrayList<>(); - reasons.add(FlowRemovedReason.OFPRRIDLETIMEOUT); - reasons.add(FlowRemovedReason.OFPRRHARDTIMEOUT); - maskBuilder.setMask(reasons); - inMasks.add(maskBuilder.build()); - // OFPCR_ROLE_SLAVE - maskBuilder = new FlowRemovedMaskBuilder(); - reasons = new ArrayList<>(); - reasons.add(FlowRemovedReason.OFPRRHARDTIMEOUT); - reasons.add(FlowRemovedReason.OFPRRGROUPDELETE); - maskBuilder.setMask(reasons); - inMasks.add(maskBuilder.build()); - return inMasks; - } -} +/* + * Copyright (c) 2013 Pantheon Technologies s.r.o. 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.openflowjava.protocol.impl.deserialization.factories; + +import io.netty.buffer.ByteBuf; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; +import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.FlowRemovedReason; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PacketInReason; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortReason; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetAsyncOutput; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.FlowRemovedMask; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.FlowRemovedMaskBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.PacketInMask; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.PacketInMaskBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.PortStatusMask; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.async.body.grouping.PortStatusMaskBuilder; + +/** + * @author timotej.kubas + * + */ +public class GetAsyncReplyMessageFactoryTest { + + + /** + * Testing {@link GetAsyncReplyMessageFactory} for correct translation into POJO + */ + @Test + public void testGetAsyncReplyMessage() { + ByteBuf bb = BufferHelper.buildBuffer("00 00 00 06 "+ + "00 00 00 05 "+ + "00 00 00 07 "+ + "00 00 00 00 "+ + "00 00 00 03 "+ + "00 00 00 0A"); + GetAsyncOutput builtByFactory = BufferHelper.decodeV13(GetAsyncReplyMessageFactory.getInstance(), bb); + + BufferHelper.checkHeaderV13(builtByFactory); + Assert.assertEquals("Wrong packetInMask",createPacketInMask(), + builtByFactory.getPacketInMask()); + Assert.assertEquals("Wrong portStatusMask",createPortStatusMask(), + builtByFactory.getPortStatusMask()); + Assert.assertEquals("Wrong flowRemovedMask",createFlowRemovedMask(), + builtByFactory.getFlowRemovedMask()); + } + + private static List createPacketInMask() { + List inMasks = new ArrayList<>(); + PacketInMaskBuilder maskBuilder; + // OFPCR_ROLE_EQUAL or OFPCR_ROLE_MASTER + maskBuilder = new PacketInMaskBuilder(); + List reasons = new ArrayList<>(); + reasons.add(PacketInReason.OFPRACTION); + reasons.add(PacketInReason.OFPRINVALIDTTL); + maskBuilder.setMask(reasons); + inMasks.add(maskBuilder.build()); + // OFPCR_ROLE_SLAVE + maskBuilder = new PacketInMaskBuilder(); + reasons = new ArrayList<>(); + reasons.add(PacketInReason.OFPRNOMATCH); + reasons.add(PacketInReason.OFPRINVALIDTTL); + maskBuilder.setMask(reasons); + inMasks.add(maskBuilder.build()); + return inMasks; + } + + private static List createPortStatusMask() { + List inMasks = new ArrayList<>(); + PortStatusMaskBuilder maskBuilder; + // OFPCR_ROLE_EQUAL or OFPCR_ROLE_MASTER + maskBuilder = new PortStatusMaskBuilder(); + List reasons = new ArrayList<>(); + reasons.add(PortReason.OFPPRADD); + reasons.add(PortReason.OFPPRDELETE); + reasons.add(PortReason.OFPPRMODIFY); + inMasks.add(maskBuilder.setMask(reasons).build()); + // OFPCR_ROLE_SLAVE + maskBuilder = new PortStatusMaskBuilder(); + reasons = new ArrayList<>(); + maskBuilder.setMask(reasons); + inMasks.add(maskBuilder.build()); + return inMasks; + } + + private static List createFlowRemovedMask() { + List inMasks = new ArrayList<>(); + FlowRemovedMaskBuilder maskBuilder; + // OFPCR_ROLE_EQUAL or OFPCR_ROLE_MASTER + maskBuilder = new FlowRemovedMaskBuilder(); + List reasons = new ArrayList<>(); + reasons.add(FlowRemovedReason.OFPRRIDLETIMEOUT); + reasons.add(FlowRemovedReason.OFPRRHARDTIMEOUT); + maskBuilder.setMask(reasons); + inMasks.add(maskBuilder.build()); + // OFPCR_ROLE_SLAVE + maskBuilder = new FlowRemovedMaskBuilder(); + reasons = new ArrayList<>(); + reasons.add(FlowRemovedReason.OFPRRHARDTIMEOUT); + reasons.add(FlowRemovedReason.OFPRRGROUPDELETE); + maskBuilder.setMask(reasons); + inMasks.add(maskBuilder.build()); + return inMasks; + } +}