Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lakernote
EasyAdmin
提交
b1d376f9
E
EasyAdmin
项目概览
lakernote
/
EasyAdmin
10 个月 前同步成功
通知
14
Star
3
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
EasyAdmin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b1d376f9
编写于
9月 23, 2022
作者:
lakernote
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
controller层单元测试
上级
0c22dd7f
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
77 addition
and
3 deletion
+77
-3
src/main/java/com/laker/admin/config/DruidConfig.java
src/main/java/com/laker/admin/config/DruidConfig.java
+1
-0
src/main/java/com/laker/admin/framework/aop/metrics/MetricsAspect.java
.../com/laker/admin/framework/aop/metrics/MetricsAspect.java
+4
-2
src/main/java/com/laker/admin/framework/ext/satoken/MySaTokenListener.java
.../laker/admin/framework/ext/satoken/MySaTokenListener.java
+3
-0
src/main/java/com/laker/admin/framework/waf/WafFilter.java
src/main/java/com/laker/admin/framework/waf/WafFilter.java
+1
-1
src/main/resources/application-test.yaml
src/main/resources/application-test.yaml
+6
-0
src/test/java/com/laker/admin/module/sys/controller/SysUserController_APITest.java
...dmin/module/sys/controller/SysUserController_APITest.java
+62
-0
未找到文件。
src/main/java/com/laker/admin/config/DruidConfig.java
浏览文件 @
b1d376f9
...
...
@@ -28,6 +28,7 @@ import java.io.IOException;
* @author laker
*/
@Configuration
@ConditionalOnProperty
(
name
=
"druid.monitor"
,
havingValue
=
"true"
,
matchIfMissing
=
true
)
@Slf4j
public
class
DruidConfig
{
private
static
final
String
DEFAULT_ALLOW_IP
=
"127.0.0.1"
;
...
...
src/main/java/com/laker/admin/framework/aop/metrics/MetricsAspect.java
浏览文件 @
b1d376f9
...
...
@@ -58,8 +58,10 @@ public class MetricsAspect {
logBean
.
setUri
(
HttpServletRequestUtil
.
getRequestURI
());
logBean
.
setUserId
(
StpUtil
.
isLogin
()
?
StpUtil
.
getLoginIdAsLong
()
:
null
);
UserAgent
userAgent
=
HttpServletRequestUtil
.
getRequestUserAgent
();
String
client
=
userAgent
.
getOs
().
getName
()
+
"."
+
userAgent
.
getBrowser
().
getName
();
logBean
.
setClient
(
client
);
if
(
userAgent
!=
null
)
{
String
client
=
userAgent
.
getOs
().
getName
()
+
"."
+
userAgent
.
getBrowser
().
getName
();
logBean
.
setClient
(
client
);
}
logBean
.
setRequest
(
objectMapper
.
writeValueAsString
(
pjp
.
getArgs
()));
logBean
.
setMethod
(
name
);
logBean
.
setStatus
(
true
);
...
...
src/main/java/com/laker/admin/framework/ext/satoken/MySaTokenListener.java
浏览文件 @
b1d376f9
...
...
@@ -41,6 +41,9 @@ public class MySaTokenListener implements SaTokenListener {
@Override
public
void
doLogin
(
String
loginType
,
Object
loginId
,
SaLoginModel
loginModel
)
{
UserAgent
requestUserAgent
=
HttpServletRequestUtil
.
getRequestUserAgent
();
if
(
requestUserAgent
==
null
)
{
return
;
}
String
cityInfo
=
IP2CityUtil
.
getCityInfo
(
HttpServletRequestUtil
.
getRemoteIP
());
String
[]
split
=
cityInfo
.
split
(
"\\|"
);
ONLINE_USERS
.
add
(
OnlineUser
.
builder
()
...
...
src/main/java/com/laker/admin/framework/waf/WafFilter.java
浏览文件 @
b1d376f9
...
...
@@ -48,7 +48,7 @@ public class WafFilter implements Filter {
//Request请求过滤
chain
.
doFilter
(
new
WafRequestWrapper
(
req
,
xssEnabled
,
sqlEnabled
),
response
);
}
catch
(
Exception
e
)
{
log
.
error
(
" WafFilter exception , requestURL: "
+
req
.
getRequestURL
());
log
.
error
(
" WafFilter exception , requestURL: "
+
req
.
getRequestURL
()
,
e
);
}
return
;
}
...
...
src/main/resources/application-test.yaml
0 → 100644
浏览文件 @
b1d376f9
knife4j
:
# 是否生产环境 屏蔽所有资源接口
production
:
true
druid
:
monitor
:
false
\ No newline at end of file
src/test/java/com/laker/admin/module/sys/controller/SysUserController_APITest.java
0 → 100644
浏览文件 @
b1d376f9
package
com.laker.admin.module.sys.controller
;
import
cn.dev33.satoken.stp.SaTokenInfo
;
import
cn.dev33.satoken.stp.StpUtil
;
import
com.laker.admin.framework.cache.ICache
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.boot.test.mock.mockito.MockBean
;
import
org.springframework.test.context.ActiveProfiles
;
import
org.springframework.test.web.servlet.MockMvc
;
import
static
org
.
hamcrest
.
Matchers
.
containsString
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
request
.
MockMvcRequestBuilders
.
get
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
result
.
MockMvcResultHandlers
.
print
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
result
.
MockMvcResultMatchers
.
content
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
result
.
MockMvcResultMatchers
.
status
;
/**
* 启动了完整的 Spring 应用程序上下文,但没有服务器。
*/
@ActiveProfiles
(
"test"
)
@SpringBootTest
(
webEnvironment
=
SpringBootTest
.
WebEnvironment
.
MOCK
)
@AutoConfigureMockMvc
public
class
SysUserController_APITest
{
/**
* 会走 filter controller,这个比较仿真
*/
@Autowired
private
MockMvc
mvc
;
@MockBean
ICache
iCache
;
/**
* 不需要user的测试
*
* @throws Exception
*/
@Test
public
void
contextLoads
()
throws
Exception
{
mvc
.
perform
(
get
(
"/captcha"
))
.
andDo
(
print
())
.
andExpect
(
status
().
isOk
()).
andExpect
(
content
().
string
(
containsString
(
"data:image/png;"
)));
}
/**
* 需要user的测试
*
* @throws Exception
*/
@Test
public
void
test2
()
throws
Exception
{
StpUtil
.
login
(
"1"
);
SaTokenInfo
tokenInfo
=
StpUtil
.
getTokenInfo
();
mvc
.
perform
(
get
(
"/sys/user/getAll"
).
header
(
tokenInfo
.
getTokenName
(),
tokenInfo
.
getTokenValue
()))
.
andDo
(
print
())
.
andExpect
(
status
().
isOk
());
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录