/** * Abiquo community edition * cloud management application for hybrid clouds * Copyright (C) 2008-2010 - Abiquo Holdings S.L. * * This application is free software; you can redistribute it and/or * modify it under the terms of the GNU LESSER GENERAL PUBLIC * LICENSE as published by the Free Software Foundation under * version 3 of the License * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * LESSER GENERAL PUBLIC LICENSE v.3 for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ package com.abiquo.model.util; import static com.abiquo.testng.TestConfig.BASIC_UNIT_TESTS; import org.testng.Assert; import org.testng.annotations.Test; /** * Unit tests for the Addressing validation. * * @author ibarrera */ @Test(groups = BASIC_UNIT_TESTS) public class AddressingValidationTest { @Test public void testAddressingIP() throws Exception { // Valid IPs Assert.assertTrue(AddressingUtils.isValidIP("0.0.0.0")); Assert.assertTrue(AddressingUtils.isValidIP("255.255.255.255")); Assert.assertTrue(AddressingUtils.isValidIP("10.60.1.0")); Assert.assertTrue(AddressingUtils.isValidIP("83.15.161.97")); // Invalid IPs Assert.assertFalse(AddressingUtils.isValidIP("")); Assert.assertFalse(AddressingUtils.isValidIP("0.0.0")); Assert.assertFalse(AddressingUtils.isValidIP("0.0.256.0")); Assert.assertFalse(AddressingUtils.isValidIP("a.b.c.d")); Assert.assertFalse(AddressingUtils.isValidIP("invalid.ip")); Assert.assertFalse(AddressingUtils.isValidIP("-1.10.60.15")); Assert.assertFalse(AddressingUtils.isValidIP(".23.16.56")); Assert.assertFalse(AddressingUtils.isValidIP("10.23..56")); } @Test public void testAddressingPort() throws Exception { // Valid Ports Assert.assertTrue(AddressingUtils.isValidPort("1")); Assert.assertTrue(AddressingUtils.isValidPort("10")); Assert.assertTrue(AddressingUtils.isValidPort("7777")); Assert.assertTrue(AddressingUtils.isValidPort("65535")); // Invalid Ports Assert.assertFalse(AddressingUtils.isValidPort("0")); Assert.assertFalse(AddressingUtils.isValidPort("00000")); Assert.assertFalse(AddressingUtils.isValidPort("65536")); Assert.assertFalse(AddressingUtils.isValidPort("123456")); Assert.assertFalse(AddressingUtils.isValidPort("-1")); Assert.assertFalse(AddressingUtils.isValidPort("abc")); } @Test public void testAddressingPortal() throws Exception { // Valid Portals Assert.assertTrue(AddressingUtils.isValidPortal("10.60.1.0:3260")); Assert.assertTrue(AddressingUtils.isValidPortal("83.15.161.97:65535")); // Invalid Portals Assert.assertFalse(AddressingUtils.isValidPortal("83.15.161.97")); Assert.assertFalse(AddressingUtils.isValidPortal("83.15.161.97:")); Assert.assertFalse(AddressingUtils.isValidPortal("83.15.161.97:0")); Assert.assertFalse(AddressingUtils.isValidPortal("83.15.161.97:-1")); Assert.assertFalse(AddressingUtils.isValidPortal("83.15.161.97:65536")); } @Test public void testAddressingIQN() throws Exception { // Valid IQNs Assert.assertTrue(AddressingUtils.isValidIQN("iqn.2001-04.com.acme")); Assert.assertTrue(AddressingUtils.isValidIQN("iqn.1992-08.com.netapp:sn.99929383")); Assert.assertTrue(AddressingUtils.isValidIQN("iqn.2001-04.com.acme:storage.tape.sys1.xyz")); Assert.assertTrue(AddressingUtils.isValidIQN("iqn.1993-08.org.debian:01:d7c03b8ec50")); Assert.assertTrue(AddressingUtils .isValidIQN("iqn.1986-03.com.sun:02:c62066ca-870c-6bf5-f419-b38a24940468")); // Invalid IQNs Assert.assertFalse(AddressingUtils.isValidIQN("")); Assert.assertFalse(AddressingUtils.isValidIQN("iqn.2001-04.com.acme:")); Assert.assertFalse(AddressingUtils.isValidIQN("iqn.1993-08.:01:d7c03b8ec50")); Assert.assertFalse(AddressingUtils.isValidIQN("iqn-1986-03.com.sun:02:c62066ca-870c")); Assert.assertFalse(AddressingUtils.isValidIQN("iqn-1986-03.com.sun:02::::c62066ca-870c")); } @Test public void testAddressingPath() throws Exception { // Valid Paths checkValidPath("ip-10.60.1.26:3260-iscsi-iqn.1986-03.com.sun:02:bc3833ad-f8d1-4fcd-ce84-f450c40f166c-lun-0"); checkValidPath("ip-10.60.1.26:3260-iscsi-iqn.1986-03.com.sun:02:bc3833ad-f8d1-4fcd-ce84-f450c40f166c-lun-0-part4"); checkValidPath("ip-10.60.1.26:3260-iscsi-iqn.2001-04.com.acme-lun-27"); checkValidPath("ip-10.60.1.26:3260-iscsi-iqn.2001-04.com.acme-lun-27-part512"); // Invalid Paths checkInvalidPath("ip-10.60.1.26:3260-iscsi-iqn.1986-03.com.sun:02:bc3833ad-f8d1-4fcd-ce84-f450c40f166c-lun-"); checkInvalidPath("ip-10.60.1.26:3260-iscsi-iqn.1986-03.com.sun:02:bc3833ad-f8d1-4fcd-ce84-f450c40f166c-lun--1"); checkInvalidPath("ip-10.60.1.26:3260-iscsi-iqn.1986-03.com.sun:02:bc3833ad-f8d1-4fcd-ce84-f450c40f166c-lun-a"); checkInvalidPath("ip-10.60.1.26:3260-iscsi-iqn.1986-03.com.sun:02:bc3833ad-f8d1-4fcd-ce84-f450c40f166c-lun-0-part"); checkInvalidPath("ip-10.60.1.26:3260-iscsi-iqn.1986-03.com.sun:02:bc3833ad-f8d1-4fcd-ce84-f450c40f166c-lun-0-pat4"); checkInvalidPath("ip-10.60.1.26:3260-iqn.2001-04.com.acme-lun-27"); checkInvalidPath("ip-10.60.1.26-iscsi-iqn.2001-04.com.acme-lun-27"); checkInvalidPath("ip-10.60.1.26:-iscsi-iqn.2001-04.com.acme-lun-27"); } @Test public void testAddressingDeviceId() throws Exception { // Valid Device IDs Assert.assertTrue(AddressingUtils.isValidDeviceId("00000000000000000000000000000000")); Assert.assertTrue(AddressingUtils.isValidDeviceId("600144f03fe8460000004c7e14e50016")); Assert.assertTrue(AddressingUtils.isValidDeviceId("99999999999999999999999999999999")); // Invalid Device IDs Assert.assertFalse(AddressingUtils .isValidDeviceId("scsi-3600144f03fe8460000004c7e14e50016")); Assert.assertFalse(AddressingUtils .isValidDeviceId("scsi-3600144f03fe8460000004c7e14e50016-part4")); Assert.assertFalse(AddressingUtils.isValidDeviceId("600144f03fe8460000004c7e14e5001")); Assert.assertFalse(AddressingUtils.isValidDeviceId("600144f03fe8460000004c7e14e500161")); } private void checkValidPath(final String path) throws Exception { Assert.assertTrue(AddressingUtils.isValidPath(path)); } private void checkInvalidPath(final String path) throws Exception { Assert.assertFalse(AddressingUtils.isValidPath(path)); } }