Package com.github.dactiv.showcase.test.manager.account

Source Code of com.github.dactiv.showcase.test.manager.account.TestResourceManager

package com.github.dactiv.showcase.test.manager.account;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import java.util.List;

import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;

import com.github.dactiv.showcase.common.enumeration.entity.ResourceType;
import com.github.dactiv.showcase.entity.account.Resource;
import com.github.dactiv.showcase.service.account.AccountManager;
import com.github.dactiv.showcase.test.manager.ManagerTestCaseSupport;
import com.google.common.collect.Lists;

/**
* 测试资源管理所有方法
*
* @author maurice
*
*/
public class TestResourceManager extends ManagerTestCaseSupport{
 
  @Autowired
  private AccountManager accountManager;
 
  @Test
  @Transactional(readOnly=true)
  public void testGetResource() {
    Resource resource = accountManager.getResource("SJDK3849CKMS3849DJCK2039ZMSK0003");
    assertEquals(resource.getName(), "权限管理");
    assertEquals(resource.getChildren().size(), 3);
  }

  @Test
  public void testGetResources() {
    List<String> ids = Lists.newArrayList(
        "SJDK3849CKMS3849DJCK2039ZMSK0007",
        "SJDK3849CKMS3849DJCK2039ZMSK0008",
        "SJDK3849CKMS3849DJCK2039ZMSK0009",
        "SJDK3849CKMS3849DJCK2039ZMSK0010"
    );
   
    List<Resource> result = accountManager.getResources(ids);
   
    assertEquals(result.size(), 4);
  }

  @Test
  @Transactional
  public void testSaveResource() {
    Resource entity = new Resource();
    entity.setName("test");
    entity.setPermission("prem[test:test]");
    entity.setRemark("...");
    entity.setType(ResourceType.Security.getValue());
    entity.setValue("/test/**");
   
    int before = countRowsInTable("tb_resource");
    accountManager.saveResource(entity);
    int after = countRowsInTable("tb_resource");
   
    assertEquals(before + 1, after);
    assertFalse(entity.getLeaf());
   
    Resource parent = accountManager.getResource("SJDK3849CKMS3849DJCK2039ZMSK0004");
    entity.setParent(parent);
    accountManager.saveResource(entity);
    assertTrue(parent.getLeaf());
    entity.setParent(null);
    accountManager.saveResource(entity);
    assertFalse(entity.getLeaf());
  }

  @Test
  @Transactional
  public void testDeleteResources() {
   
    int before = countRowsInTable("tb_resource");
    List<String> ids = Lists.newArrayList("SJDK3849CKMS3849DJCK2039ZMSK0022","SJDK3849CKMS3849DJCK2039ZMSK0023","SJDK3849CKMS3849DJCK2039ZMSK0024");
    accountManager.deleteResources(ids);
    int after = countRowsInTable("tb_resource");
   
    assertEquals(before - 3, after);
    Resource r = accountManager.getResource("SJDK3849CKMS3849DJCK2039ZMSK0018");
    assertFalse(r.getLeaf());
  }

  @Test
  public void testGetAllResources() {
    List<Resource> result = accountManager.getResources();
    assertEquals(result.size(), 25);
   
    result = accountManager.getResources("SJDK3849CKMS3849DJCK2039ZMSK0006","SJDK3849CKMS3849DJCK2039ZMSK0007");
    assertEquals(result.size(), 23);
  }
 
  @Test
  public void testGetUserResources() {
    List<Resource> result = accountManager.getUserResources("SJDK3849CKMS3849DJCK2039ZMSK0001");
    assertEquals(result.size(), 25);
  }
 
  @Test
    public void testMergeResourcesToParent() {
            List<Resource> result = accountManager.getUserResources("SJDK3849CKMS3849DJCK2039ZMSK0001");
            result = accountManager.mergeResourcesToParent(result, ResourceType.Security);
            assertEquals(result.size(), 2);
            assertEquals(result.get(0).getChildren().size(),3);
            assertEquals(result.get(1).getChildren().size(),3);
    }
}
TOP

Related Classes of com.github.dactiv.showcase.test.manager.account.TestResourceManager

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.