/* * Copyright 2016-present 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.isis.io.util; import com.google.common.primitives.Bytes; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.onlab.packet.Ip4Address; import org.onosproject.isis.controller.IsisPduType; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; import static org.junit.Assert.assertThat; /** * Unit test class for IsisUtil. */ public class IsisUtilTest { private final String systemId = "2929.2929.2929"; private final String lanId = "2929.2929.2929.01"; private final String areaAddres = "490001"; private final byte[] l1Lsp = { -125, 27, 1, 0, 18, 1, 0, 0, 0, 86, 4, -81, 34, 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, 9, 99, 11, 1, 1, 4, 3, 73, 0, 10, -127, 1, -52, -119, 2, 82, 50, -124, 4, -64, -88, 10, 1, -128, 24, 10, -128, -128, -128, 10, 0, 10, 0, -1, -1, -1, -4, 10, -128, -128, -128, -64, -88, 10, 0, -1, -1, -1, 0, 2, 12, 0, 10, -128, -128, -128, 51, 51, 51, 51, 51, 51, 2 }; private final byte[] intger = {0, 0, 0, 1}; private Ip4Address ip4Address1 = Ip4Address.valueOf("10.10.10.10"); private Ip4Address ip4Address2 = Ip4Address.valueOf("10.10.10.11"); private Ip4Address mask = Ip4Address.valueOf("255.255.255.0"); private boolean result; private String result1; private byte[] result2; private int result3; private long result4; private byte[] prefixBytes = {0, 0, 0, 1}; private String prefix = "192.16.17"; @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } /** * Tests sameNetwork() method. */ @Test public void testSameNetwork() throws Exception { result = IsisUtil.sameNetwork(ip4Address1, ip4Address2, mask.toOctets()); assertThat(result, is(true)); } /** * Tests systemId() method. */ @Test public void testSystemId() throws Exception { result1 = IsisUtil.systemId(Bytes.toArray( IsisUtil.sourceAndLanIdToBytes(systemId))); assertThat(result1, is(systemId)); } /** * Tests systemIdPlus() method. */ @Test public void testSystemIdPlus() throws Exception { result1 = IsisUtil.systemIdPlus(Bytes.toArray( IsisUtil.sourceAndLanIdToBytes(lanId))); assertThat(result1, is(lanId)); } /** * Tests areaAddres() method. */ @Test public void testAreaAddres() throws Exception { result1 = IsisUtil.areaAddres(Bytes.toArray( IsisUtil.areaAddressToBytes(areaAddres))); assertThat(result1, is(areaAddres)); } /** * Tests areaAddressToBytes() method. */ @Test public void testAreaAddressToBytes() throws Exception { result2 = Bytes.toArray(IsisUtil.areaAddressToBytes(areaAddres)); assertThat(result2, is(notNullValue())); } /** * Tests getPduHeaderLength() method. */ @Test public void testGetPduHeaderLength() throws Exception { result3 = IsisUtil.getPduHeaderLength(IsisPduType.L1CSNP.value()); assertThat(result3, is(33)); result3 = IsisUtil.getPduHeaderLength(IsisPduType.L1PSNP.value()); assertThat(result3, is(17)); result3 = IsisUtil.getPduHeaderLength(IsisPduType.L1HELLOPDU.value()); assertThat(result3, is(27)); result3 = IsisUtil.getPduHeaderLength(IsisPduType.P2PHELLOPDU.value()); assertThat(result3, is(20)); } /** * Tests addLengthAndMarkItInReserved() method. */ @Test public void testAddLengthAndMarkItInReserved() throws Exception { result2 = IsisUtil.addLengthAndMarkItInReserved(l1Lsp, IsisConstants.LENGTHPOSITION, IsisConstants.LENGTHPOSITION + 1, IsisConstants.RESERVEDPOSITION); assertThat(result2, is(notNullValue())); } /** * Tests addChecksum() method. */ @Test public void testAddChecksum() throws Exception { result2 = IsisUtil.addChecksum(l1Lsp, IsisConstants.CHECKSUMPOSITION, IsisConstants.CHECKSUMPOSITION + 1); assertThat(result2, is(notNullValue())); } /** * Tests framePacket() method. */ @Test public void testFramePacket() throws Exception { result2 = IsisUtil.framePacket(l1Lsp, 2); assertThat(result2, is(notNullValue())); } /** * Tests sourceAndLanIdToBytes() method. */ @Test public void testSourceAndLanIdToBytes() throws Exception { result2 = Bytes.toArray(IsisUtil.sourceAndLanIdToBytes(lanId)); assertThat(result2, is(notNullValue())); } /** * Tests getPaddingTlvs() method. */ @Test public void testGetPaddingTlvs() throws Exception { result2 = IsisUtil.getPaddingTlvs(250); assertThat(result2, is(notNullValue())); } /** * Tests convertToTwoBytes() method. */ @Test public void testConvertToTwoBytes() throws Exception { result2 = IsisUtil.convertToTwoBytes(250); assertThat(result2.length, is(2)); } /** * Tests convertToFourBytes() method. */ @Test public void testConvertToFourBytes() throws Exception { result2 = IsisUtil.convertToFourBytes(250); assertThat(result2.length, is(4)); } /** * Tests byteToInteger() method. */ @Test public void testByteToInteger() throws Exception { result3 = IsisUtil.byteToInteger(intger); assertThat(result3, is(1)); } /** * Tests byteToInteger() method. */ @Test public void testByteToLong() throws Exception { result4 = IsisUtil.byteToLong(intger); assertThat(result4, is(1L)); } /** * Tests convertToFourBytes() method. */ @Test public void testConvertToFourBytes1() throws Exception { result2 = IsisUtil.convertToFourBytes(250L); assertThat(result2.length, is(4)); } /** * Tests toFourBitBinary() method. */ @Test public void testToEightBitBinary() throws Exception { result1 = IsisUtil.toEightBitBinary("01"); assertThat(result1.length(), is(8)); } /** * Tests toFourBitBinary() method. */ @Test public void testToFourBitBinary() throws Exception { result1 = IsisUtil.toFourBitBinary("01"); assertThat(result1.length(), is(4)); } /** * Tests convertToThreeBytes() method. */ @Test public void testConvertToThreeBytes() throws Exception { result2 = IsisUtil.convertToThreeBytes(30); assertThat(result2.length, is(3)); } /** * Tests prefixConversion() method. */ @Test public void testPrefixConversion() throws Exception { result1 = IsisUtil.prefixConversion(prefixBytes); assertThat(result1, is(notNullValue())); } /** * Tests prefixToBytes() method. */ @Test public void testPrefixToBytes() throws Exception { result2 = IsisUtil.prefixToBytes(prefix); assertThat(result2, is(notNullValue())); } }