Former-commit-id: 1d464ef37507aba9b3494edeb65b1455d127657e
master
wangbing 5 years ago
parent 80c57bfa3e
commit e947f95ffd

@ -693,8 +693,6 @@ public class SpringBootCallable implements Callable {
freeMarkerManager.outputTemp(Tool.createFile(system.getAbsolutePath(), "DICT_ITEM.sql"), option + "/resources/dbtool/system/DICT_ITEM.sql", ctx); freeMarkerManager.outputTemp(Tool.createFile(system.getAbsolutePath(), "DICT_ITEM.sql"), option + "/resources/dbtool/system/DICT_ITEM.sql", ctx);
freeMarkerManager.outputTemp(Tool.createFile(system.getAbsolutePath(), "FILE.sql"), option + "/resources/dbtool/system/FILE.sql", ctx); freeMarkerManager.outputTemp(Tool.createFile(system.getAbsolutePath(), "FILE.sql"), option + "/resources/dbtool/system/FILE.sql", ctx);
} }
} }
public void generateTestResources(File root, Project project, DataBase dataBase, String option) { public void generateTestResources(File root, Project project, DataBase dataBase, String option) {
@ -707,6 +705,7 @@ public class SpringBootCallable implements Callable {
ctx.put("author", project.getProjectAuthor()); ctx.put("author", project.getProjectAuthor());
ctx.put("dBmapper", dBmapper); ctx.put("dBmapper", dBmapper);
ctx.put("date", new Date()); ctx.put("date", new Date());
ctx.put("cloud", cloud);
freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "application.properties"), option + "/test/application.properties", ctx); freeMarkerManager.outputTemp(Tool.createFile(root.getAbsolutePath(), "application.properties"), option + "/test/application.properties", ctx);
Tool.outputResource(option + "/test/logback-spring.xml", Tool.createFile(root.getAbsolutePath(), "logback-spring.xml")); Tool.outputResource(option + "/test/logback-spring.xml", Tool.createFile(root.getAbsolutePath(), "logback-spring.xml"));
} }
@ -850,6 +849,19 @@ public class SpringBootCallable implements Callable {
freeMarkerManager.outputTemp(file, option + "/test/UtilTest.java", ctx); freeMarkerManager.outputTemp(file, option + "/test/UtilTest.java", ctx);
} }
{
HashMap<String, Object> ctx = new HashMap<String, Object>();
ctx.put("tool", Tool.class);
ctx.put("basePackage", project.getProjectBasePackage());
ctx.put("moduleName", project.getProjectName());
ctx.put("author", project.getProjectAuthor());
ctx.put("date", new Date());
File system = Tool.createPath(root.getAbsolutePath(), "system");
freeMarkerManager.outputTemp(Tool.createFile(system.getAbsolutePath(), "DictItemTest.java"), option + "/test/system/DictItemTest.java", ctx);
freeMarkerManager.outputTemp(Tool.createFile(system.getAbsolutePath(), "DictTest.java"), option + "/test/system/DictTest.java", ctx);
freeMarkerManager.outputTemp(Tool.createFile(system.getAbsolutePath(), "FileTest.java"), option + "/test/system/FileTest.java", ctx);
}
for (Module md : project.getModules()) { for (Module md : project.getModules()) {
File module = Tool.createPath(root.getAbsolutePath(), md.getModuleName()); File module = Tool.createPath(root.getAbsolutePath(), md.getModuleName());

@ -29,6 +29,7 @@
<groupId>junit</groupId> <groupId>junit</groupId>
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
<version>4.12</version> <version>4.12</version>
<scope>test</scope>
</dependency> </dependency>
<!--属性注解验证依赖包--> <!--属性注解验证依赖包-->
@ -76,6 +77,10 @@
<excludeTransitive>false</excludeTransitive> <excludeTransitive>false</excludeTransitive>
<!-- 表示复制的jar文件去掉版本信息 --> <!-- 表示复制的jar文件去掉版本信息 -->
<stripVersion>false</stripVersion> <stripVersion>false</stripVersion>
<!-- 包含所有Scope为compile -->
<includeScope>compile</includeScope>
<!-- 排除所有Scope为test -->
<excludeScope>test</excludeScope>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>

@ -190,6 +190,7 @@ public class DictManagerImpl implements DictManager {
response.addError(ErrorType.BUSINESS_ERROR, "字典重复异常,请联系管理员"); response.addError(ErrorType.BUSINESS_ERROR, "字典重复异常,请联系管理员");
return response; return response;
} }
response.setDict(dicts.get(0));
DictItemFindRequest dictItemFindRequest = new DictItemFindRequest(); DictItemFindRequest dictItemFindRequest = new DictItemFindRequest();
dictItemFindRequest.setDictName(request.getDictName()); dictItemFindRequest.setDictName(request.getDictName());

@ -1,26 +1,22 @@
# 测试环境 # 开发环境
server.port=8080 server.port=8080
server.servlet.context-path=/ server.servlet.context-path=
spring.mvc.static-path-pattern=/static/** spring.mvc.static-path-pattern=/static/**
spring.resources.static-locations=classpath:static/ spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:/file-upload
spring.application.name=${projectName?default("SpringBoot")} spring.application.name=${projectName?default("SpringBoot")}
spring.main.banner-mode=CONSOLE spring.main.banner-mode=CONSOLE
spring.devtools.restart.enabled=true spring.devtools.restart.enabled=true
<#if cloud>
eureka.client.serviceUrl.defaultZone=http://localhost:18080/eureka/
</#if>
# 编码配置 # 编码配置
spring.http.encoding.force=true spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8 spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8 server.tomcat.uri-encoding=UTF-8
# 根路径、欢迎页
web.welcome.page=/index.htm
# 需要验证授权, 既访问时组装Token
web.url.auth.included=/**
# 不需要验证授权, 或该请求有自己的验证机制
web.url.auth.excluded=/favicon.ico,/static/**,/module,/login.htm
# 日志配置 # 日志配置
logging.path=D:// logging.path=D://
logging.levels=DEBUG logging.levels=DEBUG
logging.config=classpath:logback-config.xml
<#if dataBase == 'ORACLE'> <#if dataBase == 'ORACLE'>
# oracle # oracle
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
@ -31,21 +27,22 @@ spring.datasource.password=123456
<#if dataBase == 'MYSQL'> <#if dataBase == 'MYSQL'>
# mysql # mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8 spring.datasource.url=jdbc:mysql://192.168.31.81:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=test spring.datasource.username=test
spring.datasource.password=123456 spring.datasource.password=123456
</#if> </#if>
# mybatis # mybatis
mybatis.mapper-locations=classpath:**/mpr/*.xml mybatis.mapper-locations=classpath:**/mpr/*.xml
mybatis.configuration.map-underscore-to-camel-case=true
# pagehelper # pagehelper
pagehelper.autoRuntimeDialect=true pagehelper.autoRuntimeDialect=true
pagehelper.reasonable=true pagehelper.reasonable=false
pagehelper.supportMethodsArguments=true pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql pagehelper.params=count=countSql
# jackson 相关配置 # jackson 相关配置
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8 spring.jackson.time-zone=GMT+8
spring.jackson.default-property-inclusion=use_defaults spring.jackson.default-property-inclusion=non_null
spring.jackson.mapper.sort-properties-alphabetically=true spring.jackson.mapper.sort-properties-alphabetically=true
spring.jackson.deserialization.fail-on-unknown-properties=false spring.jackson.deserialization.fail-on-unknown-properties=false
# freemarker # freemarker
@ -60,7 +57,7 @@ spring.freemarker.expose-session-attributes=false
spring.freemarker.expose-spring-macro-helpers=false spring.freemarker.expose-spring-macro-helpers=false
spring.freemarker.settings.template_update_delay=1 spring.freemarker.settings.template_update_delay=1
spring.freemarker.settings.locale=zh_CN spring.freemarker.settings.locale=zh_CN
spring.freemarker.settings.datetime_format=yyyy-MM-dd spring.freemarker.settings.datetime_format=yyyy-MM-dd HH:mm:ss
spring.freemarker.settings.date_format=yyyy-MM-dd spring.freemarker.settings.date_format=yyyy-MM-dd
spring.freemarker.settings.number_format=#.## spring.freemarker.settings.number_format=#.##
spring.freemarker.settings.classic_compatible=true spring.freemarker.settings.classic_compatible=true
@ -70,3 +67,14 @@ spring.freemarker.settings.url_escaping_charset=utf-8
spring.servlet.multipart.resolveLazily=false spring.servlet.multipart.resolveLazily=false
spring.servlet.multipart.max-file-size=100MB spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=100MB spring.servlet.multipart.max-request-size=100MB
server.tomcat.max-http-post-size=-1
# 自定义配置
# 根路径默认页,'/'跳转至该页
web.welcome.page=/index.htm
# 登录页
web.login.page=/login.htm
# 拦截验证
web.url.auth.included=/,/**/*.htm
# 直接放行
web.url.auth.excluded=/login.htm

@ -0,0 +1,131 @@
package com.example.system;
import com.example.frame.base.Token;
import com.example.module.system.mgr.DictItemManager;
import com.example.module.system.req.*;
import com.example.module.system.rsp.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
import static org.junit.Assert.assertTrue;
/**
* DictItemTest - -
*
* @author wangbing
* @version 0.0.1
* @since 2019-07-22
*/
@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional
public class DictItemTest {
@Autowired
private Token token;
@Autowired
private DictItemManager dictItemManager;
@Test
public void testCreate() {
DictItemCreateRequest request = new DictItemCreateRequest();
request.setDictName("字典名称");
request.setKey("字典KEY");
request.setValue("字典VALUE");
request.setSort(1);
request.setValid(true);
DictItemCreateResponse response = dictItemManager.create(request,token);
assertTrue(!response.hasError());
}
@Test
public void testDelete() {
//创建数据
DictItemCreateRequest createRequest = new DictItemCreateRequest();
createRequest.setDictName("字典名称");
createRequest.setKey("字典KEY");
createRequest.setValue("字典VALUE");
createRequest.setSort(1);
createRequest.setValid(true);
DictItemCreateResponse createResponse = dictItemManager.create(createRequest,token);
assertTrue(!createResponse.hasError() && createResponse.getId() > 0);
//删除数据
DictItemDeleteRequest request = new DictItemDeleteRequest();
request.setId(createResponse.getId());
DictItemDeleteResponse response = dictItemManager.delete(request,token);
assertTrue(!response.hasError() && response.getResult() == 1L);
}
@Test
public void testUpdate() {
//创建数据
DictItemCreateRequest createRequest = new DictItemCreateRequest();
createRequest.setDictName("字典名称");
createRequest.setKey("字典KEY");
createRequest.setValue("字典VALUE");
createRequest.setSort(1);
createRequest.setValid(true);
DictItemCreateResponse createResponse = dictItemManager.create(createRequest, token);
//更新数据
DictItemUpdateRequest request = new DictItemUpdateRequest();
request.setId(createResponse.getId());
request.setKey("字典KEY");
request.setValue("字典VALUE");
request.setSort(1);
request.setValid(true);
DictItemUpdateResponse response = dictItemManager.update(request,token);
assertTrue(!response.hasError() && response.getResult() == 1L);
}
@Test
public void testFind() {
DictItemFindRequest request = new DictItemFindRequest();
request.setDictName("字典名称");
request.setKey("字典KEY");
request.setValue("字典VALUE");
request.setSort(1);
request.setValid(true);
DictItemFindResponse response = dictItemManager.find(request,token);
assertTrue(!response.hasError());
}
@Test
public void testGet() {
//创建数据
DictItemCreateRequest createRequest = new DictItemCreateRequest();
createRequest.setDictName("字典名称");
createRequest.setKey("字典KEY");
createRequest.setValue("字典VALUE");
createRequest.setSort(1);
createRequest.setValid(true);
DictItemCreateResponse createResponse = dictItemManager.create(createRequest, token);
//获得数据
DictItemGetRequest request = new DictItemGetRequest();
request.setId(createResponse.getId());
DictItemGetResponse response = dictItemManager.get(request,token);
assertTrue(!response.hasError() && response.getDictItem() != null);
}
}

@ -0,0 +1,158 @@
package com.example.system;
import com.example.frame.base.Token;
import com.example.module.system.mgr.DictItemManager;
import com.example.module.system.mgr.DictItemManagerImpl;
import com.example.module.system.mgr.DictManager;
import com.example.module.system.req.*;
import com.example.module.system.rsp.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
import static org.junit.Assert.assertTrue;
/**
* DictTest - -
*
* @author wangbing
* @version 0.0.1
* @since 2019-07-22
*/
@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional
public class DictTest {
@Autowired
private Token token;
@Autowired
private DictManager dictManager;
@Autowired
private DictItemManager dictItemManager;
@Test
public void testCreate() {
DictCreateRequest request = new DictCreateRequest();
request.setDictName("字典名称");
request.setDictComment("字典描述");
request.setVersion("字典版本号");
request.setValid(true);
DictCreateResponse response = dictManager.create(request, token);
assertTrue(!response.hasError());
}
@Test
public void testDelete() {
//创建数据
DictCreateRequest createRequest = new DictCreateRequest();
createRequest.setDictName("字典名称");
createRequest.setDictComment("字典描述");
createRequest.setVersion("字典版本号");
createRequest.setValid(true);
DictCreateResponse createResponse = dictManager.create(createRequest, token);
assertTrue(!createResponse.hasError() && createResponse.getId() > 0);
//删除数据
DictDeleteRequest request = new DictDeleteRequest();
request.setId(createResponse.getId());
DictDeleteResponse response = dictManager.delete(request, token);
assertTrue(!response.hasError() && response.getResult() == 1L);
}
@Test
public void testUpdate() {
//创建数据
DictCreateRequest createRequest = new DictCreateRequest();
createRequest.setDictName("字典名称");
createRequest.setDictComment("字典描述");
createRequest.setVersion("字典版本号");
createRequest.setValid(true);
DictCreateResponse createResponse = dictManager.create(createRequest, token);
//更新数据
DictUpdateRequest request = new DictUpdateRequest();
request.setId(createResponse.getId());
request.setDictName("字典名称");
request.setDictComment("字典描述");
request.setVersion("字典版本号");
request.setValid(true);
DictUpdateResponse response = dictManager.update(request, token);
assertTrue(!response.hasError() && response.getResult() == 1L);
}
@Test
public void testFind() {
DictFindRequest request = new DictFindRequest();
request.setDictName("字典名称");
request.setDictComment("字典描述");
request.setValid(true);
DictFindResponse response = dictManager.find(request, token);
assertTrue(!response.hasError());
}
@Test
public void testGet() {
//创建数据
DictCreateRequest createRequest = new DictCreateRequest();
createRequest.setDictName("字典名称");
createRequest.setDictComment("字典描述");
createRequest.setVersion("字典版本号");
createRequest.setValid(true);
DictCreateResponse createResponse = dictManager.create(createRequest, token);
//获得数据
DictGetRequest request = new DictGetRequest();
request.setId(createResponse.getId());
DictGetResponse response = dictManager.get(request, token);
assertTrue(!response.hasError() && response.getDict() != null);
}
@Test
public void testLoad() {
//创建数据
DictCreateRequest createRequest = new DictCreateRequest();
createRequest.setDictName("字典名称");
createRequest.setDictComment("字典描述");
createRequest.setVersion("字典版本号");
createRequest.setValid(true);
DictCreateResponse createResponse = dictManager.create(createRequest, token);
assertTrue(!createResponse.hasError() && createResponse.getId() > 0);
DictItemCreateRequest dictItemCreateRequest = new DictItemCreateRequest();
dictItemCreateRequest.setDictName("字典名称");
dictItemCreateRequest.setKey("1");
dictItemCreateRequest.setValue("1");
dictItemCreateRequest.setSort(1);
dictItemCreateRequest.setValid(true);
DictItemCreateResponse dictItemCreateResponse = dictItemManager.create(dictItemCreateRequest, token);
assertTrue(!dictItemCreateResponse.hasError() && dictItemCreateResponse.getId() > 0);
//获取字典及字典项数据
DictLoadRequest request = new DictLoadRequest();
request.setDictName("字典名称");
DictLoadResponse response = dictManager.load(request, token);
assertTrue(!response.hasError() && response.getDict() != null && response.getDictItems().size() > 0);
}
}

@ -0,0 +1,118 @@
package com.example.system;
import com.example.frame.base.Token;
import com.example.module.system.mgr.FileManager;
import com.example.module.system.req.FileCreateRequest;
import com.example.module.system.req.FileDeleteRequest;
import com.example.module.system.req.FileFindRequest;
import com.example.module.system.req.FileGetRequest;
import com.example.module.system.rsp.FileCreateResponse;
import com.example.module.system.rsp.FileDeleteResponse;
import com.example.module.system.rsp.FileFindResponse;
import com.example.module.system.rsp.FileGetResponse;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
import static org.junit.Assert.assertTrue;
/**
* FileTest - -
*
* @author wangbing
* @version 0.0.1
* @since 2019-07-22
*/
@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional
public class FileTest {
@Autowired
private Token token;
@Autowired
private FileManager fileManager;
@Test
public void testCreate() {
FileCreateRequest request = new FileCreateRequest();
request.setName("字文件名称");
request.setFileType(null);
request.setUrl("http://example.com/a.zip");
request.setUrlDownload("http://example.com/a.zip");
request.setAttribute1("Attribute1");
request.setAttribute2("Attribute2");
request.setAttribute2("Attribute3");
FileCreateResponse response = fileManager.create(request, token);
assertTrue(!response.hasError());
}
@Test
public void testDelete() {
//创建数据
FileCreateRequest createRequest = new FileCreateRequest();
createRequest.setName("字文件名称");
createRequest.setFileType(null);
createRequest.setUrl("http://example.com/a.zip");
createRequest.setUrlDownload("http://example.com/a.zip");
createRequest.setAttribute1("Attribute1");
createRequest.setAttribute2("Attribute2");
createRequest.setAttribute2("Attribute3");
FileCreateResponse createResponse = fileManager.create(createRequest, token);
assertTrue(!createResponse.hasError() && createResponse.getId() > 0);
//删除数据
FileDeleteRequest request = new FileDeleteRequest();
request.setId(createResponse.getId());
FileDeleteResponse response = fileManager.delete(request, token);
assertTrue(!response.hasError() && response.getResult() == 1L);
}
@Test
public void testFind() {
FileFindRequest request = new FileFindRequest();
request.setName("字文件名称");
request.setFileType(null);
request.setAttribute1("Attribute1");
request.setAttribute2("Attribute2");
request.setAttribute2("Attribute3");
FileFindResponse response = fileManager.find(request, token);
assertTrue(!response.hasError());
}
@Test
public void testGet() {
//创建数据
FileCreateRequest createRequest = new FileCreateRequest();
createRequest.setName("字文件名称");
createRequest.setFileType(null);
createRequest.setUrl("http://example.com/a.zip");
createRequest.setUrlDownload("http://example.com/a.zip");
createRequest.setAttribute1("Attribute1");
createRequest.setAttribute2("Attribute2");
createRequest.setAttribute2("Attribute3");
FileCreateResponse createResponse = fileManager.create(createRequest, token);
//获得数据
FileGetRequest request = new FileGetRequest();
request.setId(createResponse.getId());
FileGetResponse response = fileManager.get(request, token);
assertTrue(!response.hasError() && response.getFile() != null);
}
}
Loading…
Cancel
Save

Powered by TurnKey Linux.