diff --git a/server/src/com/cloud/template/TemplateManagerImpl.java b/server/src/com/cloud/template/TemplateManagerImpl.java index 6d7eece2e95..7466670baba 100755 --- a/server/src/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/com/cloud/template/TemplateManagerImpl.java @@ -1753,12 +1753,7 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager, throw ex; } - // Don't allow to modify system template - if (id == Long.valueOf(1)) { - InvalidParameterValueException ex = new InvalidParameterValueException("Unable to update template/iso of specified id"); - ex.addProxyObject(String.valueOf(id), "templateId"); - throw ex; - } + verifyTemplateId(id); // do a permission check _accountMgr.checkAccess(account, AccessType.ModifyEntry, true, template); @@ -1835,6 +1830,15 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager, return _tmpltDao.findById(id); } + void verifyTemplateId(Long id) { + // Don't allow to modify system template + if (id.equals(Long.valueOf(1))) { + InvalidParameterValueException ex = new InvalidParameterValueException("Unable to update template/iso of specified id"); + ex.addProxyObject(String.valueOf(id), "templateId"); + throw ex; + } + } + @Override public String getConfigComponentName() { return TemplateManager.class.getSimpleName(); diff --git a/server/test/com/cloud/template/TemplateManagerImplTest.java b/server/test/com/cloud/template/TemplateManagerImplTest.java new file mode 100644 index 00000000000..3788393dd4d --- /dev/null +++ b/server/test/com/cloud/template/TemplateManagerImplTest.java @@ -0,0 +1,19 @@ +package com.cloud.template; + +import org.junit.Test; + +import com.cloud.exception.InvalidParameterValueException; + +public class TemplateManagerImplTest { + + TemplateManagerImpl tmgr = new TemplateManagerImpl(); + + @Test(expected = InvalidParameterValueException.class) + public void testVerifyTemplateIdOfSystemTemplate() { + tmgr.verifyTemplateId(1L); + } + + public void testVerifyTemplateIdOfNonSystemTemplate() { + tmgr.verifyTemplateId(1L); + } +}