// Path: src/main/java/com/hantsylabs/restexample/springmvc/repository/CommentRepository.java
// public interface CommentRepository extends JpaRepository<Comment, Long> {
// 
//     public List<Comment> findByPost(Post post);
// 
//     public Page<Comment> findByPostId(Long id, Pageable page);
// 
// }
// 
// Path: src/main/java/com/hantsylabs/restexample/springmvc/repository/PostRepository.java
// public interface PostRepository extends JpaRepository<Post, Long>,//
//         JpaSpecificationExecutor<Post>{
// 
// }
// 
// Path: src/main/java/com/hantsylabs/restexample/springmvc/repository/UserRepository.java
// public interface UserRepository extends JpaRepository<User, Long>,
//         JpaSpecificationExecutor<User> {
// 
//     public User findByUsername(String username);
// }


import com.hantsylabs.restexample.springmvc.repository.CommentRepository;
import com.hantsylabs.restexample.springmvc.repository.PostRepository;
import com.hantsylabs.restexample.springmvc.repository.UserRepository;
import com.jayway.restassured.RestAssured;
import javax.inject.Inject;
import org.junit.Before;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.crypto.password.PasswordEncoder;
package com.hantsylabs.restexample.springmvc.test;


/**
 *
 * @author hantsy
 */
public class IntegrationTestBase {

    protected static final String USER_NAME = "admin";

    protected final static String PASSWORD = "test123";

    @Inject
    PostRepository posts;

    @Inject
    CommentRepository comments;

    @Inject
    UserRepository users;

    @Inject
    PasswordEncoder passwordEncoder;

    @Before
    public void setup() {
        clearData();
    }

    public void clearData() {

        comments.deleteAllInBatch();
// Path: src/main/java/com/hantsylabs/restexample/springmvc/repository/CommentRepository.java
// public interface CommentRepository extends JpaRepository<Comment, Long> {
// 
//     public List<Comment> findByPost(Post post);
// 
//     public Page<Comment> findByPostId(Long id, Pageable page);
// 
// }
// 
// Path: src/main/java/com/hantsylabs/restexample/springmvc/repository/PostRepository.java
// public interface PostRepository extends JpaRepository<Post, Long>,//
//         JpaSpecificationExecutor<Post>{
// 
// }
// 
// Path: src/main/java/com/hantsylabs/restexample/springmvc/repository/UserRepository.java
// public interface UserRepository extends JpaRepository<User, Long>,
//         JpaSpecificationExecutor<User> {
// 
//     public User findByUsername(String username);
// }


// Path: src/test/java/com/hantsylabs/restexample/springmvc/test/IntegrationTestBase.java
import com.hantsylabs.restexample.springmvc.repository.CommentRepository;
import com.hantsylabs.restexample.springmvc.repository.PostRepository;
import com.hantsylabs.restexample.springmvc.repository.UserRepository;
import com.jayway.restassured.RestAssured;
import javax.inject.Inject;
import org.junit.Before;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.crypto.password.PasswordEncoder;

package com.hantsylabs.restexample.springmvc.test;


/**
 *
 * @author hantsy
 */
public class IntegrationTestBase {

    protected static final String USER_NAME = "admin";

    protected final static String PASSWORD = "test123";

    @Inject
    PostRepository posts;

    @Inject
    CommentRepository comments;

    @Inject
    UserRepository users;

    @Inject
    PasswordEncoder passwordEncoder;

    @Before
    public void setup() {
        clearData();
    }

    public void clearData() {

        comments.deleteAllInBatch();
        posts.deleteAllInBatch();