mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	Reopening CLOUDSTACK-1884. Adding back the unit test, but still excluded due to component loading issue.
This commit is contained in:
		
							parent
							
								
									4600bd4b99
								
							
						
					
					
						commit
						4958070b90
					
				@ -160,6 +160,7 @@
 | 
			
		||||
            <exclude>com/cloud/network/security/SecurityGroupManagerImpl2Test.java</exclude>
 | 
			
		||||
            <!-- see CLOUDSTACK-1884 -->
 | 
			
		||||
            <exclude>org/apache/cloudstack/networkoffering/CreateNetworkOfferingTest.java</exclude>
 | 
			
		||||
            <exclude>org/apache/cloudstack/affinity/AffinityApiUnitTest.java</exclude>
 | 
			
		||||
          </excludes>
 | 
			
		||||
        </configuration>
 | 
			
		||||
      </plugin>
 | 
			
		||||
 | 
			
		||||
@ -31,6 +31,7 @@ import org.junit.Before;
 | 
			
		||||
import org.junit.BeforeClass;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
import org.junit.runner.RunWith;
 | 
			
		||||
import org.mockito.Mockito;
 | 
			
		||||
import org.springframework.test.context.ContextConfiguration;
 | 
			
		||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 | 
			
		||||
 | 
			
		||||
