Package com.springone.myrestaurants.data

Source Code of com.springone.myrestaurants.data.AbstractTestWithUserAccount

package com.springone.myrestaurants.data;

import java.util.Date;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceUnit;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Before;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.graph.neo4j.support.node.Neo4jHelper;
import org.springframework.data.graph.neo4j.support.GraphDatabaseContext;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.transaction.AfterTransaction;
import org.springframework.test.context.transaction.BeforeTransaction;
import org.springframework.transaction.annotation.Transactional;

import com.springone.myrestaurants.domain.UserAccount;

public class AbstractTestWithUserAccount {

  protected final Log log = LogFactory.getLog(getClass());
  protected Long userId;

  @Autowired
  private GraphDatabaseContext graphDatabaseContext;

  @PersistenceContext
  protected EntityManager em;

  @PersistenceUnit
  protected EntityManagerFactory emf;

  @BeforeTransaction
  public void setUpBeforeTransaction() {
    EntityManager setUpEm = emf.createEntityManager();
    EntityTransaction setUpTx = setUpEm.getTransaction();
    setUpTx.begin();
    UserAccount u = new UserAccount();
    u.setFirstName("Bubba");
    u.setLastName("Jones");
    u.setBirthDate(new Date());
    u.setUserName("user");
    setUpEm.persist(u);
    setUpEm.flush();
        u.persist();
    this.userId = u.getId();
    setUpTx.commit();
  }

    @Before
    public void setUp() throws Exception {
    //    em = emf.createEntityManager();
    }

    @Transactional
  @BeforeTransaction
  public void cleanDb() {
      Neo4jHelper.cleanDb(graphDatabaseContext);
  }

  @AfterTransaction
  public void tearDown() {
    EntityManager tearDownEm = emf.createEntityManager();
    EntityTransaction tearDownTx = tearDownEm.getTransaction();
    tearDownTx.begin();
    UserAccount u = tearDownEm.find(UserAccount.class, this.userId);
    tearDownEm.remove(u);
    tearDownEm.flush();
    tearDownTx.commit();     
  }

}
TOP

Related Classes of com.springone.myrestaurants.data.AbstractTestWithUserAccount

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.