Arik Hadas has uploaded a new change for review.

Change subject: core: test negative flows for pattern-based name
......................................................................

core: test negative flows for pattern-based name

Validate pattern-based names are not supported for VMs and Templates.

In addition, additional test was added to AddVmPoolWithVmsCommandTest
to validate that the validations pass when the pool's name is not
pattern-based as well.

Change-Id: I893a117a8eaa6abcb9d15abf599eb31426baab35
Bug-Url: https://bugzilla.redhat.com/1078875
Signed-off-by: Arik Hadas <aha...@redhat.com>
---
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmCommandTest.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmPoolWithVmsCommandTest.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmTemplateCommandTest.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVmCommandTest.java
4 files changed, 49 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/25/26625/1

diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmCommandTest.java
index 9b95202..08fc849 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmCommandTest.java
@@ -523,6 +523,7 @@
         mcr.mockConfigValue(ConfigValues.UserDefinedVMProperties, 
Version.v3_0, "");
         mcr.mockConfigValue(ConfigValues.InitStorageSparseSizeInGB, 1);
         mcr.mockConfigValue(ConfigValues.VirtIoScsiEnabled, Version.v3_3, 
true);
+        mcr.mockConfigValue(ConfigValues.ValidNumOfMonitors, 
Arrays.asList("1,2,4".split(",")));
     }
 
     private void mockConfigSizeRequirements(int requiredSpaceBufferInGB) {
@@ -588,4 +589,16 @@
         
doReturn(false).when(spy).isVirtioScsiControllerAttached(any(Guid.class));
         spy.setVmTemplateId(Guid.newGuid());
     }
+
+    @Test
+    public void testBeanValidations() {
+        assertTrue(createCommand(initializeMock(1, 1)).validateInputs());
+    }
+
+    @Test
+    public void testPatternBasedNameFails() {
+        AddVmCommand<VmManagementParametersBase> cmd = 
createCommand(initializeMock(1, 1));
+        cmd.getParameters().getVm().setName("aa-??bb");
+        assertFalse("Pattern-based name should not be supported for VM", 
cmd.validateInputs());
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmPoolWithVmsCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmPoolWithVmsCommandTest.java
index 624ba85..e42e402 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmPoolWithVmsCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmPoolWithVmsCommandTest.java
@@ -60,4 +60,9 @@
         command.getParameters().getVmPool().setName(patternBaseName);
         assertTrue(command.validateInputs());
     }
+
+    @Test
+    public void validateBeanValidations() {
+        assertTrue(command.validateInputs());
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmTemplateCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmTemplateCommandTest.java
index 4f46d2f..76aefb6 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmTemplateCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddVmTemplateCommandTest.java
@@ -1,5 +1,7 @@
 package org.ovirt.engine.core.bll;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
@@ -104,4 +106,15 @@
 
         CanDoActionTestUtils.runAndAssertCanDoActionFailure(cmd, 
VdcBllMessages.VMT_CANNOT_CREATE_TEMPLATE_FROM_DOWN_VM);
     }
+
+    @Test
+    public void testBeanValidations() {
+        assertTrue(cmd.validateInputs());
+    }
+
+    @Test
+    public void testPatternBasedNameFails() {
+        cmd.getParameters().setName("aa-??bb");
+        assertFalse("Pattern-based name should not be supported for Template", 
cmd.validateInputs());
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVmCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVmCommandTest.java
index 5da8d7a..6132ea1 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVmCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVmCommandTest.java
@@ -25,10 +25,10 @@
 import org.mockito.runners.MockitoJUnitRunner;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VmManagementParametersBase;
+import org.ovirt.engine.core.common.businessentities.ArchitectureType;
 import org.ovirt.engine.core.common.businessentities.Disk;
 import org.ovirt.engine.core.common.businessentities.DiskImage;
 import org.ovirt.engine.core.common.businessentities.DiskInterface;
-import org.ovirt.engine.core.common.businessentities.ArchitectureType;
 import org.ovirt.engine.core.common.businessentities.DisplayType;
 import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum;
 import org.ovirt.engine.core.common.businessentities.VDS;
@@ -61,6 +61,8 @@
     private UpdateVmCommand<VmManagementParametersBase> command;
     private VDSGroup group;
 
+    private static String vncKeyboardLayoutValues =
+            
"ar,da,de,de-ch,en-gb,en-us,es,et,fi,fo,fr,fr-be,fr-ca,fr-ch,hr,hu,is,it,ja,lt,lv,mk,nl,nl-be,no,pl,pt,pt-br,ru,sl,sv,th,tr";
     @Mock
     private VmDAO vmDAO;
     @Mock
@@ -85,7 +87,6 @@
             mockConfig(ConfigValues.UserDefinedVMProperties, "3.1", ""),
             mockConfig(ConfigValues.PredefinedVMProperties, "3.0", ""),
             mockConfig(ConfigValues.UserDefinedVMProperties, "3.0", ""),
-            mockConfig(ConfigValues.ValidNumOfMonitors, "1,2,4"),
             mockConfig(ConfigValues.VmPriorityMaxValue, 100),
             mockConfig(ConfigValues.MaxNumOfVmCpus, "3.0", 16),
             mockConfig(ConfigValues.MaxNumOfVmSockets, "3.0", 16),
@@ -93,7 +94,9 @@
             mockConfig(ConfigValues.MaxNumOfVmCpus, "3.3", 16),
             mockConfig(ConfigValues.MaxNumOfVmSockets, "3.3", 16),
             mockConfig(ConfigValues.MaxNumOfCpuPerSocket, "3.3", 16),
-            mockConfig(ConfigValues.VirtIoScsiEnabled, 
Version.v3_3.toString(), true)
+            mockConfig(ConfigValues.VirtIoScsiEnabled, 
Version.v3_3.toString(), true),
+            mockConfig(ConfigValues.VncKeyboardLayoutValidValues, 
Arrays.asList(vncKeyboardLayoutValues.split(","))),
+            mockConfig(ConfigValues.ValidNumOfMonitors, 
Arrays.asList("1,2,4".split(",")))
             );
 
     @Before
@@ -127,6 +130,7 @@
         vm.setVdsGroupId(group.getId());
         vm.setClusterArch(ArchitectureType.x86_64);
         vmStatic.setVdsGroupId(group.getId());
+        vmStatic.setName("my_vm");
 
         VmManagementParametersBase params = new VmManagementParametersBase();
         params.setCommandType(VdcActionType.UpdateVm);
@@ -144,6 +148,17 @@
     }
 
     @Test
+    public void testBeanValidations() {
+        assertTrue(command.validateInputs());
+    }
+
+    @Test
+    public void testPatternBasedNameFails() {
+        vmStatic.setName("aa-??bb");
+        assertFalse("Pattern-based name should not be supported for VM", 
command.validateInputs());
+    }
+
+    @Test
     public void testLongName() {
         vmStatic.setName("this_should_be_very_long_vm_name_so_it 
will_fail_can_do_action_validation");
         assertFalse("canDoAction should fail for too long vm name.", 
command.canDoAction());


-- 
To view, visit http://gerrit.ovirt.org/26625
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I893a117a8eaa6abcb9d15abf599eb31426baab35
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.4
Gerrit-Owner: Arik Hadas <aha...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to