diff options
Diffstat (limited to 'framework/src/onos/core/common/src/test/java/org/onosproject/codec/impl/CriterionCodecTest.java')
-rw-r--r-- | framework/src/onos/core/common/src/test/java/org/onosproject/codec/impl/CriterionCodecTest.java | 463 |
1 files changed, 0 insertions, 463 deletions
diff --git a/framework/src/onos/core/common/src/test/java/org/onosproject/codec/impl/CriterionCodecTest.java b/framework/src/onos/core/common/src/test/java/org/onosproject/codec/impl/CriterionCodecTest.java deleted file mode 100644 index 86374f81..00000000 --- a/framework/src/onos/core/common/src/test/java/org/onosproject/codec/impl/CriterionCodecTest.java +++ /dev/null @@ -1,463 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.codec.impl; - -import java.util.EnumMap; - -import org.junit.Before; -import org.junit.Test; -import org.onlab.packet.Ip6Address; -import org.onlab.packet.IpPrefix; -import org.onlab.packet.MacAddress; -import org.onlab.packet.MplsLabel; -import org.onlab.packet.TpPort; -import org.onlab.packet.VlanId; -import org.onosproject.codec.CodecContext; -import org.onosproject.codec.JsonCodec; -import org.onosproject.net.ChannelSpacing; -import org.onosproject.net.GridType; -import org.onosproject.net.Lambda; -import org.onosproject.net.OchSignalType; -import org.onosproject.net.OduSignalId; -import org.onosproject.net.OduSignalType; -import org.onosproject.net.PortNumber; -import org.onosproject.net.flow.criteria.Criteria; -import org.onosproject.net.flow.criteria.Criterion; - -import com.fasterxml.jackson.databind.node.ObjectNode; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.TestUtils.getField; -import static org.onosproject.codec.impl.CriterionJsonMatcher.matchesCriterion; - -/** - * Unit tests for criterion codec. - */ -public class CriterionCodecTest { - - CodecContext context; - JsonCodec<Criterion> criterionCodec; - final PortNumber port = PortNumber.portNumber(1); - final IpPrefix ipPrefix4 = IpPrefix.valueOf("10.1.1.0/24"); - final IpPrefix ipPrefix6 = IpPrefix.valueOf("fe80::/64"); - final MacAddress mac1 = MacAddress.valueOf("00:00:11:00:00:01"); - final TpPort tpPort = TpPort.tpPort(40000); - final int tributaryPortNumber = 11; - final int tributarySlotLen = 80; - final byte[] tributarySlotBitmap = new byte[] {1, 2, 3, 4, 2, 3, 4, 2, 3, 4}; - - - /** - * Sets up for each test. Creates a context and fetches the criterion - * codec. - */ - @Before - public void setUp() { - context = new MockCodecContext(); - criterionCodec = context.codec(Criterion.class); - assertThat(criterionCodec, notNullValue()); - } - - - /** - * Checks that all criterion types are covered by the codec. - */ - @Test - public void checkCriterionTypes() throws Exception { - EncodeCriterionCodecHelper encoder = new EncodeCriterionCodecHelper( - Criteria.dummy(), context); - EnumMap<Criterion.Type, Object> formatMap = - getField(encoder, "formatMap"); - assertThat(formatMap, notNullValue()); - - for (Criterion.Type type : Criterion.Type.values()) { - assertThat("Entry not found for " + type.toString(), - formatMap.get(type), notNullValue()); - } - } - - /** - * Tests in port criterion. - */ - @Test - public void matchInPortTest() { - Criterion criterion = Criteria.matchInPort(port); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests in physical port criterion. - */ - @Test - public void matchInPhyPortTest() { - Criterion criterion = Criteria.matchInPhyPort(port); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests metadata criterion. - */ - @Test - public void matchMetadataTest() { - Criterion criterion = Criteria.matchMetadata(0xabcdL); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests ethernet destination criterion. - */ - @Test - public void matchEthDstTest() { - Criterion criterion = Criteria.matchEthDst(mac1); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests ethernet source criterion. - */ - @Test - public void matchEthSrcTest() { - Criterion criterion = Criteria.matchEthSrc(mac1); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests ethernet type criterion. - */ - @Test - public void matchEthTypeTest() { - Criterion criterion = Criteria.matchEthType((short) 0x8844); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests VLAN Id criterion. - */ - @Test - public void matchVlanIdTest() { - Criterion criterion = Criteria.matchVlanId(VlanId.ANY); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests VLAN PCP criterion. - */ - @Test - public void matchVlanPcpTest() { - Criterion criterion = Criteria.matchVlanPcp((byte) 7); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests IP DSCP criterion. - */ - @Test - public void matchIPDscpTest() { - Criterion criterion = Criteria.matchIPDscp((byte) 63); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests IP ECN criterion. - */ - @Test - public void matchIPEcnTest() { - Criterion criterion = Criteria.matchIPEcn((byte) 3); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests IP protocol criterion. - */ - @Test - public void matchIPProtocolTest() { - Criterion criterion = Criteria.matchIPProtocol((byte) 250); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests IP source criterion. - */ - @Test - public void matchIPSrcTest() { - Criterion criterion = Criteria.matchIPSrc(ipPrefix4); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests IP destination criterion. - */ - @Test - public void matchIPDstTest() { - Criterion criterion = Criteria.matchIPDst(ipPrefix4); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests source TCP port criterion. - */ - @Test - public void matchTcpSrcTest() { - Criterion criterion = Criteria.matchTcpSrc(tpPort); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests destination TCP port criterion. - */ - @Test - public void matchTcpDstTest() { - Criterion criterion = Criteria.matchTcpDst(tpPort); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests source UDP port criterion. - */ - @Test - public void matchUdpSrcTest() { - Criterion criterion = Criteria.matchUdpSrc(tpPort); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests destination UDP criterion. - */ - @Test - public void matchUdpDstTest() { - Criterion criterion = Criteria.matchUdpDst(tpPort); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests source SCTP criterion. - */ - @Test - public void matchSctpSrcTest() { - Criterion criterion = Criteria.matchSctpSrc(tpPort); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests destination SCTP criterion. - */ - @Test - public void matchSctpDstTest() { - Criterion criterion = Criteria.matchSctpDst(tpPort); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests ICMP type criterion. - */ - @Test - public void matchIcmpTypeTest() { - Criterion criterion = Criteria.matchIcmpType((byte) 250); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests ICMP code criterion. - */ - @Test - public void matchIcmpCodeTest() { - Criterion criterion = Criteria.matchIcmpCode((byte) 250); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests IPv6 source criterion. - */ - @Test - public void matchIPv6SrcTest() { - Criterion criterion = Criteria.matchIPv6Src(ipPrefix6); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests IPv6 destination criterion. - */ - @Test - public void matchIPv6DstTest() { - Criterion criterion = Criteria.matchIPv6Dst(ipPrefix6); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests IPv6 flow label criterion. - */ - @Test - public void matchIPv6FlowLabelTest() { - Criterion criterion = Criteria.matchIPv6FlowLabel(0xffffe); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests ICMP v6 type criterion. - */ - @Test - public void matchIcmpv6TypeTest() { - Criterion criterion = Criteria.matchIcmpv6Type((byte) 250); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests ICMP v6 code criterion. - */ - @Test - public void matchIcmpv6CodeTest() { - Criterion criterion = Criteria.matchIcmpv6Code((byte) 250); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests IPV6 target address criterion. - */ - @Test - public void matchIPv6NDTargetAddressTest() { - Criterion criterion = - Criteria.matchIPv6NDTargetAddress( - Ip6Address.valueOf("1111:2222::")); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests IPV6 SLL criterion. - */ - @Test - public void matchIPv6NDSourceLinkLayerAddressTest() { - Criterion criterion = Criteria.matchIPv6NDSourceLinkLayerAddress(mac1); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests IPV6 TLL criterion. - */ - @Test - public void matchIPv6NDTargetLinkLayerAddressTest() { - Criterion criterion = Criteria.matchIPv6NDTargetLinkLayerAddress(mac1); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests MPLS label criterion. - */ - @Test - public void matchMplsLabelTest() { - Criterion criterion = Criteria.matchMplsLabel(MplsLabel.mplsLabel(0xffffe)); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests IPv6 Extension Header pseudo-field flags criterion. - */ - @Test - public void matchIPv6ExthdrFlagsTest() { - int exthdrFlags = - Criterion.IPv6ExthdrFlags.NONEXT.getValue() | - Criterion.IPv6ExthdrFlags.ESP.getValue() | - Criterion.IPv6ExthdrFlags.AUTH.getValue() | - Criterion.IPv6ExthdrFlags.DEST.getValue() | - Criterion.IPv6ExthdrFlags.FRAG.getValue() | - Criterion.IPv6ExthdrFlags.ROUTER.getValue() | - Criterion.IPv6ExthdrFlags.HOP.getValue() | - Criterion.IPv6ExthdrFlags.UNREP.getValue() | - Criterion.IPv6ExthdrFlags.UNSEQ.getValue(); - Criterion criterion = Criteria.matchIPv6ExthdrFlags(exthdrFlags); - ObjectNode result = criterionCodec.encode(criterion, context); - - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests lambda criterion. - */ - @Test - public void matchOchSignal() { - Lambda ochSignal = Lambda.ochSignal(GridType.DWDM, ChannelSpacing.CHL_100GHZ, 4, 8); - Criterion criterion = Criteria.matchLambda(ochSignal); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests Och signal type criterion. - */ - @Test - public void matchOchSignalTypeTest() { - Criterion criterion = Criteria.matchOchSignalType(OchSignalType.FIXED_GRID); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests Odu Signal ID criterion. - */ - @Test - public void matchOduSignalIdTest() { - - OduSignalId oduSignalId = OduSignalId.oduSignalId(tributaryPortNumber, tributarySlotLen, tributarySlotBitmap); - - Criterion criterion = Criteria.matchOduSignalId(oduSignalId); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - - /** - * Tests Odu Signal Type criterion. - */ - @Test - public void matchOduSignalTypeTest() { - - OduSignalType signalType = OduSignalType.ODU2; - - Criterion criterion = Criteria.matchOduSignalType(signalType); - ObjectNode result = criterionCodec.encode(criterion, context); - assertThat(result, matchesCriterion(criterion)); - } - -} |