Gilad Chaplik has uploaded a new change for review.

Change subject: core: QoS name uniquness
......................................................................

core: QoS name uniquness

Prevent adding qos with the same name for same data center

Change-Id: I16c75592dd8a8745ecffc7728e6523de8be4f857
Bug-Url: https://bugzilla.redhat.com/1105028
Signed-off-by: Gilad Chaplik <gchap...@redhat.com>
---
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkQosDaoTest.java
A packaging/dbscripts/upgrade/03_06_0430_qos_name_uniqueness.sql
2 files changed, 21 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/54/34154/1

diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkQosDaoTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkQosDaoTest.java
index 4cadce27..798a718 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkQosDaoTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/network/NetworkQosDaoTest.java
@@ -5,6 +5,7 @@
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dao.BaseDAOTestCase;
 import org.ovirt.engine.core.dao.FixturesTool;
+import org.springframework.dao.DuplicateKeyException;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
@@ -120,4 +121,22 @@
         
assertTrue(dao.getAllForStoragePoolId(FixturesTool.STORAGE_POOL_MIXED_TYPES).size()
 == 2);
     }
 
+    @Test
+    public void testCheckNullNameNotUnique() {
+        checkNameUniquness(null);
+    }
+
+    @Test(expected = DuplicateKeyException.class)
+    public void testCheckNameUniquness() {
+        checkNameUniquness("SomeName");
+    }
+
+    public void checkNameUniquness(String name) {
+        NetworkQoS entity = new NetworkQoS();
+        entity.setName(name);
+        entity.setStoragePoolId(FixturesTool.STORAGE_POOL_MIXED_TYPES);
+        dao.save(entity);
+        entity.setId(Guid.newGuid());
+        dao.save(entity);
+    }
 }
diff --git a/packaging/dbscripts/upgrade/03_06_0430_qos_name_uniqueness.sql 
b/packaging/dbscripts/upgrade/03_06_0430_qos_name_uniqueness.sql
new file mode 100644
index 0000000..085c202
--- /dev/null
+++ b/packaging/dbscripts/upgrade/03_06_0430_qos_name_uniqueness.sql
@@ -0,0 +1,2 @@
+-- adding constaint for qos name uniqueness of same context
+ALTER TABLE qos ADD UNIQUE (qos_type, name, storage_pool_id)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I16c75592dd8a8745ecffc7728e6523de8be4f857
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gilad Chaplik <gchap...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to