package org.opennaas.gui.vcpe.tests; import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.Set; import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator; import javax.validation.ValidatorFactory; import org.apache.log4j.Logger; import org.junit.BeforeClass; import org.junit.Test; import org.opennaas.gui.vcpe.entities.BGP; import org.opennaas.gui.vcpe.entities.Interface; import org.opennaas.gui.vcpe.entities.VRRP; /** * * @author Julio Carlos Barrera * */ public class VCPENetworkTest { private Logger log = Logger.getLogger(VCPENetworkTest.class); private static Validator validator; @BeforeClass public static void setUp() { ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); validator = factory.getValidator(); } @Test public void interfaceIsNotValid() { log.debug("Testing interfaceIsNotValid..."); Interface interface1 = new Interface(); interface1.setName(""); interface1.setPort(""); interface1.setIpAddress("193.1.190.133"); interface1.setVlan(5000); interface1.setType(null); interface1.setTemplateName(null); Set<ConstraintViolation<Interface>> constraintViolations = validator.validate(interface1); assertEquals(4, constraintViolations.size()); for (ConstraintViolation<Interface> constraintViolation : constraintViolations) { log.debug("Invalid param = '" + constraintViolation.getPropertyPath() + "', value = '" + constraintViolation.getInvalidValue() + "', error = " + constraintViolation.getMessage()); } log.debug("End testing interfaceIsNotValid."); } @Test public void interfaceIsValid() { log.debug("Testing interfaceIsValid..."); Interface interface1 = new Interface(); interface1.setName("ge-2/0/0"); interface1.setPort("12"); interface1.setIpAddress("193.1.190.133/30"); interface1.setVlan(12); interface1.setType(null); interface1.setTemplateName(null); Set<ConstraintViolation<Interface>> constraintViolations = validator.validate(interface1); // no validation errors assertEquals(0, constraintViolations.size()); log.debug("End testing interfaceIsValid."); } @Test public void vrrpIsNotValid() { log.debug("Testing vrrpIsNotValid..."); VRRP vrrp = new VRRP(); vrrp.setVirtualIPAddress("193.1.190.161/24"); Set<ConstraintViolation<VRRP>> constraintViolations = validator.validate(vrrp); assertEquals(1, constraintViolations.size()); for (ConstraintViolation<VRRP> constraintViolation : constraintViolations) { log.debug("Invalid param = '" + constraintViolation.getPropertyPath() + "', value = '" + constraintViolation.getInvalidValue() + "', error = " + constraintViolation.getMessage()); } log.debug("End testing vrrpIsNotValid."); } @Test public void vrrpIsValid() { log.debug("Testing vrrpIsValid..."); VRRP vrrp = new VRRP(); vrrp.setVirtualIPAddress("193.1.190.161"); vrrp.setGroup(100); vrrp.setPriorityMaster(200); vrrp.setPriorityBackup(100); Set<ConstraintViolation<VRRP>> constraintViolations = validator.validate(vrrp); // no validation errors assertEquals(0, constraintViolations.size()); log.debug("End testing vrrpIsValid."); } @Test public void bgpIsNotValid() { log.debug("Testing bgpIsNotValid..."); BGP bgp = new BGP(); bgp.setClientASNumber("-1"); bgp.setNocASNumber("4294967296"); ArrayList<String> clientPrefixes = new ArrayList<String>(); bgp.setClientPrefixes(clientPrefixes); Set<ConstraintViolation<BGP>> constraintViolations = validator.validate(bgp); assertEquals(3, constraintViolations.size()); for (ConstraintViolation<BGP> constraintViolation : constraintViolations) { log.debug("Invalid param = '" + constraintViolation.getPropertyPath() + "', value = '" + constraintViolation.getInvalidValue() + "', error = " + constraintViolation.getMessage()); } log.debug("End testing bgpIsNotValid."); } @Test public void bgpIsValid() { log.debug("Testing bgpIsValid..."); BGP bgp = new BGP(); bgp.setClientASNumber("65535"); bgp.setNocASNumber("4294967295"); ArrayList<String> clientPrefixes = new ArrayList<String>(); clientPrefixes.add("193.1.190.128/26"); bgp.setClientPrefixes(clientPrefixes); Set<ConstraintViolation<BGP>> constraintViolations = validator.validate(bgp); // no validation errors assertEquals(0, constraintViolations.size()); log.debug("End testing bgpIsValid."); } }