package com.jackson.db.test;
import com.jackson.db.SqlUtil;
import com.jackson.db.dao.ProxyDao;
import com.jackson.db.po.Proxy;
import com.jackson.db.service.IpOkService;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Jackson on 2016/11/6.
*/
public class ProxyDaoTest {
private static Logger logger = LogManager.getLogger(ProxyDaoTest.class.getName());
private static String tableName = "total_ips";
@org.junit.Test
public void createTable(){
SqlSession sqlSession =null;
try {
sqlSession = getSqlSession();
ProxyDao mapper = sqlSession.getMapper(ProxyDao.class);
mapper.createTable(tableName);
sqlSession.commit();
}catch (Exception e){
logger.error(e.toString());
}finally {
sqlSession.close();
}
}
@org.junit.Test
public void insertsIgnore() {
SqlSession sqlSession =null;
try {
sqlSession = getSqlSession();
ProxyDao mapper = sqlSession.getMapper(ProxyDao.class);
mapper.insertsIgnore(tableName,getIps(0,100));
sqlSession.commit();
}catch (Exception e){
logger.error(e.toString());
}finally {
sqlSession.close();
}
}
@org.junit.Test
public void timeTest(){
System.out.print(System.currentTimeMillis());
}
@org.junit.Test
public void findFreeMinTestTime() {
SqlSession sqlSession = getSqlSession();
ProxyDao mapper = sqlSession.getMapper(ProxyDao.class);
List<Proxy> freeMinTestTime = mapper.findFreeMinTestTime(tableName,100);
System.out.println("查到的长度:"+freeMinTestTime.size());
System.out.println("ip:"+freeMinTestTime.get(0).toString());
Proxy s = freeMinTestTime.get(0);
sqlSession.close();
}
@org.junit.Test
public void findFreeMaxSpeed() {
SqlSession sqlSession = getSqlSession();
ProxyDao mapper = sqlSession.getMapper(ProxyDao.class);
List<Proxy> freeMinTestTime = mapper.findFreeMaxSpeed(tableName,100);
sqlSession.close();
}
@org.junit.Test
public void update() {
SqlSession sqlSession = getSqlSession();
ProxyDao mapper = sqlSession.getMapper(ProxyDao.class);
Proxy ip = Proxy.newHttpProxy("hostsdfsss"+1,22222);
ip.setId(Long.parseLong("1"));
mapper.update(tableName,ip);
sqlSession.commit();
sqlSession.close();
}
@org.junit.Test
public void updateIpsToTakenOut() {
SqlSession sqlSession = getSqlSession();
ProxyDao mapper = sqlSession.getMapper(ProxyDao.class);
mapper.update2TakenOut(tableName,getIps(0,10));
sqlSession.commit();
sqlSession.close();
}
@org.junit.Test
public void setTakeState2Free() {
SqlSession sqlSession = getSqlSession();
ProxyDao mapper = sqlSession.getMapper(ProxyDao.class);
mapper.setTakeState2Free(tableName);
sqlSession.commit();
sqlSession.close();
}
private Proxy getIp(int index){
Proxy ip = Proxy.newHttpProxy("hostsss"+index,2101);
ip.setProtocolState(Proxy.PROTOCOL_STATE_HTTPS);
return ip;
}
private List<Proxy> getIps(int start,int size){
ArrayList arr = new ArrayList();
for(int i=0;i<size;i++){
arr.add(getIp(start+i));
}
return arr;
}
private SqlSession getSqlSession() {
SqlSessionFactory factory = SqlUtil.getFactory();
return factory.openSession();
}
}