@ -94,86 +95,91 @@ public class AffinityApiUnitTest {
 | 
			
		||||
 | 
			
		||||
    @Before
 | 
			
		||||
    public void testSetUp() {
 | 
			
		||||
        // ComponentContext.initComponentsLifeCycle();
 | 
			
		||||
        /*
 | 
			
		||||
         * AccountVO acct = new AccountVO(200L);
 | 
			
		||||
         * acct.setType(Account.ACCOUNT_TYPE_NORMAL);
 | 
			
		||||
         * acct.setAccountName("user"); acct.setDomainId(domainId);
 | 
			
		||||
         *
 | 
			
		||||
         * UserContext.registerContext(1, acct, null, true);
 | 
			
		||||
         *
 | 
			
		||||
         * when(_acctMgr.finalizeOwner((Account) anyObject(), anyString(),
 | 
			
		||||
         * anyLong(), anyLong())).thenReturn(acct);
 | 
			
		||||
         * when(_processor.getType()).thenReturn("mock");
 | 
			
		||||
         * when(_accountDao.findByIdIncludingRemoved(0L)).thenReturn(acct);
 | 
			
		||||
         */
 | 
			
		||||
        ComponentContext.initComponentsLifeCycle();
 | 
			
		||||
        AccountVO acct = new AccountVO(200L);
 | 
			
		||||
        acct.setType(Account.ACCOUNT_TYPE_NORMAL);
 | 
			
		||||
        acct.setAccountName("user");
 | 
			
		||||
        acct.setDomainId(domainId);
 | 
			
		||||
 | 
			
		||||
        UserContext.registerContext(1, acct, null, true);
 | 
			
		||||
 | 
			
		||||
        when(_acctMgr.finalizeOwner((Account) anyObject(), anyString(), anyLong(), anyLong())).thenReturn(acct);
 | 
			
		||||
        when(_processor.getType()).thenReturn("mock");
 | 
			
		||||
        when(_accountDao.findByIdIncludingRemoved(0L)).thenReturn(acct);
 | 
			
		||||
 | 
			
		||||
        AffinityGroupVO group = new AffinityGroupVO("group1", "mock", "mock group", domainId, 200L);
 | 
			
		||||
        Mockito.when(_affinityGroupDao.persist(Mockito.any(AffinityGroupVO.class))).thenReturn(group);
 | 
			
		||||
        Mockito.when(_affinityGroupDao.findById(Mockito.anyLong())).thenReturn(group);
 | 
			
		||||
        Mockito.when(_affinityGroupDao.findByAccountAndName(Mockito.anyLong(), Mockito.anyString())).thenReturn(group);
 | 
			
		||||
        Mockito.when(_affinityGroupDao.lockRow(Mockito.anyLong(), anyBoolean())).thenReturn(group);
 | 
			
		||||
        Mockito.when(_affinityGroupDao.expunge(Mockito.anyLong())).thenReturn(true);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
    public void createAffinityGroupTest() {
 | 
			
		||||
        /*
 | 
			
		||||
         * AffinityGroup group = _affinityService.createAffinityGroup("user",
 | 
			
		||||
         * domainId, "group1", "mock", "affinity group one");
 | 
			
		||||
         * assertNotNull("Affinity group 'group1' of type 'mock' failed to create "
 | 
			
		||||
         * , group);
 | 
			
		||||
         */
 | 
			
		||||
        AffinityGroup group = _affinityService.createAffinityGroup("user", domainId, "group1", "mock",
 | 
			
		||||
                "affinity group one");
 | 
			
		||||
        assertNotNull("Affinity group 'group1' of type 'mock' failed to create ", group);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * @Test(expected = InvalidParameterValueException.class) public void
 | 
			
		||||
     * invalidAffinityTypeTest() { AffinityGroup group =
 | 
			
		||||
     * _affinityService.createAffinityGroup("user", domainId, "group1",
 | 
			
		||||
     * "invalid", "affinity group one");
 | 
			
		||||
     *
 | 
			
		||||
     * }
 | 
			
		||||
     *
 | 
			
		||||
     * @Test(expected = InvalidParameterValueException.class) public void
 | 
			
		||||
     * uniqueAffinityNameTest() { when(_groupDao.isNameInUse(anyLong(),
 | 
			
		||||
     * anyLong(), eq("group1"))).thenReturn(true); AffinityGroup group2 =
 | 
			
		||||
     * _affinityService.createAffinityGroup("user", domainId, "group1", "mock",
 | 
			
		||||
     * "affinity group two"); }
 | 
			
		||||
     *
 | 
			
		||||
     * @Test(expected = InvalidParameterValueException.class) public void
 | 
			
		||||
     * deleteAffinityGroupInvalidIdTest() throws ResourceInUseException {
 | 
			
		||||
     * when(_groupDao.findById(20L)).thenReturn(null);
 | 
			
		||||
     * _affinityService.deleteAffinityGroup(20L, "user", domainId, "group1"); }
 | 
			
		||||
     *
 | 
			
		||||
     * @Test(expected = InvalidParameterValueException.class) public void
 | 
			
		||||
     * deleteAffinityGroupInvalidIdName() throws ResourceInUseException {
 | 
			
		||||
     * when(_groupDao.findByAccountAndName(200L, "group1")).thenReturn(null);
 | 
			
		||||
     * _affinityService.deleteAffinityGroup(null, "user", domainId, "group1"); }
 | 
			
		||||
     *
 | 
			
		||||
     * @Test(expected = InvalidParameterValueException.class) public void
 | 
			
		||||
     * deleteAffinityGroupNullIdName() throws ResourceInUseException {
 | 
			
		||||
     * _affinityService.deleteAffinityGroup(null, "user", domainId, null); }
 | 
			
		||||
     *
 | 
			
		||||
     * @Test(expected = ResourceInUseException.class) public void
 | 
			
		||||
     * deleteAffinityGroupInUse() throws ResourceInUseException {
 | 
			
		||||
     * List<AffinityGroupVMMapVO> affinityGroupVmMap = new
 | 
			
		||||
     * ArrayList<AffinityGroupVMMapVO>(); AffinityGroupVMMapVO mapVO = new
 | 
			
		||||
     * AffinityGroupVMMapVO(20L, 10L); affinityGroupVmMap.add(mapVO);
 | 
			
		||||
     * when(_affinityGroupVMMapDao
 | 
			
		||||
     * .listByAffinityGroup(20L)).thenReturn(affinityGroupVmMap);
 | 
			
		||||
     *
 | 
			
		||||
     * AffinityGroupVO groupVO = new AffinityGroupVO();
 | 
			
		||||
     * when(_groupDao.findById(20L)).thenReturn(groupVO);
 | 
			
		||||
     * when(_groupDao.lockRow(20L, true)).thenReturn(groupVO);
 | 
			
		||||
     *
 | 
			
		||||
     * _affinityService.deleteAffinityGroup(20L, "user", domainId, null); }
 | 
			
		||||
     *
 | 
			
		||||
     * @Test(expected = InvalidParameterValueException.class) public void
 | 
			
		||||
     * updateAffinityGroupVMRunning() throws ResourceInUseException {
 | 
			
		||||
     *
 | 
			
		||||
     * UserVmVO vm = new UserVmVO(10L, "test", "test", 101L, HypervisorType.Any,
 | 
			
		||||
     * 21L, false, false, domainId, 200L, 5L, "", "test", 1L);
 | 
			
		||||
     * vm.setState(VirtualMachine.State.Running);
 | 
			
		||||
     * when(_vmDao.findById(10L)).thenReturn(vm);
 | 
			
		||||
     *
 | 
			
		||||
     * List<Long> affinityGroupIds = new ArrayList<Long>();
 | 
			
		||||
     * affinityGroupIds.add(20L);
 | 
			
		||||
     *
 | 
			
		||||
     * _affinityService.updateVMAffinityGroups(10L, affinityGroupIds); }
 | 
			
		||||
     */
 | 
			
		||||
    @Test(expected = InvalidParameterValueException.class)
 | 
			
		||||
    public void invalidAffinityTypeTest() {
 | 
			
		||||
        AffinityGroup group = _affinityService.createAffinityGroup("user", domainId, "group1", "invalid",
 | 
			
		||||
                "affinity group one");
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test(expected = InvalidParameterValueException.class)
 | 
			
		||||
    public void uniqueAffinityNameTest() {
 | 
			
		||||
        when(_groupDao.isNameInUse(anyLong(), anyLong(), eq("group1"))).thenReturn(true);
 | 
			
		||||
        AffinityGroup group2 = _affinityService.createAffinityGroup("user", domainId, "group1", "mock",
 | 
			
		||||
                "affinity group two");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test(expected = InvalidParameterValueException.class)
 | 
			
		||||
    public void deleteAffinityGroupInvalidIdTest() throws ResourceInUseException {
 | 
			
		||||
        when(_groupDao.findById(20L)).thenReturn(null);
 | 
			
		||||
        _affinityService.deleteAffinityGroup(20L, "user", domainId, "group1");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test(expected = InvalidParameterValueException.class)
 | 
			
		||||
    public void deleteAffinityGroupInvalidIdName() throws ResourceInUseException {
 | 
			
		||||
        when(_groupDao.findByAccountAndName(200L, "group1")).thenReturn(null);
 | 
			
		||||
        _affinityService.deleteAffinityGroup(null, "user", domainId, "group1");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test(expected = InvalidParameterValueException.class)
 | 
			
		||||
    public void deleteAffinityGroupNullIdName() throws ResourceInUseException {
 | 
			
		||||
        _affinityService.deleteAffinityGroup(null, "user", domainId, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test(expected = ResourceInUseException.class)
 | 
			
		||||
    public void deleteAffinityGroupInUse() throws ResourceInUseException {
 | 
			
		||||
        List<AffinityGroupVMMapVO> affinityGroupVmMap = new ArrayList<AffinityGroupVMMapVO>();
 | 
			
		||||
        AffinityGroupVMMapVO mapVO = new AffinityGroupVMMapVO(20L, 10L);
 | 
			
		||||
        affinityGroupVmMap.add(mapVO);
 | 
			
		||||
        when(_affinityGroupVMMapDao.listByAffinityGroup(20L)).thenReturn(affinityGroupVmMap);
 | 
			
		||||
 | 
			
		||||
        AffinityGroupVO groupVO = new AffinityGroupVO();
 | 
			
		||||
        when(_groupDao.findById(20L)).thenReturn(groupVO);
 | 
			
		||||
        when(_groupDao.lockRow(20L, true)).thenReturn(groupVO);
 | 
			
		||||
 | 
			
		||||
        _affinityService.deleteAffinityGroup(20L, "user", domainId, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test(expected = InvalidParameterValueException.class)
 | 
			
		||||
    public void updateAffinityGroupVMRunning() throws ResourceInUseException {
 | 
			
		||||
 | 
			
		||||
        UserVmVO vm = new UserVmVO(10L, "test", "test", 101L, HypervisorType.Any, 21L, false, false, domainId, 200L,
 | 
			
		||||
                5L, "", "test", 1L);
 | 
			
		||||
        vm.setState(VirtualMachine.State.Running);
 | 
			
		||||
        when(_vmDao.findById(10L)).thenReturn(vm);
 | 
			
		||||
 | 
			
		||||
        List<Long> affinityGroupIds = new ArrayList<Long>();
 | 
			
		||||
        affinityGroupIds.add(20L);
 | 
			
		||||
 | 
			
		||||
        _affinityService.updateVMAffinityGroups(10L, affinityGroupIds);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user