add unit test in UdfFuncMapperTest (#940)

* rename from DatasourceUserMapper to DataSourceUserMapper

* add unit test in UserMapper and WorkerGroupMapper

* change cn.escheduler to org.apache.dolphinscheduler

* add unit test in UdfFuncMapperTest

* add unit test in UdfFuncMapperTest

* remove DatabaseConfiguration

* add ConnectionFactoryTest
This commit is contained in:
lgcareer 2019-09-30 13:48:08 +08:00 committed by bao liang
parent a6bd568df7
commit 58b55d4014
6 changed files with 209 additions and 11 deletions

View File

@ -1532,7 +1532,7 @@ public class ProcessDao extends AbstractBaseDao {
* @param ids
* @return
*/
public List<UdfFunc> queryUdfFunListByids(String ids){
public List<UdfFunc> queryUdfFunListByids(int[] ids){
return udfFuncMapper.queryUdfByIdStr(ids, null);
}

View File

@ -16,6 +16,7 @@
*/
package org.apache.dolphinscheduler.dao.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import org.apache.dolphinscheduler.common.enums.UdfType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
@ -58,12 +59,13 @@ public class UdfFunc {
/**
* udf data base
*/
@TableField("`database`")
private String database;
/**
* udf description
*/
private String desc;
private String description;
/**
* resource id
@ -138,12 +140,12 @@ public class UdfFunc {
this.database = database;
}
public String getDesc() {
return desc;
public String getDescription() {
return description;
}
public void setDesc(String desc) {
this.desc = desc;
public void setDescription(String description) {
this.description = description;
}
public int getResourceId() {
@ -196,7 +198,7 @@ public class UdfFunc {
", className='" + className + '\'' +
", argTypes='" + argTypes + '\'' +
", database='" + database + '\'' +
", desc='" + desc + '\'' +
", description='" + description + '\'' +
", resourceId=" + resourceId +
", resourceName='" + resourceName + '\'' +
", type=" + type +

View File

@ -26,7 +26,7 @@ import java.util.List;
public interface UdfFuncMapper extends BaseMapper<UdfFunc> {
List<UdfFunc> queryUdfByIdStr(@Param("ids") String ids,
List<UdfFunc> queryUdfByIdStr(@Param("ids") int[] ids,
@Param("funcNames") String funcNames);
IPage<UdfFunc> queryUdfFuncPaging(IPage<UdfFunc> page,

View File

@ -6,9 +6,12 @@
from t_escheduler_udfs
where 1 = 1
<if test="ids != null and ids != ''">
and id in (#{ids})
and id in
<foreach collection="ids" item="i" open="(" close=")" separator=",">
#{i}
</foreach>
</if>
<if test="funcName != null and funcName != ''">
<if test="funcNames != null and funcNames != ''">
and func_name = #{funcName}
</if>
order by id asc

View File

@ -30,4 +30,4 @@ public class ConnectionFactoryTest {
Connection connection = ConnectionFactory.getDataSource().getPooledConnection().getConnection();
Assert.assertEquals(connection != null , true);
}
}
}

View File

@ -17,32 +17,225 @@
package org.apache.dolphinscheduler.dao.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.dolphinscheduler.common.enums.UdfType;
import org.apache.dolphinscheduler.common.enums.UserType;
import org.apache.dolphinscheduler.dao.entity.UDFUser;
import org.apache.dolphinscheduler.dao.entity.UdfFunc;
import org.apache.dolphinscheduler.dao.entity.User;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.Date;
import java.util.List;
@RunWith(SpringRunner.class)
@SpringBootTest
public class UdfFuncMapperTest {
@Autowired
private UserMapper userMapper;
@Autowired
UdfFuncMapper udfFuncMapper;
@Autowired
UDFUserMapper udfUserMapper;
/**
* insert one udf
* @return
*/
private UdfFunc insertOne(){
UdfFunc udfFunc = new UdfFunc();
udfFunc.setUserId(1);
udfFunc.setFuncName("dolphin_udf_func");
udfFunc.setClassName("org.apache.dolphinscheduler.test.mr");
udfFunc.setType(UdfType.HIVE);
udfFunc.setResourceId(1);
udfFunc.setResourceName("dolphin_resource");
udfFunc.setCreateTime(new Date());
udfFunc.setUpdateTime(new Date());
udfFuncMapper.insert(udfFunc);
return udfFunc;
}
/**
* insert one udf
* @return
*/
private UdfFunc insertOne(User user){
UdfFunc udfFunc = new UdfFunc();
udfFunc.setUserId(user.getId());
udfFunc.setFuncName("dolphin_udf_func");
udfFunc.setClassName("org.apache.dolphinscheduler.test.mr");
udfFunc.setType(UdfType.HIVE);
udfFunc.setResourceId(1);
udfFunc.setResourceName("dolphin_resource");
udfFunc.setCreateTime(new Date());
udfFunc.setUpdateTime(new Date());
udfFuncMapper.insert(udfFunc);
return udfFunc;
}
/**
* insert one user
* @return
*/
private User insertOneUser(){
User user = new User();
user.setUserName("user1");
user.setUserPassword("1");
user.setEmail("xx@123.com");
user.setUserType(UserType.GENERAL_USER);
user.setCreateTime(new Date());
user.setTenantId(1);
user.setUpdateTime(new Date());
userMapper.insert(user);
return user;
}
/**
* insert one user
* @return
*/
private User insertOneUser(String userName){
User user = new User();
user.setUserName(userName);
user.setUserPassword("1");
user.setEmail("xx@123.com");
user.setUserType(UserType.GENERAL_USER);
user.setCreateTime(new Date());
user.setTenantId(1);
user.setUpdateTime(new Date());
userMapper.insert(user);
return user;
}
private UDFUser insertOneUDFUser(User user,UdfFunc udfFunc){
UDFUser udfUser = new UDFUser();
udfUser.setUdfId(udfFunc.getId());
udfUser.setUserId(user.getId());
udfUser.setCreateTime(new Date());
udfUser.setUpdateTime(new Date());
udfUserMapper.insert(udfUser);
return udfUser;
}
@Test
public void testUpdate(){
//insertOne
UdfFunc udfFunc = insertOne();
udfFunc.setResourceName("dolphin_resource_update");
udfFunc.setResourceId(2);
udfFunc.setClassName("org.apache.dolphinscheduler.test.mrUpdate");
udfFunc.setUpdateTime(new Date());
//update
int update = udfFuncMapper.updateById(udfFunc);
udfFuncMapper.deleteById(udfFunc.getId());
Assert.assertEquals(update, 1);
}
@Test
public void testDelete(){
//insertOne
UdfFunc udfFunc = insertOne();
//delete
int delete = udfFuncMapper.deleteById(udfFunc.getId());
Assert.assertEquals(delete, 1);
}
@Test
public void testQuery(){
//insertOne
UdfFunc udfFunc = insertOne();
//query
List<UdfFunc> udfFuncList = udfFuncMapper.selectList(null);
Assert.assertNotEquals(udfFuncList.size(), 0);
udfFuncMapper.deleteById(udfFunc.getId());
}
@Test
public void testQueryUdfByIdStr() {
//insertOne
UdfFunc udfFunc = insertOne();
//insertOne
UdfFunc udfFunc1 = insertOne();
int[] idArray = new int[]{udfFunc.getId(),udfFunc1.getId()};
//queryUdfByIdStr
List<UdfFunc> udfFuncList = udfFuncMapper.queryUdfByIdStr(idArray,"");
Assert.assertNotEquals(udfFuncList.size(), 0);
udfFuncMapper.deleteById(udfFunc.getId());
udfFuncMapper.deleteById(udfFunc1.getId());
}
@Test
public void testQueryUdfFuncPaging() {
//insertOneUser
User user = insertOneUser();
//insertOne
UdfFunc udfFunc = insertOne(user);
//queryUdfFuncPaging
Page<UdfFunc> page = new Page(1,3);
IPage<UdfFunc> udfFuncIPage = udfFuncMapper.queryUdfFuncPaging(page,user.getId(),"");
userMapper.deleteById(user.getId());
udfFuncMapper.deleteById(udfFunc.getId());
Assert.assertNotEquals(udfFuncIPage.getTotal(), 0);
}
@Test
public void testGetUdfFuncByType() {
//insertOneUser
User user = insertOneUser();
//insertOne
UdfFunc udfFunc = insertOne(user);
//getUdfFuncByType
List<UdfFunc> udfFuncList = udfFuncMapper.getUdfFuncByType(user.getId(), udfFunc.getType().ordinal());
userMapper.deleteById(user.getId());
udfFuncMapper.deleteById(udfFunc.getId());
Assert.assertNotEquals(udfFuncList.size(), 0);
}
@Test
public void testQueryUdfFuncExceptUserId() {
//insertOneUser
User user1 = insertOneUser();
User user2 = insertOneUser("user2");
//insertOne
UdfFunc udfFunc1 = insertOne(user1);
UdfFunc udfFunc2 = insertOne(user2);
List<UdfFunc> udfFuncList = udfFuncMapper.queryUdfFuncExceptUserId(user1.getId());
userMapper.deleteById(user1.getId());
userMapper.deleteById(user2.getId());
udfFuncMapper.deleteById(udfFunc1.getId());
udfFuncMapper.deleteById(udfFunc2.getId());
Assert.assertNotEquals(udfFuncList.size(), 0);
}
@Test
public void testQueryAuthedUdfFunc() {
//insertOneUser
User user = insertOneUser();
//insertOne
UdfFunc udfFunc = insertOne(user);
//insertOneUDFUser
UDFUser udfUser = insertOneUDFUser(user, udfFunc);
//queryAuthedUdfFunc
List<UdfFunc> udfFuncList = udfFuncMapper.queryAuthedUdfFunc(user.getId());
userMapper.deleteById(user.getId());
udfFuncMapper.deleteById(udfFunc.getId());
udfUserMapper.deleteById(udfUser.getId());
Assert.assertNotEquals(udfFuncList.size(), 0);
}
}