Package com.github.dactiv.orm.test.jpa

Source Code of com.github.dactiv.orm.test.jpa.TestJpaSupportRepository

package com.github.dactiv.orm.test.jpa;

import java.util.List;

import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;

import com.github.dactiv.common.unit.Fixtures;
import com.github.dactiv.orm.core.PropertyFilters;
import com.github.dactiv.orm.core.spring.data.jpa.specification.Specifications;
import com.github.dactiv.orm.test.entity.User;
import com.github.dactiv.orm.test.simple.jpa.UserRepository;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.google.common.collect.Lists;

@ActiveProfiles("spring-data-jpa")
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/applicationContext-test.xml")
public class TestJpaSupportRepository {
 
  @Autowired
  private UserRepository userRepository;
 
  @Autowired
  private DataSource dataSource;

  @Autowired
  private EntityManagerFactory entityManagerFactory;
 
  @Before
  public void install() throws Exception {
    Fixtures.reloadData(dataSource, "/sample-data.xml");
  }
 
  @Test
  @SuppressWarnings("unchecked")
  public void testAllRestriction() {
    List<User> userList = Lists.newArrayList();

    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("EQD_createTime", "2012-08-12")));
    Assert.assertEquals(userList.size(), 8);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("EQS_wubiCode", null)));
    Assert.assertEquals(userList.size(), 1);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("EQS_wubiCode", "")));
    Assert.assertEquals(userList.size(),6);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("EQS_wubiCode", "123")));
    Assert.assertEquals(userList.size(), 1);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("NES_wubiCode", null)));
    Assert.assertEquals(userList.size(), 7);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("NES_wubiCode", "")));
    Assert.assertEquals(userList.size(), 1);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("NES_wubiCode", "123")));
    Assert.assertEquals(userList.size(), 6);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("LIKES_loginName", "m")));
    Assert.assertEquals(userList.size(), 5);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("RLIKES_loginName", "m")));
    Assert.assertEquals(userList.size(), 4);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("LLIKES_loginName", "n")));
    Assert.assertEquals(userList.size(), 1);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("LEI_state", "1")));
    Assert.assertEquals(userList.size(), 8);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("LTI_state", "2")));
    Assert.assertEquals(userList.size(), 8);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("GEI_state", "1")));
    Assert.assertEquals(userList.size(), 8);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("GTI_state", "0")));
    Assert.assertEquals(userList.size(), 8);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("INS_loginName", "admin,maurice")),new Sort(Direction.DESC, "loginName","realName"));
    Assert.assertEquals(userList.size(), 2);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("NINS_loginName", "admin,maurice")));
    Assert.assertEquals(userList.size(), 6);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("EQS_loginName","admin|maurice")));
    Assert.assertEquals(userList.size(), 2);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("EQS_loginName","admin,maurice")));
    Assert.assertEquals(userList.size(),0);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("EQS_loginName","admin,null")));
    Assert.assertEquals(userList.size(),0);
   
    userList = userRepository.findAll(Specifications.get(PropertyFilters.get("EQS_loginName_OR_realName","null|admin")));
    Assert.assertEquals(userList.size(), 1);
  }
 
  @Test
  @SuppressWarnings("unchecked")
  public void testFindAll() {
    List<User> userList = Lists.newArrayList();
   
    //---------------------------------------------Expressions test--------------------------------------------------//
   
    userList = userRepository.findAll(Specifications.get(Lists.newArrayList(
        PropertyFilters.get("EQS_loginName", "admin"),
        PropertyFilters.get("EQS_realName", "admin")
    )));

    Assert.assertEquals(userList.size(), 1);
   
    userList = userRepository.findAll(Specifications.get(Lists.newArrayList(
        PropertyFilters.get("LIKES_loginName", "m"),
        PropertyFilters.get("EQI_state", "1")
    )));
    Assert.assertEquals(userList.size(), 5);
   
    userList = userRepository.findAll(Specifications.get(Lists.newArrayList(
        PropertyFilters.get("LIKES_loginName", "m"),
        PropertyFilters.get("EQI_state", "1")
    )),new Sort(Direction.DESC, "loginName","realName"));
    Assert.assertEquals(userList.size(), 5);
   
   
    Pageable pageable = new PageRequest(1, 2);
    Page<User> page = userRepository.findAll(Specifications.get(Lists.newArrayList(PropertyFilters.get("EQI_state", "1"))),pageable);
    Assert.assertEquals(page.getContent().size(), 2);
    Assert.assertEquals(page.getTotalPages(), 4);
    Assert.assertEquals(page.getTotalElements(), 8);
  }
 
  @Test
  @SuppressWarnings("unchecked")
  public void testFindOne() {
    User user = new User();
   
    user = userRepository.findOne(Specifications.get(Lists.newArrayList(PropertyFilters.get("EQS_loginName", "admin"))));
    Assert.assertEquals(user.getId(), "SJDK3849CKMS3849DJCK2039ZMSK0002");
  }
}
TOP

Related Classes of com.github.dactiv.orm.test.jpa.TestJpaSupportRepository

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.