/* * Copyright (c) 2017 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.openflowplugin.impl.util; import static org.junit.Assert.assertEquals; import org.junit.Test; import org.opendaylight.openflowplugin.api.OFConstants; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DottedQuad; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.opendaylight.ipv6.arbitrary.bitmask.fields.rev160224.Ipv6ArbitraryMask; public class AddressNormalizationUtilTest { @Test public void normalizeProtocolAgnosticPortOF10() throws Exception { final Uri left = new Uri("openflow:1:INPORT"); final Uri right = new Uri("INPORT"); assertEquals( right, AddressNormalizationUtil.normalizeProtocolAgnosticPort(left, OFConstants.OFP_VERSION_1_0) ); } @Test public void normalizeProtocolAgnosticPortOF13() throws Exception { final Uri left = new Uri("openflow:1:ANY"); final Uri right = new Uri("ANY"); assertEquals( right, AddressNormalizationUtil.normalizeProtocolAgnosticPort(left, OFConstants.OFP_VERSION_1_3) ); } @Test public void normalizeIpv6Prefix() throws Exception { final Ipv6Prefix left = new Ipv6Prefix("1E3D:5678:9ABC::/24"); final Ipv6Prefix right = new Ipv6Prefix("1e3d:5600:0:0:0:0:0:0/24"); assertEquals( right, AddressNormalizationUtil.normalizeIpv6Prefix(left) ); } @Test public void normalizeIpv6Arbitrary() throws Exception { final Ipv6Address leftAddress = new Ipv6Address("1E3D:5678:9ABC::"); final Ipv6ArbitraryMask leftMask = new Ipv6ArbitraryMask("FFFF:FF00::"); final Ipv6Prefix right = new Ipv6Prefix("1e3d:5600:0:0:0:0:0:0/24"); assertEquals( right, AddressNormalizationUtil.normalizeIpv6Arbitrary(leftAddress, leftMask) ); } @Test public void normalizeIpv6AddressWithoutMask() throws Exception { final Ipv6Address left = new Ipv6Address("1E3D:5678:9ABC::"); final Ipv6Address right = new Ipv6Address("1e3d:5678:9abc:0:0:0:0:0"); assertEquals( right, AddressNormalizationUtil.normalizeIpv6AddressWithoutMask(left) ); } @Test public void normalizeIpv4Prefix() throws Exception { final Ipv4Prefix left = new Ipv4Prefix("192.168.72.1/16"); final Ipv4Prefix right = new Ipv4Prefix("192.168.0.0/16"); assertEquals( right, AddressNormalizationUtil.normalizeIpv4Prefix(left) ); } @Test public void normalizeIpv4Arbitrary() throws Exception { final Ipv4Address leftAddress = new Ipv4Address("192.168.72.1"); final DottedQuad leftMask = new DottedQuad("255.255.0.0"); final Ipv4Prefix right = new Ipv4Prefix("192.168.0.0/16"); assertEquals( right, AddressNormalizationUtil.normalizeIpv4Arbitrary(leftAddress, leftMask) ); } @Test public void normalizeMacAddress() throws Exception { final MacAddress left = new MacAddress("01:23:45:AB:CD:EF"); final MacAddress right = new MacAddress("01:23:45:ab:cd:ef"); assertEquals( right, AddressNormalizationUtil.normalizeMacAddress(left) ); } @Test public void normalizeMacAddressMask() throws Exception { final MacAddress left = new MacAddress("FF:FF:FF:FF:FF:FF"); final MacAddress right = null; assertEquals( right, AddressNormalizationUtil.normalizeMacAddressMask(left) ); } }