Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

WON.dev

MemberTests.java 본문

SPRING/chapter04_MVC

MemberTests.java

GAWON 2023. 7. 18. 09:40
package org.joonzis.security;

import java.sql.Connection;
import java.sql.PreparedStatement;

import javax.sql.DataSource;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import lombok.Setter;
import lombok.extern.log4j.Log4j;

@Log4j
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"file:src/main/webapp/WEB-INF/spring/root-context.xml",
                  		"file:src/main/webapp/WEB-INF/spring/security-context.xml"})
public class MemberTests {
   @Setter(onMethod_ = @Autowired)
   private DataSource ds;
   
   @Setter(onMethod_ = @Autowired)
   private PasswordEncoder pwencoder;
   
   /*
   @Test
   public void testInsertMember() {
      String sql = "insert into tbl_member(userid, userpw, username) values(?,?,?)";
      
      for(int i=0; i<100 ; i++) {
         
         Connection conn = null;
         PreparedStatement ps = null;
         
         try {
            
            conn = ds.getConnection();
            ps = conn.prepareStatement(sql);
            
            // 비밀번호 인코딩
            ps.setString(2, pwencoder.encode("pw" + i));
            
            // id & 이름
            if(i<80) {
               ps.setString(1, "user" + i);
               ps.setString(3, "일반 사용자" + i);
            }else if (i<90){
               ps.setString(1, "menager" + i);
               ps.setString(3, "운영자" + i);
            }else {
               ps.setString(1, "admin" + i);
               ps.setString(3, "관리자" + i);
            }
            
            ps.executeUpdate();
            
         } catch (Exception e) {
            e.printStackTrace();
         } finally {
            try {
               if(ps != null) {ps.close();}
               if(conn != null) {conn.close();}
            } catch (Exception e2) {
               e2.printStackTrace();
            }
         }
         
         
      }   // end for loop
      
      
      
   }
   */
   @Test
   public void testInsertMemberAuth() {
	   String sql = "insert into tbl_member_auth(userid, auth) values(?,?)";
	   // 일반 사용자 - ROLE_USER
	   // ex) user0 -ROLE_USER
	   // user1 - ROLE_USER
	   
	   // 운영자 - ROLE_MEMBER
	   // 관리자 - ROLE_ADMIN
	   // ex) admin99 - ROLE_ADMIN
	   for(int i=0; i<100 ; i++) {
	         
	         Connection conn = null;
	         PreparedStatement ps = null;
	         
	         try {
	            
	            conn = ds.getConnection();
	            ps = conn.prepareStatement(sql);
	            
	            
	            // id/권한
	            if(i<80) {
	               ps.setString(1, "user" + i);
	               ps.setString(2, "ROLE_USER");
	            }else if (i<90){
	               ps.setString(1, "menager" + i);
	               ps.setString(2, "ROLE_MEMBER");
	            }else {
	               ps.setString(1, "admin" + i);
	               ps.setString(2, "ROLE_ADMIN");
	            }
	            
	            ps.executeUpdate();
	            
	         } catch (Exception e) {
	            e.printStackTrace();
	         } finally {
	            try {
	               if(ps != null) {ps.close();}
	               if(conn != null) {conn.close();}
	            } catch (Exception e2) {
	               e2.printStackTrace();
	            }
	         }
	         
	         
	      }   // end for loop
	      
	      
	      
	   }
   
   
   
   
   
}

'SPRING > chapter04_MVC' 카테고리의 다른 글

SampleTxServiceTests.java  (0) 2023.07.18
BoardServiceTests.java  (0) 2023.07.18
JDBCTests.java  (0) 2023.07.18
DataSourceTests.java  (0) 2023.07.18
ReplyMapperTests.java  (0) 2023.07.18