Moti Asayag has uploaded a new change for review. Change subject: core: Add test for mac address format ......................................................................
core: Add test for mac address format The patch adds a unit test to cover the used patterns list for verifying the correct format of a mac address. Change-Id: I74c6c310be787a1bea81f9d344d91e80f48cdc2b Signed-off-by: Moti Asayag <masa...@redhat.com> --- M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VmNic.java A backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/MacAddressPatternTest.java 2 files changed, 85 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/65/19865/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VmNic.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VmNic.java index b3b50d3..93f406a 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VmNic.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/network/VmNic.java @@ -22,7 +22,7 @@ protected static final String VALIDATION_MESSAGE_MAC_ADDRESS_NOT_NULL = "VALIDATION.VM.NETWORK.MAC.ADDRESS.NOT_NULL"; protected static final String VALIDATION_MESSAGE_NAME_NOT_NULL = "VALIDATION.VM.NETWORK.NAME.NOT_NULL"; - protected static final String VALIDATION_MESSAGE_MAC_ADDRESS_INVALID = "VALIDATION.VM.NETWORK.MAC.ADDRESS.INVALID"; + public static final String VALIDATION_MESSAGE_MAC_ADDRESS_INVALID = "VALIDATION.VM.NETWORK.MAC.ADDRESS.INVALID"; private Guid vmId; private Guid vnicProfileId; diff --git a/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/MacAddressPatternTest.java b/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/MacAddressPatternTest.java new file mode 100644 index 0000000..ec18bb2 --- /dev/null +++ b/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/MacAddressPatternTest.java @@ -0,0 +1,84 @@ +package org.ovirt.engine.core.common.utils; + +import static org.junit.Assert.assertEquals; + +import java.util.Arrays; +import java.util.Collection; +import java.util.Set; + +import javax.validation.ConstraintViolation; +import javax.validation.Validator; +import javax.validation.constraints.Pattern; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.ovirt.engine.core.common.businessentities.network.VmNic; +import org.ovirt.engine.core.common.validation.group.CreateEntity; +import org.ovirt.engine.core.common.validation.group.UpdateEntity; + +@RunWith(Parameterized.class) +public class MacAddressPatternTest { + + private final static Class<?>[] ALL_GROUPS = { CreateEntity.class, UpdateEntity.class }; + private final static Class<?>[] CREATE_GROUP = { CreateEntity.class }; + private final static Class<?>[] UPDATE_GROUP = { UpdateEntity.class }; + + private Validator validator; + private String address; + private boolean expectedResult; + private Class<?>[] groups; + + public MacAddressPatternTest(String address, Boolean expectedResult, Class<?>[] groups) { + this.address = address; + this.expectedResult = expectedResult; + this.groups = groups; + validator = ValidationUtils.getValidator(); + } + + @Test + public void checkIPAdress() { + Set<ConstraintViolation<MacAddress>> validate = + validator.validate(new MacAddress(address), groups); + assertEquals(expectedResult, validate.isEmpty()); + } + + @Parameterized.Parameters + public static Collection<Object[]> ipAddressParams() { + return Arrays.asList(new Object[][] { + { "aa:aa:aa:aa:aa:aa", true, ALL_GROUPS }, + { "AA:AA:AA:AA:AA:AA", true, ALL_GROUPS }, + { "ff:ff:ff:ff:ff:ff", false, ALL_GROUPS }, + { "FF:FF:FF:FF:FF:FF", false, ALL_GROUPS }, + { "02:00:00:00:00:00", true, ALL_GROUPS }, + { "", true, CREATE_GROUP }, + { "", false, UPDATE_GROUP }, + { "00:00:00:00:00:00", false, ALL_GROUPS }, + { "100:00:00:00:00:00", false, ALL_GROUPS }, + { "00:00:00:00:00:001", false, ALL_GROUPS }, + { "01:00:00:00:00:00", false, ALL_GROUPS }, + { "02:00:00:00:XX:XX", false, ALL_GROUPS }, + }); + } + + private class MacAddress { + + @Pattern.List({ + @Pattern(regexp = "(^$)|(" + VmNic.UNICAST_MAC_ADDRESS_FORMAT + ")", + message = VmNic.VALIDATION_MESSAGE_MAC_ADDRESS_INVALID, + groups = { CreateEntity.class }), + @Pattern(regexp = VmNic.UNICAST_MAC_ADDRESS_FORMAT, + message = VmNic.VALIDATION_MESSAGE_MAC_ADDRESS_INVALID, + groups = { UpdateEntity.class }), + @Pattern(regexp = VmNic.NON_NULLABLE_MAC_ADDRESS_FORMAT, + message = VmNic.VALIDATION_MESSAGE_MAC_ADDRESS_INVALID, + groups = { CreateEntity.class, UpdateEntity.class }) + }) + private String address; + + public MacAddress(String address) { + this.address = address; + } + } + +} -- To view, visit http://gerrit.ovirt.org/19865 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I74c6c310be787a1bea81f9d344d91e80f48cdc2b Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Moti Asayag <masa...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches