Package org.makersoft.shards.integration

Source Code of org.makersoft.shards.integration.VerticalShardsTests

/*
* @(#)VerticalShardsTests.java 2013-3-7 下午23:33:33
*
* Copyright (c) 2011-2013 Makersoft.org all rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
*
*/
package org.makersoft.shards.integration;

import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;

import java.util.List;

import org.junit.Test;
import org.makersoft.shards.domain.Role;
import org.makersoft.shards.domain.User;
import org.makersoft.shards.mapper.RoleMapper;
import org.makersoft.shards.mapper.UserMapper;
import org.makersoft.shards.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.transaction.annotation.Transactional;

/**
* unit test for vertical shards.
*/
@ContextConfiguration(locations = { "classpath:applicationContext-vertical.xml" })
public class VerticalShardsTests extends BaseIntegrationTest {

  @Autowired(required = true)
  private UserMapper userMapper;

  @Autowired(required = true)
  private RoleMapper roleMapper;

  @Test
  @Transactional
  public void testInsert() throws Exception {

    User user = this.insertUser("makersoft-vertical", "makersoft-vertical", 18, User.SEX_MALE);

    assertNotNull("Insert User does not success!", user);
   
   
    Role role = this.insertRole("ADMIN", "ROLE_ADMIN");

    assertNotNull("Insert Role does not success!", role);
  }

  @Test
  @Transactional
  public void testSelect() throws Exception {
    List<User> maleUsers = Lists.newArrayList();

    for(int i = 0; i < 10; i++){
      String name = "makersoft-vertical_" + i;
      String password = "makersoft-vertical_" + i;
      int age = i;
      int gender = (i % 2) == 0 ? User.SEX_MALE : User.SEX_FEMALE;

      User user = this.insertUser(name, password, age, gender);
     
      if(gender == User.SEX_MALE){
        maleUsers.add(user);
      }
     
    }
   
    List<User> users = userMapper.findByGender(User.SEX_MALE);
    assertTrue("find by gender total size error " + users.size(), users.size() == 5);
   
    assertTrue(maleUsers.containsAll(users));
   
   
    List<Role> allRoles = Lists.newArrayList();
    for(int i = 0; i < 10; i++){
      String name = "ROLE_" + i;
      String code = "CODE_" + i;

      Role role = this.insertRole(name, code);
      allRoles.add(role);
    }
   
    List<Role> roles = roleMapper.findAll();
   
    assertTrue(allRoles.containsAll(roles));

  }
 
  @Test
  @Transactional
  public void testUpdate() throws Exception {
    User user = this.insertUser("makersoft-vertical", "makersoft-vertical", 18, User.SEX_MALE);

    assertNotNull("Insert User does not success!", user);
   
    user.setUsername("fengkuok");
    user.setPassword("password");
    int rows = userMapper.updateById(user);
   
    assertTrue("Update User does not success!", rows == 1);
   
    User fengkuok = userMapper.getById(user.getId());
   
    assertTrue("Update User does not success!", user.equals(fengkuok));
   
  }
 
  @Test
  @Transactional
  public void testDelete() throws Exception {
    User user = this.insertUser("makersoft-vertical", "makersoft-vertical", 18, User.SEX_MALE);
    assertNotNull("Insert User does not success!", user);
   
    int rows = userMapper.deleteById(user.getId());
    assertTrue("Delete User does not success!", rows == 1);
   
    user = userMapper.getById(user.getId());
   
    assertNull(user);
  }
 
  /**
   * for insert new user
   */
  private User insertUser(String username, String password, int age,  int gender){
    User user = new User(username, password, gender);
    user.setAge(age);
    int rows = userMapper.insertUser(user);
   
    assertTrue("Insert User does not success!", rows == 1);
   
    assertNotNull(user.getId());
   
    return user;
  }
 
  /**
   * for insert new user
   */
  private Role insertRole(String name, String code){
    Role role = new Role(name, code);
    int rows = roleMapper.insert(role);
   
    assertTrue("Insert Role does not success!", rows == 1);
   
    assertNotNull(role.getId());
   
    return role;
  }

}
TOP

Related Classes of org.makersoft.shards.integration.VerticalShardsTests

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.