diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java new file mode 100644 index 0000000..02652bb --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java @@ -0,0 +1,62 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.XxlJobLogDao; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogDaoTest { + + @Resource + private XxlJobLogDao xxlJobLogDao; + + @Test + public void test(){ + List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); + int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); + + XxlJobLog log = new XxlJobLog(); + log.setJobGroup(1); + log.setJobId(1); + + int ret1 = xxlJobLogDao.save(log); + XxlJobLog dto = xxlJobLogDao.load(log.getId()); + + log.setGlueType("1"); + log.setTriggerTime(new Date()); + log.setTriggerCode(1); + log.setTriggerMsg("1"); + log.setExecutorAddress("1"); + log.setExecutorHandler("1"); + log.setExecutorParam("1"); + ret1 = xxlJobLogDao.updateTriggerInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + log.setHandleTime(new Date()); + log.setHandleCode(2); + log.setHandleMsg("2"); + ret1 = xxlJobLogDao.updateHandleInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); + + int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); + + int ret2 = xxlJobLogDao.delete(log.getJobId()); + + int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); + } + +} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java new file mode 100644 index 0000000..02652bb --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java @@ -0,0 +1,62 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.XxlJobLogDao; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogDaoTest { + + @Resource + private XxlJobLogDao xxlJobLogDao; + + @Test + public void test(){ + List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); + int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); + + XxlJobLog log = new XxlJobLog(); + log.setJobGroup(1); + log.setJobId(1); + + int ret1 = xxlJobLogDao.save(log); + XxlJobLog dto = xxlJobLogDao.load(log.getId()); + + log.setGlueType("1"); + log.setTriggerTime(new Date()); + log.setTriggerCode(1); + log.setTriggerMsg("1"); + log.setExecutorAddress("1"); + log.setExecutorHandler("1"); + log.setExecutorParam("1"); + ret1 = xxlJobLogDao.updateTriggerInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + log.setHandleTime(new Date()); + log.setHandleCode(2); + log.setHandleMsg("2"); + ret1 = xxlJobLogDao.updateHandleInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); + + int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); + + int ret2 = xxlJobLogDao.delete(log.getJobId()); + + int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java new file mode 100644 index 0000000..a4adc44 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java @@ -0,0 +1,36 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLogGlue; +import com.xxl.job.admin.dao.XxlJobLogGlueDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogGlueDaoTest { + + @Resource + private XxlJobLogGlueDao xxlJobLogGlueDao; + + @Test + public void test(){ + XxlJobLogGlue logGlue = new XxlJobLogGlue(); + logGlue.setJobId(1); + logGlue.setGlueType("1"); + logGlue.setGlueSource("1"); + logGlue.setGlueRemark("1"); + int ret = xxlJobLogGlueDao.save(logGlue); + + List list = xxlJobLogGlueDao.findByJobId(1); + + int ret2 = xxlJobLogGlueDao.removeOld(1, 1); + + int ret3 =xxlJobLogGlueDao.deleteByJobId(1); + } + +} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java new file mode 100644 index 0000000..02652bb --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java @@ -0,0 +1,62 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.XxlJobLogDao; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogDaoTest { + + @Resource + private XxlJobLogDao xxlJobLogDao; + + @Test + public void test(){ + List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); + int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); + + XxlJobLog log = new XxlJobLog(); + log.setJobGroup(1); + log.setJobId(1); + + int ret1 = xxlJobLogDao.save(log); + XxlJobLog dto = xxlJobLogDao.load(log.getId()); + + log.setGlueType("1"); + log.setTriggerTime(new Date()); + log.setTriggerCode(1); + log.setTriggerMsg("1"); + log.setExecutorAddress("1"); + log.setExecutorHandler("1"); + log.setExecutorParam("1"); + ret1 = xxlJobLogDao.updateTriggerInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + log.setHandleTime(new Date()); + log.setHandleCode(2); + log.setHandleMsg("2"); + ret1 = xxlJobLogDao.updateHandleInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); + + int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); + + int ret2 = xxlJobLogDao.delete(log.getJobId()); + + int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java new file mode 100644 index 0000000..a4adc44 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java @@ -0,0 +1,36 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLogGlue; +import com.xxl.job.admin.dao.XxlJobLogGlueDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogGlueDaoTest { + + @Resource + private XxlJobLogGlueDao xxlJobLogGlueDao; + + @Test + public void test(){ + XxlJobLogGlue logGlue = new XxlJobLogGlue(); + logGlue.setJobId(1); + logGlue.setGlueType("1"); + logGlue.setGlueSource("1"); + logGlue.setGlueRemark("1"); + int ret = xxlJobLogGlueDao.save(logGlue); + + List list = xxlJobLogGlueDao.findByJobId(1); + + int ret2 = xxlJobLogGlueDao.removeOld(1, 1); + + int ret3 =xxlJobLogGlueDao.deleteByJobId(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java new file mode 100644 index 0000000..6944872 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java @@ -0,0 +1,32 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobRegistry; +import com.xxl.job.admin.dao.XxlJobRegistryDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobRegistryDaoTest { + + @Resource + private XxlJobRegistryDao xxlJobRegistryDao; + + @Test + public void test(){ + int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1"); + if (ret < 1) { + ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1"); + } + + List list = xxlJobRegistryDao.findAll(1); + + int ret2 = xxlJobRegistryDao.removeDead(1); + } + +} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java new file mode 100644 index 0000000..02652bb --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java @@ -0,0 +1,62 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.XxlJobLogDao; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogDaoTest { + + @Resource + private XxlJobLogDao xxlJobLogDao; + + @Test + public void test(){ + List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); + int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); + + XxlJobLog log = new XxlJobLog(); + log.setJobGroup(1); + log.setJobId(1); + + int ret1 = xxlJobLogDao.save(log); + XxlJobLog dto = xxlJobLogDao.load(log.getId()); + + log.setGlueType("1"); + log.setTriggerTime(new Date()); + log.setTriggerCode(1); + log.setTriggerMsg("1"); + log.setExecutorAddress("1"); + log.setExecutorHandler("1"); + log.setExecutorParam("1"); + ret1 = xxlJobLogDao.updateTriggerInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + log.setHandleTime(new Date()); + log.setHandleCode(2); + log.setHandleMsg("2"); + ret1 = xxlJobLogDao.updateHandleInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); + + int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); + + int ret2 = xxlJobLogDao.delete(log.getJobId()); + + int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java new file mode 100644 index 0000000..a4adc44 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java @@ -0,0 +1,36 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLogGlue; +import com.xxl.job.admin.dao.XxlJobLogGlueDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogGlueDaoTest { + + @Resource + private XxlJobLogGlueDao xxlJobLogGlueDao; + + @Test + public void test(){ + XxlJobLogGlue logGlue = new XxlJobLogGlue(); + logGlue.setJobId(1); + logGlue.setGlueType("1"); + logGlue.setGlueSource("1"); + logGlue.setGlueRemark("1"); + int ret = xxlJobLogGlueDao.save(logGlue); + + List list = xxlJobLogGlueDao.findByJobId(1); + + int ret2 = xxlJobLogGlueDao.removeOld(1, 1); + + int ret3 =xxlJobLogGlueDao.deleteByJobId(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java new file mode 100644 index 0000000..6944872 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java @@ -0,0 +1,32 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobRegistry; +import com.xxl.job.admin.dao.XxlJobRegistryDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobRegistryDaoTest { + + @Resource + private XxlJobRegistryDao xxlJobRegistryDao; + + @Test + public void test(){ + int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1"); + if (ret < 1) { + ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1"); + } + + List list = xxlJobRegistryDao.findAll(1); + + int ret2 = xxlJobRegistryDao.removeDead(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java new file mode 100644 index 0000000..a55c75f --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java @@ -0,0 +1,44 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.MailUtil; +import org.junit.Test; + +import java.text.MessageFormat; + +/** + * email util test + * + * @author xuxueli 2017-12-22 17:16:23 + */ +public class MailUtilTest { + + @Test + public void registryTest() throws Exception { + + String mailBodyTemplate = "
监控告警明细:" + + "\n" + + " " + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; + + mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); + + boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); + System.out.println(ret); + } + +} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java new file mode 100644 index 0000000..02652bb --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java @@ -0,0 +1,62 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.XxlJobLogDao; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogDaoTest { + + @Resource + private XxlJobLogDao xxlJobLogDao; + + @Test + public void test(){ + List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); + int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); + + XxlJobLog log = new XxlJobLog(); + log.setJobGroup(1); + log.setJobId(1); + + int ret1 = xxlJobLogDao.save(log); + XxlJobLog dto = xxlJobLogDao.load(log.getId()); + + log.setGlueType("1"); + log.setTriggerTime(new Date()); + log.setTriggerCode(1); + log.setTriggerMsg("1"); + log.setExecutorAddress("1"); + log.setExecutorHandler("1"); + log.setExecutorParam("1"); + ret1 = xxlJobLogDao.updateTriggerInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + log.setHandleTime(new Date()); + log.setHandleCode(2); + log.setHandleMsg("2"); + ret1 = xxlJobLogDao.updateHandleInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); + + int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); + + int ret2 = xxlJobLogDao.delete(log.getJobId()); + + int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java new file mode 100644 index 0000000..a4adc44 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java @@ -0,0 +1,36 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLogGlue; +import com.xxl.job.admin.dao.XxlJobLogGlueDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogGlueDaoTest { + + @Resource + private XxlJobLogGlueDao xxlJobLogGlueDao; + + @Test + public void test(){ + XxlJobLogGlue logGlue = new XxlJobLogGlue(); + logGlue.setJobId(1); + logGlue.setGlueType("1"); + logGlue.setGlueSource("1"); + logGlue.setGlueRemark("1"); + int ret = xxlJobLogGlueDao.save(logGlue); + + List list = xxlJobLogGlueDao.findByJobId(1); + + int ret2 = xxlJobLogGlueDao.removeOld(1, 1); + + int ret3 =xxlJobLogGlueDao.deleteByJobId(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java new file mode 100644 index 0000000..6944872 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java @@ -0,0 +1,32 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobRegistry; +import com.xxl.job.admin.dao.XxlJobRegistryDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobRegistryDaoTest { + + @Resource + private XxlJobRegistryDao xxlJobRegistryDao; + + @Test + public void test(){ + int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1"); + if (ret < 1) { + ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1"); + } + + List list = xxlJobRegistryDao.findAll(1); + + int ret2 = xxlJobRegistryDao.removeDead(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java new file mode 100644 index 0000000..a55c75f --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java @@ -0,0 +1,44 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.MailUtil; +import org.junit.Test; + +import java.text.MessageFormat; + +/** + * email util test + * + * @author xuxueli 2017-12-22 17:16:23 + */ +public class MailUtilTest { + + @Test + public void registryTest() throws Exception { + + String mailBodyTemplate = "
监控告警明细:" + + "\n" + + " " + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; + + mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); + + boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); + System.out.println(ret); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java new file mode 100644 index 0000000..5c8b7f0 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java @@ -0,0 +1,18 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.PropertiesUtil; +import org.junit.Test; + +/** + * prop util test + * + * @author xuxueli 2017-12-25 15:17:36 + */ +public class PropertiesUtilTest { + + @Test + public void registryTest() throws Exception { + System.out.println(PropertiesUtil.getString("xxl.job.login.username")); + } + +} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java new file mode 100644 index 0000000..02652bb --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java @@ -0,0 +1,62 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.XxlJobLogDao; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogDaoTest { + + @Resource + private XxlJobLogDao xxlJobLogDao; + + @Test + public void test(){ + List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); + int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); + + XxlJobLog log = new XxlJobLog(); + log.setJobGroup(1); + log.setJobId(1); + + int ret1 = xxlJobLogDao.save(log); + XxlJobLog dto = xxlJobLogDao.load(log.getId()); + + log.setGlueType("1"); + log.setTriggerTime(new Date()); + log.setTriggerCode(1); + log.setTriggerMsg("1"); + log.setExecutorAddress("1"); + log.setExecutorHandler("1"); + log.setExecutorParam("1"); + ret1 = xxlJobLogDao.updateTriggerInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + log.setHandleTime(new Date()); + log.setHandleCode(2); + log.setHandleMsg("2"); + ret1 = xxlJobLogDao.updateHandleInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); + + int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); + + int ret2 = xxlJobLogDao.delete(log.getJobId()); + + int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java new file mode 100644 index 0000000..a4adc44 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java @@ -0,0 +1,36 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLogGlue; +import com.xxl.job.admin.dao.XxlJobLogGlueDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogGlueDaoTest { + + @Resource + private XxlJobLogGlueDao xxlJobLogGlueDao; + + @Test + public void test(){ + XxlJobLogGlue logGlue = new XxlJobLogGlue(); + logGlue.setJobId(1); + logGlue.setGlueType("1"); + logGlue.setGlueSource("1"); + logGlue.setGlueRemark("1"); + int ret = xxlJobLogGlueDao.save(logGlue); + + List list = xxlJobLogGlueDao.findByJobId(1); + + int ret2 = xxlJobLogGlueDao.removeOld(1, 1); + + int ret3 =xxlJobLogGlueDao.deleteByJobId(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java new file mode 100644 index 0000000..6944872 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java @@ -0,0 +1,32 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobRegistry; +import com.xxl.job.admin.dao.XxlJobRegistryDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobRegistryDaoTest { + + @Resource + private XxlJobRegistryDao xxlJobRegistryDao; + + @Test + public void test(){ + int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1"); + if (ret < 1) { + ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1"); + } + + List list = xxlJobRegistryDao.findAll(1); + + int ret2 = xxlJobRegistryDao.removeDead(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java new file mode 100644 index 0000000..a55c75f --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java @@ -0,0 +1,44 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.MailUtil; +import org.junit.Test; + +import java.text.MessageFormat; + +/** + * email util test + * + * @author xuxueli 2017-12-22 17:16:23 + */ +public class MailUtilTest { + + @Test + public void registryTest() throws Exception { + + String mailBodyTemplate = "
监控告警明细:" + + "\n" + + " " + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; + + mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); + + boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); + System.out.println(ret); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java new file mode 100644 index 0000000..5c8b7f0 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java @@ -0,0 +1,18 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.PropertiesUtil; +import org.junit.Test; + +/** + * prop util test + * + * @author xuxueli 2017-12-25 15:17:36 + */ +public class PropertiesUtilTest { + + @Test + public void registryTest() throws Exception { + System.out.println(PropertiesUtil.getString("xxl.job.login.username")); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java new file mode 100644 index 0000000..ae2f559 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java @@ -0,0 +1,66 @@ +package com.xxl.job.adminbiz; + +import com.xxl.job.core.biz.AdminBiz; +import com.xxl.job.core.biz.model.RegistryParam; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.enums.RegistryConfig; +import com.xxl.job.core.rpc.netcom.NetComClientProxy; +import org.junit.Assert; +import org.junit.Test; + +/** + * admin api test + * + * @author xuxueli 2017-07-28 22:14:52 + */ +public class AdminBizTest { + + // admin-client + private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); + private static String accessToken = null; + + /** + * registry executor + * + * @throws Exception + */ + @Test + public void registryTest() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registry(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * registry executor remove + * + * @throws Exception + */ + @Test + public void registryRemove() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry remove + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registryRemove(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * trigger job for once + * + * @throws Exception + */ + @Test + public void triggerJob() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + int jobId = 1; + ReturnT returnT = adminBiz.triggerJob(jobId); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + +} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java new file mode 100644 index 0000000..02652bb --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java @@ -0,0 +1,62 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.XxlJobLogDao; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogDaoTest { + + @Resource + private XxlJobLogDao xxlJobLogDao; + + @Test + public void test(){ + List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); + int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); + + XxlJobLog log = new XxlJobLog(); + log.setJobGroup(1); + log.setJobId(1); + + int ret1 = xxlJobLogDao.save(log); + XxlJobLog dto = xxlJobLogDao.load(log.getId()); + + log.setGlueType("1"); + log.setTriggerTime(new Date()); + log.setTriggerCode(1); + log.setTriggerMsg("1"); + log.setExecutorAddress("1"); + log.setExecutorHandler("1"); + log.setExecutorParam("1"); + ret1 = xxlJobLogDao.updateTriggerInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + log.setHandleTime(new Date()); + log.setHandleCode(2); + log.setHandleMsg("2"); + ret1 = xxlJobLogDao.updateHandleInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); + + int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); + + int ret2 = xxlJobLogDao.delete(log.getJobId()); + + int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java new file mode 100644 index 0000000..a4adc44 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java @@ -0,0 +1,36 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLogGlue; +import com.xxl.job.admin.dao.XxlJobLogGlueDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogGlueDaoTest { + + @Resource + private XxlJobLogGlueDao xxlJobLogGlueDao; + + @Test + public void test(){ + XxlJobLogGlue logGlue = new XxlJobLogGlue(); + logGlue.setJobId(1); + logGlue.setGlueType("1"); + logGlue.setGlueSource("1"); + logGlue.setGlueRemark("1"); + int ret = xxlJobLogGlueDao.save(logGlue); + + List list = xxlJobLogGlueDao.findByJobId(1); + + int ret2 = xxlJobLogGlueDao.removeOld(1, 1); + + int ret3 =xxlJobLogGlueDao.deleteByJobId(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java new file mode 100644 index 0000000..6944872 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java @@ -0,0 +1,32 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobRegistry; +import com.xxl.job.admin.dao.XxlJobRegistryDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobRegistryDaoTest { + + @Resource + private XxlJobRegistryDao xxlJobRegistryDao; + + @Test + public void test(){ + int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1"); + if (ret < 1) { + ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1"); + } + + List list = xxlJobRegistryDao.findAll(1); + + int ret2 = xxlJobRegistryDao.removeDead(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java new file mode 100644 index 0000000..a55c75f --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java @@ -0,0 +1,44 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.MailUtil; +import org.junit.Test; + +import java.text.MessageFormat; + +/** + * email util test + * + * @author xuxueli 2017-12-22 17:16:23 + */ +public class MailUtilTest { + + @Test + public void registryTest() throws Exception { + + String mailBodyTemplate = "
监控告警明细:" + + "\n" + + " " + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; + + mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); + + boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); + System.out.println(ret); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java new file mode 100644 index 0000000..5c8b7f0 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java @@ -0,0 +1,18 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.PropertiesUtil; +import org.junit.Test; + +/** + * prop util test + * + * @author xuxueli 2017-12-25 15:17:36 + */ +public class PropertiesUtilTest { + + @Test + public void registryTest() throws Exception { + System.out.println(PropertiesUtil.getString("xxl.job.login.username")); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java new file mode 100644 index 0000000..ae2f559 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java @@ -0,0 +1,66 @@ +package com.xxl.job.adminbiz; + +import com.xxl.job.core.biz.AdminBiz; +import com.xxl.job.core.biz.model.RegistryParam; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.enums.RegistryConfig; +import com.xxl.job.core.rpc.netcom.NetComClientProxy; +import org.junit.Assert; +import org.junit.Test; + +/** + * admin api test + * + * @author xuxueli 2017-07-28 22:14:52 + */ +public class AdminBizTest { + + // admin-client + private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); + private static String accessToken = null; + + /** + * registry executor + * + * @throws Exception + */ + @Test + public void registryTest() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registry(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * registry executor remove + * + * @throws Exception + */ + @Test + public void registryRemove() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry remove + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registryRemove(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * trigger job for once + * + * @throws Exception + */ + @Test + public void triggerJob() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + int jobId = 1; + ReturnT returnT = adminBiz.triggerJob(jobId); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java deleted file mode 100644 index 6ccea51..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.core.biz.AdminBiz; -import com.xxl.job.core.biz.model.RegistryParam; -import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.enums.RegistryConfig; -import com.xxl.job.core.rpc.netcom.NetComClientProxy; -import org.junit.Assert; -import org.junit.Test; - -/** - * admin api test - * - * @author xuxueli 2017-07-28 22:14:52 - */ -public class AdminBizTest { - - // admin-client - private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); - private static String accessToken = null; - - /** - * registry executor - * - * @throws Exception - */ - @Test - public void registryTest() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registry(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * registry executor remove - * - * @throws Exception - */ - @Test - public void registryRemove() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry remove - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registryRemove(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * trigger job for once - * - * @throws Exception - */ - @Test - public void triggerJob() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - int jobId = 1; - ReturnT returnT = adminBiz.triggerJob(jobId); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - -} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java new file mode 100644 index 0000000..02652bb --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java @@ -0,0 +1,62 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.XxlJobLogDao; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogDaoTest { + + @Resource + private XxlJobLogDao xxlJobLogDao; + + @Test + public void test(){ + List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); + int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); + + XxlJobLog log = new XxlJobLog(); + log.setJobGroup(1); + log.setJobId(1); + + int ret1 = xxlJobLogDao.save(log); + XxlJobLog dto = xxlJobLogDao.load(log.getId()); + + log.setGlueType("1"); + log.setTriggerTime(new Date()); + log.setTriggerCode(1); + log.setTriggerMsg("1"); + log.setExecutorAddress("1"); + log.setExecutorHandler("1"); + log.setExecutorParam("1"); + ret1 = xxlJobLogDao.updateTriggerInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + log.setHandleTime(new Date()); + log.setHandleCode(2); + log.setHandleMsg("2"); + ret1 = xxlJobLogDao.updateHandleInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); + + int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); + + int ret2 = xxlJobLogDao.delete(log.getJobId()); + + int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java new file mode 100644 index 0000000..a4adc44 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java @@ -0,0 +1,36 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLogGlue; +import com.xxl.job.admin.dao.XxlJobLogGlueDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogGlueDaoTest { + + @Resource + private XxlJobLogGlueDao xxlJobLogGlueDao; + + @Test + public void test(){ + XxlJobLogGlue logGlue = new XxlJobLogGlue(); + logGlue.setJobId(1); + logGlue.setGlueType("1"); + logGlue.setGlueSource("1"); + logGlue.setGlueRemark("1"); + int ret = xxlJobLogGlueDao.save(logGlue); + + List list = xxlJobLogGlueDao.findByJobId(1); + + int ret2 = xxlJobLogGlueDao.removeOld(1, 1); + + int ret3 =xxlJobLogGlueDao.deleteByJobId(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java new file mode 100644 index 0000000..6944872 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java @@ -0,0 +1,32 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobRegistry; +import com.xxl.job.admin.dao.XxlJobRegistryDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobRegistryDaoTest { + + @Resource + private XxlJobRegistryDao xxlJobRegistryDao; + + @Test + public void test(){ + int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1"); + if (ret < 1) { + ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1"); + } + + List list = xxlJobRegistryDao.findAll(1); + + int ret2 = xxlJobRegistryDao.removeDead(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java new file mode 100644 index 0000000..a55c75f --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java @@ -0,0 +1,44 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.MailUtil; +import org.junit.Test; + +import java.text.MessageFormat; + +/** + * email util test + * + * @author xuxueli 2017-12-22 17:16:23 + */ +public class MailUtilTest { + + @Test + public void registryTest() throws Exception { + + String mailBodyTemplate = "
监控告警明细:" + + "\n" + + " " + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; + + mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); + + boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); + System.out.println(ret); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java new file mode 100644 index 0000000..5c8b7f0 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java @@ -0,0 +1,18 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.PropertiesUtil; +import org.junit.Test; + +/** + * prop util test + * + * @author xuxueli 2017-12-25 15:17:36 + */ +public class PropertiesUtilTest { + + @Test + public void registryTest() throws Exception { + System.out.println(PropertiesUtil.getString("xxl.job.login.username")); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java new file mode 100644 index 0000000..ae2f559 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java @@ -0,0 +1,66 @@ +package com.xxl.job.adminbiz; + +import com.xxl.job.core.biz.AdminBiz; +import com.xxl.job.core.biz.model.RegistryParam; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.enums.RegistryConfig; +import com.xxl.job.core.rpc.netcom.NetComClientProxy; +import org.junit.Assert; +import org.junit.Test; + +/** + * admin api test + * + * @author xuxueli 2017-07-28 22:14:52 + */ +public class AdminBizTest { + + // admin-client + private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); + private static String accessToken = null; + + /** + * registry executor + * + * @throws Exception + */ + @Test + public void registryTest() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registry(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * registry executor remove + * + * @throws Exception + */ + @Test + public void registryRemove() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry remove + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registryRemove(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * trigger job for once + * + * @throws Exception + */ + @Test + public void triggerJob() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + int jobId = 1; + ReturnT returnT = adminBiz.triggerJob(jobId); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java deleted file mode 100644 index 6ccea51..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.core.biz.AdminBiz; -import com.xxl.job.core.biz.model.RegistryParam; -import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.enums.RegistryConfig; -import com.xxl.job.core.rpc.netcom.NetComClientProxy; -import org.junit.Assert; -import org.junit.Test; - -/** - * admin api test - * - * @author xuxueli 2017-07-28 22:14:52 - */ -public class AdminBizTest { - - // admin-client - private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); - private static String accessToken = null; - - /** - * registry executor - * - * @throws Exception - */ - @Test - public void registryTest() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registry(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * registry executor remove - * - * @throws Exception - */ - @Test - public void registryRemove() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry remove - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registryRemove(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * trigger job for once - * - * @throws Exception - */ - @Test - public void triggerJob() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - int jobId = 1; - ReturnT returnT = adminBiz.triggerJob(jobId); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java deleted file mode 100644 index 7f96673..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.util.MailUtil; -import org.junit.Test; - -import java.text.MessageFormat; - -/** - * email util test - * - * @author xuxueli 2017-12-22 17:16:23 - */ -public class MailUtilTest { - - @Test - public void registryTest() throws Exception { - - String mailBodyTemplate = "
监控告警明细:" + - "\n" + - " " + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; - - mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); - - boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); - System.out.println(ret); - } - -} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java new file mode 100644 index 0000000..02652bb --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java @@ -0,0 +1,62 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.XxlJobLogDao; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogDaoTest { + + @Resource + private XxlJobLogDao xxlJobLogDao; + + @Test + public void test(){ + List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); + int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); + + XxlJobLog log = new XxlJobLog(); + log.setJobGroup(1); + log.setJobId(1); + + int ret1 = xxlJobLogDao.save(log); + XxlJobLog dto = xxlJobLogDao.load(log.getId()); + + log.setGlueType("1"); + log.setTriggerTime(new Date()); + log.setTriggerCode(1); + log.setTriggerMsg("1"); + log.setExecutorAddress("1"); + log.setExecutorHandler("1"); + log.setExecutorParam("1"); + ret1 = xxlJobLogDao.updateTriggerInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + log.setHandleTime(new Date()); + log.setHandleCode(2); + log.setHandleMsg("2"); + ret1 = xxlJobLogDao.updateHandleInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); + + int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); + + int ret2 = xxlJobLogDao.delete(log.getJobId()); + + int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java new file mode 100644 index 0000000..a4adc44 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java @@ -0,0 +1,36 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLogGlue; +import com.xxl.job.admin.dao.XxlJobLogGlueDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogGlueDaoTest { + + @Resource + private XxlJobLogGlueDao xxlJobLogGlueDao; + + @Test + public void test(){ + XxlJobLogGlue logGlue = new XxlJobLogGlue(); + logGlue.setJobId(1); + logGlue.setGlueType("1"); + logGlue.setGlueSource("1"); + logGlue.setGlueRemark("1"); + int ret = xxlJobLogGlueDao.save(logGlue); + + List list = xxlJobLogGlueDao.findByJobId(1); + + int ret2 = xxlJobLogGlueDao.removeOld(1, 1); + + int ret3 =xxlJobLogGlueDao.deleteByJobId(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java new file mode 100644 index 0000000..6944872 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java @@ -0,0 +1,32 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobRegistry; +import com.xxl.job.admin.dao.XxlJobRegistryDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobRegistryDaoTest { + + @Resource + private XxlJobRegistryDao xxlJobRegistryDao; + + @Test + public void test(){ + int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1"); + if (ret < 1) { + ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1"); + } + + List list = xxlJobRegistryDao.findAll(1); + + int ret2 = xxlJobRegistryDao.removeDead(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java new file mode 100644 index 0000000..a55c75f --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java @@ -0,0 +1,44 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.MailUtil; +import org.junit.Test; + +import java.text.MessageFormat; + +/** + * email util test + * + * @author xuxueli 2017-12-22 17:16:23 + */ +public class MailUtilTest { + + @Test + public void registryTest() throws Exception { + + String mailBodyTemplate = "
监控告警明细:" + + "\n" + + " " + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; + + mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); + + boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); + System.out.println(ret); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java new file mode 100644 index 0000000..5c8b7f0 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java @@ -0,0 +1,18 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.PropertiesUtil; +import org.junit.Test; + +/** + * prop util test + * + * @author xuxueli 2017-12-25 15:17:36 + */ +public class PropertiesUtilTest { + + @Test + public void registryTest() throws Exception { + System.out.println(PropertiesUtil.getString("xxl.job.login.username")); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java new file mode 100644 index 0000000..ae2f559 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java @@ -0,0 +1,66 @@ +package com.xxl.job.adminbiz; + +import com.xxl.job.core.biz.AdminBiz; +import com.xxl.job.core.biz.model.RegistryParam; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.enums.RegistryConfig; +import com.xxl.job.core.rpc.netcom.NetComClientProxy; +import org.junit.Assert; +import org.junit.Test; + +/** + * admin api test + * + * @author xuxueli 2017-07-28 22:14:52 + */ +public class AdminBizTest { + + // admin-client + private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); + private static String accessToken = null; + + /** + * registry executor + * + * @throws Exception + */ + @Test + public void registryTest() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registry(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * registry executor remove + * + * @throws Exception + */ + @Test + public void registryRemove() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry remove + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registryRemove(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * trigger job for once + * + * @throws Exception + */ + @Test + public void triggerJob() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + int jobId = 1; + ReturnT returnT = adminBiz.triggerJob(jobId); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java deleted file mode 100644 index 6ccea51..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.core.biz.AdminBiz; -import com.xxl.job.core.biz.model.RegistryParam; -import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.enums.RegistryConfig; -import com.xxl.job.core.rpc.netcom.NetComClientProxy; -import org.junit.Assert; -import org.junit.Test; - -/** - * admin api test - * - * @author xuxueli 2017-07-28 22:14:52 - */ -public class AdminBizTest { - - // admin-client - private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); - private static String accessToken = null; - - /** - * registry executor - * - * @throws Exception - */ - @Test - public void registryTest() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registry(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * registry executor remove - * - * @throws Exception - */ - @Test - public void registryRemove() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry remove - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registryRemove(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * trigger job for once - * - * @throws Exception - */ - @Test - public void triggerJob() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - int jobId = 1; - ReturnT returnT = adminBiz.triggerJob(jobId); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java deleted file mode 100644 index 7f96673..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.util.MailUtil; -import org.junit.Test; - -import java.text.MessageFormat; - -/** - * email util test - * - * @author xuxueli 2017-12-22 17:16:23 - */ -public class MailUtilTest { - - @Test - public void registryTest() throws Exception { - - String mailBodyTemplate = "
监控告警明细:" + - "\n" + - " " + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; - - mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); - - boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); - System.out.println(ret); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java deleted file mode 100644 index 122d478..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobGroup; -import com.xxl.job.admin.dao.XxlJobGroupDao; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.List; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobGroupDaoTest { - - @Resource - private XxlJobGroupDao xxlJobGroupDao; - - @Test - public void test(){ - List list = xxlJobGroupDao.findAll(); - - List list2 = xxlJobGroupDao.findByAddressType(0); - - XxlJobGroup group = new XxlJobGroup(); - group.setAppName("setAppName"); - group.setTitle("setTitle"); - group.setOrder(1); - group.setAddressType(0); - group.setAddressList("setAddressList"); - - int ret = xxlJobGroupDao.save(group); - - XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); - group2.setAppName("setAppName2"); - group2.setTitle("setTitle2"); - group2.setOrder(2); - group2.setAddressType(2); - group2.setAddressList("setAddressList2"); - - int ret2 = xxlJobGroupDao.update(group2); - - int ret3 = xxlJobGroupDao.remove(group.getId()); - } - -} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java new file mode 100644 index 0000000..02652bb --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java @@ -0,0 +1,62 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.XxlJobLogDao; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogDaoTest { + + @Resource + private XxlJobLogDao xxlJobLogDao; + + @Test + public void test(){ + List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); + int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); + + XxlJobLog log = new XxlJobLog(); + log.setJobGroup(1); + log.setJobId(1); + + int ret1 = xxlJobLogDao.save(log); + XxlJobLog dto = xxlJobLogDao.load(log.getId()); + + log.setGlueType("1"); + log.setTriggerTime(new Date()); + log.setTriggerCode(1); + log.setTriggerMsg("1"); + log.setExecutorAddress("1"); + log.setExecutorHandler("1"); + log.setExecutorParam("1"); + ret1 = xxlJobLogDao.updateTriggerInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + log.setHandleTime(new Date()); + log.setHandleCode(2); + log.setHandleMsg("2"); + ret1 = xxlJobLogDao.updateHandleInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); + + int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); + + int ret2 = xxlJobLogDao.delete(log.getJobId()); + + int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java new file mode 100644 index 0000000..a4adc44 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java @@ -0,0 +1,36 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLogGlue; +import com.xxl.job.admin.dao.XxlJobLogGlueDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogGlueDaoTest { + + @Resource + private XxlJobLogGlueDao xxlJobLogGlueDao; + + @Test + public void test(){ + XxlJobLogGlue logGlue = new XxlJobLogGlue(); + logGlue.setJobId(1); + logGlue.setGlueType("1"); + logGlue.setGlueSource("1"); + logGlue.setGlueRemark("1"); + int ret = xxlJobLogGlueDao.save(logGlue); + + List list = xxlJobLogGlueDao.findByJobId(1); + + int ret2 = xxlJobLogGlueDao.removeOld(1, 1); + + int ret3 =xxlJobLogGlueDao.deleteByJobId(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java new file mode 100644 index 0000000..6944872 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java @@ -0,0 +1,32 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobRegistry; +import com.xxl.job.admin.dao.XxlJobRegistryDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobRegistryDaoTest { + + @Resource + private XxlJobRegistryDao xxlJobRegistryDao; + + @Test + public void test(){ + int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1"); + if (ret < 1) { + ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1"); + } + + List list = xxlJobRegistryDao.findAll(1); + + int ret2 = xxlJobRegistryDao.removeDead(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java new file mode 100644 index 0000000..a55c75f --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java @@ -0,0 +1,44 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.MailUtil; +import org.junit.Test; + +import java.text.MessageFormat; + +/** + * email util test + * + * @author xuxueli 2017-12-22 17:16:23 + */ +public class MailUtilTest { + + @Test + public void registryTest() throws Exception { + + String mailBodyTemplate = "
监控告警明细:" + + "\n" + + " " + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; + + mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); + + boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); + System.out.println(ret); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java new file mode 100644 index 0000000..5c8b7f0 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java @@ -0,0 +1,18 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.PropertiesUtil; +import org.junit.Test; + +/** + * prop util test + * + * @author xuxueli 2017-12-25 15:17:36 + */ +public class PropertiesUtilTest { + + @Test + public void registryTest() throws Exception { + System.out.println(PropertiesUtil.getString("xxl.job.login.username")); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java new file mode 100644 index 0000000..ae2f559 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java @@ -0,0 +1,66 @@ +package com.xxl.job.adminbiz; + +import com.xxl.job.core.biz.AdminBiz; +import com.xxl.job.core.biz.model.RegistryParam; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.enums.RegistryConfig; +import com.xxl.job.core.rpc.netcom.NetComClientProxy; +import org.junit.Assert; +import org.junit.Test; + +/** + * admin api test + * + * @author xuxueli 2017-07-28 22:14:52 + */ +public class AdminBizTest { + + // admin-client + private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); + private static String accessToken = null; + + /** + * registry executor + * + * @throws Exception + */ + @Test + public void registryTest() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registry(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * registry executor remove + * + * @throws Exception + */ + @Test + public void registryRemove() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry remove + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registryRemove(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * trigger job for once + * + * @throws Exception + */ + @Test + public void triggerJob() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + int jobId = 1; + ReturnT returnT = adminBiz.triggerJob(jobId); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java deleted file mode 100644 index 6ccea51..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.core.biz.AdminBiz; -import com.xxl.job.core.biz.model.RegistryParam; -import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.enums.RegistryConfig; -import com.xxl.job.core.rpc.netcom.NetComClientProxy; -import org.junit.Assert; -import org.junit.Test; - -/** - * admin api test - * - * @author xuxueli 2017-07-28 22:14:52 - */ -public class AdminBizTest { - - // admin-client - private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); - private static String accessToken = null; - - /** - * registry executor - * - * @throws Exception - */ - @Test - public void registryTest() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registry(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * registry executor remove - * - * @throws Exception - */ - @Test - public void registryRemove() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry remove - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registryRemove(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * trigger job for once - * - * @throws Exception - */ - @Test - public void triggerJob() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - int jobId = 1; - ReturnT returnT = adminBiz.triggerJob(jobId); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java deleted file mode 100644 index 7f96673..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.util.MailUtil; -import org.junit.Test; - -import java.text.MessageFormat; - -/** - * email util test - * - * @author xuxueli 2017-12-22 17:16:23 - */ -public class MailUtilTest { - - @Test - public void registryTest() throws Exception { - - String mailBodyTemplate = "
监控告警明细:" + - "\n" + - " " + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; - - mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); - - boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); - System.out.println(ret); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java deleted file mode 100644 index 122d478..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobGroup; -import com.xxl.job.admin.dao.XxlJobGroupDao; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.List; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobGroupDaoTest { - - @Resource - private XxlJobGroupDao xxlJobGroupDao; - - @Test - public void test(){ - List list = xxlJobGroupDao.findAll(); - - List list2 = xxlJobGroupDao.findByAddressType(0); - - XxlJobGroup group = new XxlJobGroup(); - group.setAppName("setAppName"); - group.setTitle("setTitle"); - group.setOrder(1); - group.setAddressType(0); - group.setAddressList("setAddressList"); - - int ret = xxlJobGroupDao.save(group); - - XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); - group2.setAppName("setAppName2"); - group2.setTitle("setTitle2"); - group2.setOrder(2); - group2.setAddressType(2); - group2.setAddressList("setAddressList2"); - - int ret2 = xxlJobGroupDao.update(group2); - - int ret3 = xxlJobGroupDao.remove(group.getId()); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java deleted file mode 100644 index d7d17d2..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobInfo; -import com.xxl.job.admin.dao.XxlJobInfoDao; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.Date; -import java.util.List; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobInfoTest { - - @Resource - private XxlJobInfoDao xxlJobInfoDao; - - @Test - public void pageList(){ - List list = xxlJobInfoDao.pageList(0, 20, 0, null); - int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); - - System.out.println(list); - System.out.println(list_count); - - List list2 = xxlJobInfoDao.getJobsByGroup(1); - } - - @Test - public void save_load(){ - XxlJobInfo info = new XxlJobInfo(); - info.setJobGroup(1); - info.setJobCron("jobCron"); - info.setJobDesc("desc"); - info.setAuthor("setAuthor"); - info.setAlarmEmail("setAlarmEmail"); - info.setExecutorRouteStrategy("setExecutorRouteStrategy"); - info.setExecutorHandler("setExecutorHandler"); - info.setExecutorParam("setExecutorParam"); - info.setExecutorBlockStrategy("setExecutorBlockStrategy"); - info.setExecutorFailStrategy("setExecutorFailStrategy"); - info.setGlueType("setGlueType"); - info.setGlueSource("setGlueSource"); - info.setGlueRemark("setGlueRemark"); - info.setChildJobKey("setChildJobKey"); - - int count = xxlJobInfoDao.save(info); - - XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); - info2.setJobCron("jobCron2"); - info2.setJobDesc("desc2"); - info2.setAuthor("setAuthor2"); - info2.setAlarmEmail("setAlarmEmail2"); - info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); - info2.setExecutorHandler("setExecutorHandler2"); - info2.setExecutorParam("setExecutorParam2"); - info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); - info2.setExecutorFailStrategy("setExecutorFailStrategy2"); - info2.setGlueType("setGlueType2"); - info2.setGlueSource("setGlueSource2"); - info2.setGlueRemark("setGlueRemark2"); - info2.setGlueUpdatetime(new Date()); - info2.setChildJobKey("setChildJobKey2"); - - int item2 = xxlJobInfoDao.update(info2); - - xxlJobInfoDao.delete(info2.getId()); - - List list2 = xxlJobInfoDao.getJobsByGroup(1); - - int ret3 = xxlJobInfoDao.findAllCount(); - - } - -} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java new file mode 100644 index 0000000..02652bb --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java @@ -0,0 +1,62 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.XxlJobLogDao; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogDaoTest { + + @Resource + private XxlJobLogDao xxlJobLogDao; + + @Test + public void test(){ + List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); + int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); + + XxlJobLog log = new XxlJobLog(); + log.setJobGroup(1); + log.setJobId(1); + + int ret1 = xxlJobLogDao.save(log); + XxlJobLog dto = xxlJobLogDao.load(log.getId()); + + log.setGlueType("1"); + log.setTriggerTime(new Date()); + log.setTriggerCode(1); + log.setTriggerMsg("1"); + log.setExecutorAddress("1"); + log.setExecutorHandler("1"); + log.setExecutorParam("1"); + ret1 = xxlJobLogDao.updateTriggerInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + log.setHandleTime(new Date()); + log.setHandleCode(2); + log.setHandleMsg("2"); + ret1 = xxlJobLogDao.updateHandleInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); + + int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); + + int ret2 = xxlJobLogDao.delete(log.getJobId()); + + int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java new file mode 100644 index 0000000..a4adc44 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java @@ -0,0 +1,36 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLogGlue; +import com.xxl.job.admin.dao.XxlJobLogGlueDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogGlueDaoTest { + + @Resource + private XxlJobLogGlueDao xxlJobLogGlueDao; + + @Test + public void test(){ + XxlJobLogGlue logGlue = new XxlJobLogGlue(); + logGlue.setJobId(1); + logGlue.setGlueType("1"); + logGlue.setGlueSource("1"); + logGlue.setGlueRemark("1"); + int ret = xxlJobLogGlueDao.save(logGlue); + + List list = xxlJobLogGlueDao.findByJobId(1); + + int ret2 = xxlJobLogGlueDao.removeOld(1, 1); + + int ret3 =xxlJobLogGlueDao.deleteByJobId(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java new file mode 100644 index 0000000..6944872 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java @@ -0,0 +1,32 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobRegistry; +import com.xxl.job.admin.dao.XxlJobRegistryDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobRegistryDaoTest { + + @Resource + private XxlJobRegistryDao xxlJobRegistryDao; + + @Test + public void test(){ + int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1"); + if (ret < 1) { + ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1"); + } + + List list = xxlJobRegistryDao.findAll(1); + + int ret2 = xxlJobRegistryDao.removeDead(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java new file mode 100644 index 0000000..a55c75f --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java @@ -0,0 +1,44 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.MailUtil; +import org.junit.Test; + +import java.text.MessageFormat; + +/** + * email util test + * + * @author xuxueli 2017-12-22 17:16:23 + */ +public class MailUtilTest { + + @Test + public void registryTest() throws Exception { + + String mailBodyTemplate = "
监控告警明细:" + + "\n" + + " " + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; + + mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); + + boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); + System.out.println(ret); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java new file mode 100644 index 0000000..5c8b7f0 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java @@ -0,0 +1,18 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.PropertiesUtil; +import org.junit.Test; + +/** + * prop util test + * + * @author xuxueli 2017-12-25 15:17:36 + */ +public class PropertiesUtilTest { + + @Test + public void registryTest() throws Exception { + System.out.println(PropertiesUtil.getString("xxl.job.login.username")); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java new file mode 100644 index 0000000..ae2f559 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java @@ -0,0 +1,66 @@ +package com.xxl.job.adminbiz; + +import com.xxl.job.core.biz.AdminBiz; +import com.xxl.job.core.biz.model.RegistryParam; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.enums.RegistryConfig; +import com.xxl.job.core.rpc.netcom.NetComClientProxy; +import org.junit.Assert; +import org.junit.Test; + +/** + * admin api test + * + * @author xuxueli 2017-07-28 22:14:52 + */ +public class AdminBizTest { + + // admin-client + private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); + private static String accessToken = null; + + /** + * registry executor + * + * @throws Exception + */ + @Test + public void registryTest() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registry(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * registry executor remove + * + * @throws Exception + */ + @Test + public void registryRemove() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry remove + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registryRemove(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * trigger job for once + * + * @throws Exception + */ + @Test + public void triggerJob() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + int jobId = 1; + ReturnT returnT = adminBiz.triggerJob(jobId); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java deleted file mode 100644 index 6ccea51..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.core.biz.AdminBiz; -import com.xxl.job.core.biz.model.RegistryParam; -import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.enums.RegistryConfig; -import com.xxl.job.core.rpc.netcom.NetComClientProxy; -import org.junit.Assert; -import org.junit.Test; - -/** - * admin api test - * - * @author xuxueli 2017-07-28 22:14:52 - */ -public class AdminBizTest { - - // admin-client - private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); - private static String accessToken = null; - - /** - * registry executor - * - * @throws Exception - */ - @Test - public void registryTest() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registry(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * registry executor remove - * - * @throws Exception - */ - @Test - public void registryRemove() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry remove - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registryRemove(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * trigger job for once - * - * @throws Exception - */ - @Test - public void triggerJob() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - int jobId = 1; - ReturnT returnT = adminBiz.triggerJob(jobId); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java deleted file mode 100644 index 7f96673..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.util.MailUtil; -import org.junit.Test; - -import java.text.MessageFormat; - -/** - * email util test - * - * @author xuxueli 2017-12-22 17:16:23 - */ -public class MailUtilTest { - - @Test - public void registryTest() throws Exception { - - String mailBodyTemplate = "
监控告警明细:" + - "\n" + - " " + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; - - mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); - - boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); - System.out.println(ret); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java deleted file mode 100644 index 122d478..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobGroup; -import com.xxl.job.admin.dao.XxlJobGroupDao; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.List; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobGroupDaoTest { - - @Resource - private XxlJobGroupDao xxlJobGroupDao; - - @Test - public void test(){ - List list = xxlJobGroupDao.findAll(); - - List list2 = xxlJobGroupDao.findByAddressType(0); - - XxlJobGroup group = new XxlJobGroup(); - group.setAppName("setAppName"); - group.setTitle("setTitle"); - group.setOrder(1); - group.setAddressType(0); - group.setAddressList("setAddressList"); - - int ret = xxlJobGroupDao.save(group); - - XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); - group2.setAppName("setAppName2"); - group2.setTitle("setTitle2"); - group2.setOrder(2); - group2.setAddressType(2); - group2.setAddressList("setAddressList2"); - - int ret2 = xxlJobGroupDao.update(group2); - - int ret3 = xxlJobGroupDao.remove(group.getId()); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java deleted file mode 100644 index d7d17d2..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobInfo; -import com.xxl.job.admin.dao.XxlJobInfoDao; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.Date; -import java.util.List; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobInfoTest { - - @Resource - private XxlJobInfoDao xxlJobInfoDao; - - @Test - public void pageList(){ - List list = xxlJobInfoDao.pageList(0, 20, 0, null); - int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); - - System.out.println(list); - System.out.println(list_count); - - List list2 = xxlJobInfoDao.getJobsByGroup(1); - } - - @Test - public void save_load(){ - XxlJobInfo info = new XxlJobInfo(); - info.setJobGroup(1); - info.setJobCron("jobCron"); - info.setJobDesc("desc"); - info.setAuthor("setAuthor"); - info.setAlarmEmail("setAlarmEmail"); - info.setExecutorRouteStrategy("setExecutorRouteStrategy"); - info.setExecutorHandler("setExecutorHandler"); - info.setExecutorParam("setExecutorParam"); - info.setExecutorBlockStrategy("setExecutorBlockStrategy"); - info.setExecutorFailStrategy("setExecutorFailStrategy"); - info.setGlueType("setGlueType"); - info.setGlueSource("setGlueSource"); - info.setGlueRemark("setGlueRemark"); - info.setChildJobKey("setChildJobKey"); - - int count = xxlJobInfoDao.save(info); - - XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); - info2.setJobCron("jobCron2"); - info2.setJobDesc("desc2"); - info2.setAuthor("setAuthor2"); - info2.setAlarmEmail("setAlarmEmail2"); - info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); - info2.setExecutorHandler("setExecutorHandler2"); - info2.setExecutorParam("setExecutorParam2"); - info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); - info2.setExecutorFailStrategy("setExecutorFailStrategy2"); - info2.setGlueType("setGlueType2"); - info2.setGlueSource("setGlueSource2"); - info2.setGlueRemark("setGlueRemark2"); - info2.setGlueUpdatetime(new Date()); - info2.setChildJobKey("setChildJobKey2"); - - int item2 = xxlJobInfoDao.update(info2); - - xxlJobInfoDao.delete(info2.getId()); - - List list2 = xxlJobInfoDao.getJobsByGroup(1); - - int ret3 = xxlJobInfoDao.findAllCount(); - - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogDaoTest.java deleted file mode 100644 index eb65984..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogDaoTest.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobLog; -import com.xxl.job.admin.dao.XxlJobLogDao; -import org.apache.commons.lang3.time.DateUtils; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.Date; -import java.util.List; -import java.util.Map; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobLogDaoTest { - - @Resource - private XxlJobLogDao xxlJobLogDao; - - @Test - public void test(){ - List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); - int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); - - XxlJobLog log = new XxlJobLog(); - log.setJobGroup(1); - log.setJobId(1); - - int ret1 = xxlJobLogDao.save(log); - XxlJobLog dto = xxlJobLogDao.load(log.getId()); - - log.setGlueType("1"); - log.setTriggerTime(new Date()); - log.setTriggerCode(1); - log.setTriggerMsg("1"); - log.setExecutorAddress("1"); - log.setExecutorHandler("1"); - log.setExecutorParam("1"); - ret1 = xxlJobLogDao.updateTriggerInfo(log); - dto = xxlJobLogDao.load(log.getId()); - - - log.setHandleTime(new Date()); - log.setHandleCode(2); - log.setHandleMsg("2"); - ret1 = xxlJobLogDao.updateHandleInfo(log); - dto = xxlJobLogDao.load(log.getId()); - - - List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); - - int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); - - int ret2 = xxlJobLogDao.delete(log.getJobId()); - - int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); - } - -} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java new file mode 100644 index 0000000..02652bb --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java @@ -0,0 +1,62 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.XxlJobLogDao; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogDaoTest { + + @Resource + private XxlJobLogDao xxlJobLogDao; + + @Test + public void test(){ + List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); + int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); + + XxlJobLog log = new XxlJobLog(); + log.setJobGroup(1); + log.setJobId(1); + + int ret1 = xxlJobLogDao.save(log); + XxlJobLog dto = xxlJobLogDao.load(log.getId()); + + log.setGlueType("1"); + log.setTriggerTime(new Date()); + log.setTriggerCode(1); + log.setTriggerMsg("1"); + log.setExecutorAddress("1"); + log.setExecutorHandler("1"); + log.setExecutorParam("1"); + ret1 = xxlJobLogDao.updateTriggerInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + log.setHandleTime(new Date()); + log.setHandleCode(2); + log.setHandleMsg("2"); + ret1 = xxlJobLogDao.updateHandleInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); + + int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); + + int ret2 = xxlJobLogDao.delete(log.getJobId()); + + int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java new file mode 100644 index 0000000..a4adc44 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java @@ -0,0 +1,36 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLogGlue; +import com.xxl.job.admin.dao.XxlJobLogGlueDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogGlueDaoTest { + + @Resource + private XxlJobLogGlueDao xxlJobLogGlueDao; + + @Test + public void test(){ + XxlJobLogGlue logGlue = new XxlJobLogGlue(); + logGlue.setJobId(1); + logGlue.setGlueType("1"); + logGlue.setGlueSource("1"); + logGlue.setGlueRemark("1"); + int ret = xxlJobLogGlueDao.save(logGlue); + + List list = xxlJobLogGlueDao.findByJobId(1); + + int ret2 = xxlJobLogGlueDao.removeOld(1, 1); + + int ret3 =xxlJobLogGlueDao.deleteByJobId(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java new file mode 100644 index 0000000..6944872 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java @@ -0,0 +1,32 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobRegistry; +import com.xxl.job.admin.dao.XxlJobRegistryDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobRegistryDaoTest { + + @Resource + private XxlJobRegistryDao xxlJobRegistryDao; + + @Test + public void test(){ + int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1"); + if (ret < 1) { + ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1"); + } + + List list = xxlJobRegistryDao.findAll(1); + + int ret2 = xxlJobRegistryDao.removeDead(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java new file mode 100644 index 0000000..a55c75f --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java @@ -0,0 +1,44 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.MailUtil; +import org.junit.Test; + +import java.text.MessageFormat; + +/** + * email util test + * + * @author xuxueli 2017-12-22 17:16:23 + */ +public class MailUtilTest { + + @Test + public void registryTest() throws Exception { + + String mailBodyTemplate = "
监控告警明细:" + + "\n" + + " " + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; + + mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); + + boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); + System.out.println(ret); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java new file mode 100644 index 0000000..5c8b7f0 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java @@ -0,0 +1,18 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.PropertiesUtil; +import org.junit.Test; + +/** + * prop util test + * + * @author xuxueli 2017-12-25 15:17:36 + */ +public class PropertiesUtilTest { + + @Test + public void registryTest() throws Exception { + System.out.println(PropertiesUtil.getString("xxl.job.login.username")); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java new file mode 100644 index 0000000..ae2f559 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java @@ -0,0 +1,66 @@ +package com.xxl.job.adminbiz; + +import com.xxl.job.core.biz.AdminBiz; +import com.xxl.job.core.biz.model.RegistryParam; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.enums.RegistryConfig; +import com.xxl.job.core.rpc.netcom.NetComClientProxy; +import org.junit.Assert; +import org.junit.Test; + +/** + * admin api test + * + * @author xuxueli 2017-07-28 22:14:52 + */ +public class AdminBizTest { + + // admin-client + private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); + private static String accessToken = null; + + /** + * registry executor + * + * @throws Exception + */ + @Test + public void registryTest() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registry(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * registry executor remove + * + * @throws Exception + */ + @Test + public void registryRemove() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry remove + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registryRemove(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * trigger job for once + * + * @throws Exception + */ + @Test + public void triggerJob() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + int jobId = 1; + ReturnT returnT = adminBiz.triggerJob(jobId); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java deleted file mode 100644 index 6ccea51..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.core.biz.AdminBiz; -import com.xxl.job.core.biz.model.RegistryParam; -import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.enums.RegistryConfig; -import com.xxl.job.core.rpc.netcom.NetComClientProxy; -import org.junit.Assert; -import org.junit.Test; - -/** - * admin api test - * - * @author xuxueli 2017-07-28 22:14:52 - */ -public class AdminBizTest { - - // admin-client - private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); - private static String accessToken = null; - - /** - * registry executor - * - * @throws Exception - */ - @Test - public void registryTest() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registry(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * registry executor remove - * - * @throws Exception - */ - @Test - public void registryRemove() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry remove - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registryRemove(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * trigger job for once - * - * @throws Exception - */ - @Test - public void triggerJob() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - int jobId = 1; - ReturnT returnT = adminBiz.triggerJob(jobId); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java deleted file mode 100644 index 7f96673..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.util.MailUtil; -import org.junit.Test; - -import java.text.MessageFormat; - -/** - * email util test - * - * @author xuxueli 2017-12-22 17:16:23 - */ -public class MailUtilTest { - - @Test - public void registryTest() throws Exception { - - String mailBodyTemplate = "
监控告警明细:" + - "\n" + - " " + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; - - mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); - - boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); - System.out.println(ret); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java deleted file mode 100644 index 122d478..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobGroup; -import com.xxl.job.admin.dao.XxlJobGroupDao; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.List; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobGroupDaoTest { - - @Resource - private XxlJobGroupDao xxlJobGroupDao; - - @Test - public void test(){ - List list = xxlJobGroupDao.findAll(); - - List list2 = xxlJobGroupDao.findByAddressType(0); - - XxlJobGroup group = new XxlJobGroup(); - group.setAppName("setAppName"); - group.setTitle("setTitle"); - group.setOrder(1); - group.setAddressType(0); - group.setAddressList("setAddressList"); - - int ret = xxlJobGroupDao.save(group); - - XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); - group2.setAppName("setAppName2"); - group2.setTitle("setTitle2"); - group2.setOrder(2); - group2.setAddressType(2); - group2.setAddressList("setAddressList2"); - - int ret2 = xxlJobGroupDao.update(group2); - - int ret3 = xxlJobGroupDao.remove(group.getId()); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java deleted file mode 100644 index d7d17d2..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobInfo; -import com.xxl.job.admin.dao.XxlJobInfoDao; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.Date; -import java.util.List; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobInfoTest { - - @Resource - private XxlJobInfoDao xxlJobInfoDao; - - @Test - public void pageList(){ - List list = xxlJobInfoDao.pageList(0, 20, 0, null); - int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); - - System.out.println(list); - System.out.println(list_count); - - List list2 = xxlJobInfoDao.getJobsByGroup(1); - } - - @Test - public void save_load(){ - XxlJobInfo info = new XxlJobInfo(); - info.setJobGroup(1); - info.setJobCron("jobCron"); - info.setJobDesc("desc"); - info.setAuthor("setAuthor"); - info.setAlarmEmail("setAlarmEmail"); - info.setExecutorRouteStrategy("setExecutorRouteStrategy"); - info.setExecutorHandler("setExecutorHandler"); - info.setExecutorParam("setExecutorParam"); - info.setExecutorBlockStrategy("setExecutorBlockStrategy"); - info.setExecutorFailStrategy("setExecutorFailStrategy"); - info.setGlueType("setGlueType"); - info.setGlueSource("setGlueSource"); - info.setGlueRemark("setGlueRemark"); - info.setChildJobKey("setChildJobKey"); - - int count = xxlJobInfoDao.save(info); - - XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); - info2.setJobCron("jobCron2"); - info2.setJobDesc("desc2"); - info2.setAuthor("setAuthor2"); - info2.setAlarmEmail("setAlarmEmail2"); - info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); - info2.setExecutorHandler("setExecutorHandler2"); - info2.setExecutorParam("setExecutorParam2"); - info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); - info2.setExecutorFailStrategy("setExecutorFailStrategy2"); - info2.setGlueType("setGlueType2"); - info2.setGlueSource("setGlueSource2"); - info2.setGlueRemark("setGlueRemark2"); - info2.setGlueUpdatetime(new Date()); - info2.setChildJobKey("setChildJobKey2"); - - int item2 = xxlJobInfoDao.update(info2); - - xxlJobInfoDao.delete(info2.getId()); - - List list2 = xxlJobInfoDao.getJobsByGroup(1); - - int ret3 = xxlJobInfoDao.findAllCount(); - - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogDaoTest.java deleted file mode 100644 index eb65984..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogDaoTest.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobLog; -import com.xxl.job.admin.dao.XxlJobLogDao; -import org.apache.commons.lang3.time.DateUtils; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.Date; -import java.util.List; -import java.util.Map; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobLogDaoTest { - - @Resource - private XxlJobLogDao xxlJobLogDao; - - @Test - public void test(){ - List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); - int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); - - XxlJobLog log = new XxlJobLog(); - log.setJobGroup(1); - log.setJobId(1); - - int ret1 = xxlJobLogDao.save(log); - XxlJobLog dto = xxlJobLogDao.load(log.getId()); - - log.setGlueType("1"); - log.setTriggerTime(new Date()); - log.setTriggerCode(1); - log.setTriggerMsg("1"); - log.setExecutorAddress("1"); - log.setExecutorHandler("1"); - log.setExecutorParam("1"); - ret1 = xxlJobLogDao.updateTriggerInfo(log); - dto = xxlJobLogDao.load(log.getId()); - - - log.setHandleTime(new Date()); - log.setHandleCode(2); - log.setHandleMsg("2"); - ret1 = xxlJobLogDao.updateHandleInfo(log); - dto = xxlJobLogDao.load(log.getId()); - - - List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); - - int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); - - int ret2 = xxlJobLogDao.delete(log.getJobId()); - - int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogGlueDaoTest.java deleted file mode 100644 index fe8ebc8..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogGlueDaoTest.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobLogGlue; -import com.xxl.job.admin.dao.XxlJobLogGlueDao; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.List; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobLogGlueDaoTest { - - @Resource - private XxlJobLogGlueDao xxlJobLogGlueDao; - - @Test - public void test(){ - XxlJobLogGlue logGlue = new XxlJobLogGlue(); - logGlue.setJobId(1); - logGlue.setGlueType("1"); - logGlue.setGlueSource("1"); - logGlue.setGlueRemark("1"); - int ret = xxlJobLogGlueDao.save(logGlue); - - List list = xxlJobLogGlueDao.findByJobId(1); - - int ret2 = xxlJobLogGlueDao.removeOld(1, 1); - - int ret3 =xxlJobLogGlueDao.deleteByJobId(1); - } - -} diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 7e7a505..b9fa7b7 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" @@ -834,7 +834,7 @@ 调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java -调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java +调度中心API服务请求参考代码:com.xxl.job.adminbiz.AdminBizTest.java ### 5.12 执行器API服务 执行器提供了API服务,供调度中心选择使用,目前提供的API服务有: @@ -1097,6 +1097,7 @@ - 22、调度中心项目日志配置改为xml文件格式; - 23、Log地址格式兼容,支持非"/"结尾路径配置; - 24、底层系统日志级别规范调整,清理遗留代码; +- 25、建表SQL优化,支持同步创建制定编码的库和表; ### TODO LIST diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java index ed80e70..a3c6007 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java @@ -12,6 +12,7 @@ /** * properties util + * * @author xuxueli 2015-8-28 10:35:53 */ public class PropertiesUtil { @@ -33,9 +34,5 @@ } return null; } - - public static void main(String[] args) { - System.out.println(getString("xxl.job.login.username")); - } } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java index 3aab69d..bb15620 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/AbstractSpringMvcTest.java @@ -14,6 +14,7 @@ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:spring/*.xml"}) public class AbstractSpringMvcTest { + @Autowired private WebApplicationContext applicationContext; protected MockMvc mockMvc; @@ -22,4 +23,5 @@ public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.applicationContext).build(); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java deleted file mode 100644 index 1eb7674..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/IndexControllerTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xxl.job.admin.controller; - -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.test.web.servlet.MvcResult; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; - -public class IndexControllerTest extends AbstractSpringMvcTest { - - @Test - public void testLogin() throws Exception { - MvcResult ret = mockMvc.perform( - post("/login") - .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") - ).andReturn(); - - System.out.println(ret.getResponse().getContentAsString()); - } -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java index 33df92e..8da5fda 100644 --- a/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/controller/JobInfoControllerTest.java @@ -1,52 +1,47 @@ package com.xxl.job.admin.controller; -import com.xxl.job.admin.core.model.XxlJobInfo; -import org.codehaus.jackson.map.ObjectMapper; +import com.xxl.job.admin.controller.interceptor.PermissionInterceptor; +import com.xxl.job.admin.core.util.PropertiesUtil; import org.junit.Before; import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import javax.servlet.http.Cookie; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; public class JobInfoControllerTest extends AbstractSpringMvcTest { - Cookie cookie; + + private Cookie cookie; @Before public void login() throws Exception { MvcResult ret = mockMvc.perform( post("/login") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .param("userName", "admin") - .param("password", "123456") + .param("userName", PropertiesUtil.getString("xxl.job.login.username")) + .param("password", PropertiesUtil.getString("xxl.job.login.password")) ).andReturn(); - cookie = ret.getResponse().getCookie("LOGIN_IDENTITY"); + cookie = ret.getResponse().getCookie(PermissionInterceptor.LOGIN_IDENTITY_KEY); } @Test public void testAdd() throws Exception { - XxlJobInfo jobInfo = new XxlJobInfo(); - jobInfo.setJobGroup(1); - jobInfo.setJobDesc("autoEnquiryStatisPerWeek"); - jobInfo.setExecutorRouteStrategy("FIRST"); - jobInfo.setJobCron("0 0 1 ? * MON"); - jobInfo.setGlueType("BEAN"); - jobInfo.setExecutorHandler("AutoEnquriy"); - jobInfo.setExecutorBlockStrategy("SERIAL_EXECUTION"); - jobInfo.setExecutorFailStrategy("FAIL_ALARM"); - jobInfo.setAuthor("listening"); + MultiValueMap parameters = new LinkedMultiValueMap(); + parameters.add("jobGroup", "1"); - ObjectMapper mapper = new ObjectMapper(); - String jobInfoStr = mapper.writeValueAsString(jobInfo); MvcResult ret = mockMvc.perform( - post("/jobinfo/add") + post("/jobinfo/pageList") .contentType(MediaType.APPLICATION_FORM_URLENCODED) - .content(jobInfoStr) + //.content(paramsJson) + .params(parameters) .cookie(cookie) ).andReturn(); System.out.println(ret.getResponse().getContentAsString()); } + } diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java new file mode 100644 index 0000000..5b99178 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobGroupDaoTest.java @@ -0,0 +1,47 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobGroup; +import com.xxl.job.admin.dao.XxlJobGroupDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobGroupDaoTest { + + @Resource + private XxlJobGroupDao xxlJobGroupDao; + + @Test + public void test(){ + List list = xxlJobGroupDao.findAll(); + + List list2 = xxlJobGroupDao.findByAddressType(0); + + XxlJobGroup group = new XxlJobGroup(); + group.setAppName("setAppName"); + group.setTitle("setTitle"); + group.setOrder(1); + group.setAddressType(0); + group.setAddressList("setAddressList"); + + int ret = xxlJobGroupDao.save(group); + + XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); + group2.setAppName("setAppName2"); + group2.setTitle("setTitle2"); + group2.setOrder(2); + group2.setAddressType(2); + group2.setAddressList("setAddressList2"); + + int ret2 = xxlJobGroupDao.update(group2); + + int ret3 = xxlJobGroupDao.remove(group.getId()); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java new file mode 100644 index 0000000..5da58a1 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobInfo; +import com.xxl.job.admin.dao.XxlJobInfoDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobInfoDaoTest { + + @Resource + private XxlJobInfoDao xxlJobInfoDao; + + @Test + public void pageList(){ + List list = xxlJobInfoDao.pageList(0, 20, 0, null); + int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); + + System.out.println(list); + System.out.println(list_count); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + } + + @Test + public void save_load(){ + XxlJobInfo info = new XxlJobInfo(); + info.setJobGroup(1); + info.setJobCron("jobCron"); + info.setJobDesc("desc"); + info.setAuthor("setAuthor"); + info.setAlarmEmail("setAlarmEmail"); + info.setExecutorRouteStrategy("setExecutorRouteStrategy"); + info.setExecutorHandler("setExecutorHandler"); + info.setExecutorParam("setExecutorParam"); + info.setExecutorBlockStrategy("setExecutorBlockStrategy"); + info.setExecutorFailStrategy("setExecutorFailStrategy"); + info.setGlueType("setGlueType"); + info.setGlueSource("setGlueSource"); + info.setGlueRemark("setGlueRemark"); + info.setChildJobKey("setChildJobKey"); + + int count = xxlJobInfoDao.save(info); + + XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); + info2.setJobCron("jobCron2"); + info2.setJobDesc("desc2"); + info2.setAuthor("setAuthor2"); + info2.setAlarmEmail("setAlarmEmail2"); + info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); + info2.setExecutorHandler("setExecutorHandler2"); + info2.setExecutorParam("setExecutorParam2"); + info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); + info2.setExecutorFailStrategy("setExecutorFailStrategy2"); + info2.setGlueType("setGlueType2"); + info2.setGlueSource("setGlueSource2"); + info2.setGlueRemark("setGlueRemark2"); + info2.setGlueUpdatetime(new Date()); + info2.setChildJobKey("setChildJobKey2"); + + int item2 = xxlJobInfoDao.update(info2); + + xxlJobInfoDao.delete(info2.getId()); + + List list2 = xxlJobInfoDao.getJobsByGroup(1); + + int ret3 = xxlJobInfoDao.findAllCount(); + + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java new file mode 100644 index 0000000..02652bb --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java @@ -0,0 +1,62 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLog; +import com.xxl.job.admin.dao.XxlJobLogDao; +import org.apache.commons.lang3.time.DateUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogDaoTest { + + @Resource + private XxlJobLogDao xxlJobLogDao; + + @Test + public void test(){ + List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); + int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); + + XxlJobLog log = new XxlJobLog(); + log.setJobGroup(1); + log.setJobId(1); + + int ret1 = xxlJobLogDao.save(log); + XxlJobLog dto = xxlJobLogDao.load(log.getId()); + + log.setGlueType("1"); + log.setTriggerTime(new Date()); + log.setTriggerCode(1); + log.setTriggerMsg("1"); + log.setExecutorAddress("1"); + log.setExecutorHandler("1"); + log.setExecutorParam("1"); + ret1 = xxlJobLogDao.updateTriggerInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + log.setHandleTime(new Date()); + log.setHandleCode(2); + log.setHandleMsg("2"); + ret1 = xxlJobLogDao.updateHandleInfo(log); + dto = xxlJobLogDao.load(log.getId()); + + + List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); + + int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); + + int ret2 = xxlJobLogDao.delete(log.getJobId()); + + int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java new file mode 100644 index 0000000..a4adc44 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogGlueDaoTest.java @@ -0,0 +1,36 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobLogGlue; +import com.xxl.job.admin.dao.XxlJobLogGlueDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobLogGlueDaoTest { + + @Resource + private XxlJobLogGlueDao xxlJobLogGlueDao; + + @Test + public void test(){ + XxlJobLogGlue logGlue = new XxlJobLogGlue(); + logGlue.setJobId(1); + logGlue.setGlueType("1"); + logGlue.setGlueSource("1"); + logGlue.setGlueRemark("1"); + int ret = xxlJobLogGlueDao.save(logGlue); + + List list = xxlJobLogGlueDao.findByJobId(1); + + int ret2 = xxlJobLogGlueDao.removeOld(1, 1); + + int ret3 =xxlJobLogGlueDao.deleteByJobId(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java new file mode 100644 index 0000000..6944872 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobRegistryDaoTest.java @@ -0,0 +1,32 @@ +package com.xxl.job.admin.dao; + +import com.xxl.job.admin.core.model.XxlJobRegistry; +import com.xxl.job.admin.dao.XxlJobRegistryDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.annotation.Resource; +import java.util.List; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") +public class XxlJobRegistryDaoTest { + + @Resource + private XxlJobRegistryDao xxlJobRegistryDao; + + @Test + public void test(){ + int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1"); + if (ret < 1) { + ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1"); + } + + List list = xxlJobRegistryDao.findAll(1); + + int ret2 = xxlJobRegistryDao.removeDead(1); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java new file mode 100644 index 0000000..a55c75f --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/MailUtilTest.java @@ -0,0 +1,44 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.MailUtil; +import org.junit.Test; + +import java.text.MessageFormat; + +/** + * email util test + * + * @author xuxueli 2017-12-22 17:16:23 + */ +public class MailUtilTest { + + @Test + public void registryTest() throws Exception { + + String mailBodyTemplate = "
监控告警明细:" + + "\n" + + " " + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; + + mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); + + boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); + System.out.println(ret); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java new file mode 100644 index 0000000..5c8b7f0 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/admin/util/PropertiesUtilTest.java @@ -0,0 +1,18 @@ +package com.xxl.job.admin.util; + +import com.xxl.job.admin.core.util.PropertiesUtil; +import org.junit.Test; + +/** + * prop util test + * + * @author xuxueli 2017-12-25 15:17:36 + */ +public class PropertiesUtilTest { + + @Test + public void registryTest() throws Exception { + System.out.println(PropertiesUtil.getString("xxl.job.login.username")); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java new file mode 100644 index 0000000..ae2f559 --- /dev/null +++ b/xxl-job-admin/src/test/java/com/xxl/job/adminbiz/AdminBizTest.java @@ -0,0 +1,66 @@ +package com.xxl.job.adminbiz; + +import com.xxl.job.core.biz.AdminBiz; +import com.xxl.job.core.biz.model.RegistryParam; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.enums.RegistryConfig; +import com.xxl.job.core.rpc.netcom.NetComClientProxy; +import org.junit.Assert; +import org.junit.Test; + +/** + * admin api test + * + * @author xuxueli 2017-07-28 22:14:52 + */ +public class AdminBizTest { + + // admin-client + private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); + private static String accessToken = null; + + /** + * registry executor + * + * @throws Exception + */ + @Test + public void registryTest() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registry(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * registry executor remove + * + * @throws Exception + */ + @Test + public void registryRemove() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + // test executor registry remove + RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); + ReturnT returnT = adminBiz.registryRemove(registryParam); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + + /** + * trigger job for once + * + * @throws Exception + */ + @Test + public void triggerJob() throws Exception { + AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); + + int jobId = 1; + ReturnT returnT = adminBiz.triggerJob(jobId); + Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); + } + +} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java deleted file mode 100644 index 6ccea51..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.core.biz.AdminBiz; -import com.xxl.job.core.biz.model.RegistryParam; -import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.enums.RegistryConfig; -import com.xxl.job.core.rpc.netcom.NetComClientProxy; -import org.junit.Assert; -import org.junit.Test; - -/** - * admin api test - * - * @author xuxueli 2017-07-28 22:14:52 - */ -public class AdminBizTest { - - // admin-client - private static String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING); - private static String accessToken = null; - - /** - * registry executor - * - * @throws Exception - */ - @Test - public void registryTest() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registry(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * registry executor remove - * - * @throws Exception - */ - @Test - public void registryRemove() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - // test executor registry remove - RegistryParam registryParam = new RegistryParam(RegistryConfig.RegistType.EXECUTOR.name(), "xxl-job-executor-example", "127.0.0.1:9999"); - ReturnT returnT = adminBiz.registryRemove(registryParam); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - - /** - * trigger job for once - * - * @throws Exception - */ - @Test - public void triggerJob() throws Exception { - AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject(); - - int jobId = 1; - ReturnT returnT = adminBiz.triggerJob(jobId); - Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java deleted file mode 100644 index 7f96673..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/MailUtilTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.util.MailUtil; -import org.junit.Test; - -import java.text.MessageFormat; - -/** - * email util test - * - * @author xuxueli 2017-12-22 17:16:23 - */ -public class MailUtilTest { - - @Test - public void registryTest() throws Exception { - - String mailBodyTemplate = "
监控告警明细:" + - "\n" + - " " + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - " \n" + - "
执行器JobKey任务描述告警类型
{0}{1}{2}调度失败
"; - - mailBodyTemplate = MessageFormat.format(mailBodyTemplate, "执行器A", "1_1", "任务A1"); - - boolean ret = MailUtil.sendMail("931591021@qq.com", "调度中心监控报警" , mailBodyTemplate); - System.out.println(ret); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java deleted file mode 100644 index 122d478..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobGroupDaoTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobGroup; -import com.xxl.job.admin.dao.XxlJobGroupDao; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.List; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobGroupDaoTest { - - @Resource - private XxlJobGroupDao xxlJobGroupDao; - - @Test - public void test(){ - List list = xxlJobGroupDao.findAll(); - - List list2 = xxlJobGroupDao.findByAddressType(0); - - XxlJobGroup group = new XxlJobGroup(); - group.setAppName("setAppName"); - group.setTitle("setTitle"); - group.setOrder(1); - group.setAddressType(0); - group.setAddressList("setAddressList"); - - int ret = xxlJobGroupDao.save(group); - - XxlJobGroup group2 = xxlJobGroupDao.load(group.getId()); - group2.setAppName("setAppName2"); - group2.setTitle("setTitle2"); - group2.setOrder(2); - group2.setAddressType(2); - group2.setAddressList("setAddressList2"); - - int ret2 = xxlJobGroupDao.update(group2); - - int ret3 = xxlJobGroupDao.remove(group.getId()); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java deleted file mode 100644 index d7d17d2..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobInfoTest.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobInfo; -import com.xxl.job.admin.dao.XxlJobInfoDao; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.Date; -import java.util.List; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobInfoTest { - - @Resource - private XxlJobInfoDao xxlJobInfoDao; - - @Test - public void pageList(){ - List list = xxlJobInfoDao.pageList(0, 20, 0, null); - int list_count = xxlJobInfoDao.pageListCount(0, 20, 0, null); - - System.out.println(list); - System.out.println(list_count); - - List list2 = xxlJobInfoDao.getJobsByGroup(1); - } - - @Test - public void save_load(){ - XxlJobInfo info = new XxlJobInfo(); - info.setJobGroup(1); - info.setJobCron("jobCron"); - info.setJobDesc("desc"); - info.setAuthor("setAuthor"); - info.setAlarmEmail("setAlarmEmail"); - info.setExecutorRouteStrategy("setExecutorRouteStrategy"); - info.setExecutorHandler("setExecutorHandler"); - info.setExecutorParam("setExecutorParam"); - info.setExecutorBlockStrategy("setExecutorBlockStrategy"); - info.setExecutorFailStrategy("setExecutorFailStrategy"); - info.setGlueType("setGlueType"); - info.setGlueSource("setGlueSource"); - info.setGlueRemark("setGlueRemark"); - info.setChildJobKey("setChildJobKey"); - - int count = xxlJobInfoDao.save(info); - - XxlJobInfo info2 = xxlJobInfoDao.loadById(info.getId()); - info2.setJobCron("jobCron2"); - info2.setJobDesc("desc2"); - info2.setAuthor("setAuthor2"); - info2.setAlarmEmail("setAlarmEmail2"); - info2.setExecutorRouteStrategy("setExecutorRouteStrategy2"); - info2.setExecutorHandler("setExecutorHandler2"); - info2.setExecutorParam("setExecutorParam2"); - info2.setExecutorBlockStrategy("setExecutorBlockStrategy2"); - info2.setExecutorFailStrategy("setExecutorFailStrategy2"); - info2.setGlueType("setGlueType2"); - info2.setGlueSource("setGlueSource2"); - info2.setGlueRemark("setGlueRemark2"); - info2.setGlueUpdatetime(new Date()); - info2.setChildJobKey("setChildJobKey2"); - - int item2 = xxlJobInfoDao.update(info2); - - xxlJobInfoDao.delete(info2.getId()); - - List list2 = xxlJobInfoDao.getJobsByGroup(1); - - int ret3 = xxlJobInfoDao.findAllCount(); - - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogDaoTest.java deleted file mode 100644 index eb65984..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogDaoTest.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobLog; -import com.xxl.job.admin.dao.XxlJobLogDao; -import org.apache.commons.lang3.time.DateUtils; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.Date; -import java.util.List; -import java.util.Map; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobLogDaoTest { - - @Resource - private XxlJobLogDao xxlJobLogDao; - - @Test - public void test(){ - List list = xxlJobLogDao.pageList(0, 10, 1, 1, null, null, 1); - int list_count = xxlJobLogDao.pageListCount(0, 10, 1, 1, null, null, 1); - - XxlJobLog log = new XxlJobLog(); - log.setJobGroup(1); - log.setJobId(1); - - int ret1 = xxlJobLogDao.save(log); - XxlJobLog dto = xxlJobLogDao.load(log.getId()); - - log.setGlueType("1"); - log.setTriggerTime(new Date()); - log.setTriggerCode(1); - log.setTriggerMsg("1"); - log.setExecutorAddress("1"); - log.setExecutorHandler("1"); - log.setExecutorParam("1"); - ret1 = xxlJobLogDao.updateTriggerInfo(log); - dto = xxlJobLogDao.load(log.getId()); - - - log.setHandleTime(new Date()); - log.setHandleCode(2); - log.setHandleMsg("2"); - ret1 = xxlJobLogDao.updateHandleInfo(log); - dto = xxlJobLogDao.load(log.getId()); - - - List> list2 = xxlJobLogDao.triggerCountByDay(DateUtils.addDays(new Date(), 30), new Date(), 200); - - int ret4 = xxlJobLogDao.clearLog(1, 1, new Date(), 100); - - int ret2 = xxlJobLogDao.delete(log.getJobId()); - - int ret3 = xxlJobLogDao.triggerCountByHandleCode(-1); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogGlueDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogGlueDaoTest.java deleted file mode 100644 index fe8ebc8..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobLogGlueDaoTest.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobLogGlue; -import com.xxl.job.admin.dao.XxlJobLogGlueDao; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.List; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobLogGlueDaoTest { - - @Resource - private XxlJobLogGlueDao xxlJobLogGlueDao; - - @Test - public void test(){ - XxlJobLogGlue logGlue = new XxlJobLogGlue(); - logGlue.setJobId(1); - logGlue.setGlueType("1"); - logGlue.setGlueSource("1"); - logGlue.setGlueRemark("1"); - int ret = xxlJobLogGlueDao.save(logGlue); - - List list = xxlJobLogGlueDao.findByJobId(1); - - int ret2 = xxlJobLogGlueDao.removeOld(1, 1); - - int ret3 =xxlJobLogGlueDao.deleteByJobId(1); - } - -} diff --git a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobRegistryDaoTest.java b/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobRegistryDaoTest.java deleted file mode 100644 index 349ef4b..0000000 --- a/xxl-job-admin/src/test/java/com/xxl/job/dao/impl/XxlJobRegistryDaoTest.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.xxl.job.dao.impl; - -import com.xxl.job.admin.core.model.XxlJobRegistry; -import com.xxl.job.admin.dao.XxlJobRegistryDao; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.annotation.Resource; -import java.util.List; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath*:spring/applicationcontext-*.xml") -public class XxlJobRegistryDaoTest { - - @Resource - private XxlJobRegistryDao xxlJobRegistryDao; - - @Test - public void test(){ - int ret = xxlJobRegistryDao.registryUpdate("g1", "k1", "v1"); - if (ret < 1) { - ret = xxlJobRegistryDao.registrySave("g1", "k1", "v1"); - } - - List list = xxlJobRegistryDao.findAll(1); - - int ret2 = xxlJobRegistryDao.removeDead(1); - } - -}