修改网盘显示等细节,登陆验证更加严格,同时允许一台设备在线
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
package com.yoyuzh.auth;
|
||||
|
||||
import com.yoyuzh.PortalBackendApplication;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
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.test.web.servlet.MockMvc;
|
||||
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
|
||||
@SpringBootTest(
|
||||
classes = PortalBackendApplication.class,
|
||||
properties = {
|
||||
"spring.datasource.url=jdbc:h2:mem:auth_invite_test;MODE=MySQL;DB_CLOSE_DELAY=-1",
|
||||
"spring.datasource.driver-class-name=org.h2.Driver",
|
||||
"spring.datasource.username=sa",
|
||||
"spring.datasource.password=",
|
||||
"spring.jpa.hibernate.ddl-auto=create-drop",
|
||||
"app.jwt.secret=0123456789abcdef0123456789abcdef",
|
||||
"app.registration.invite-code=invite-code",
|
||||
"app.storage.root-dir=./target/test-storage-auth-invite"
|
||||
}
|
||||
)
|
||||
@AutoConfigureMockMvc
|
||||
class AuthRegistrationInviteIntegrationTest {
|
||||
|
||||
@Autowired
|
||||
private MockMvc mockMvc;
|
||||
|
||||
@Autowired
|
||||
private UserRepository userRepository;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
userRepository.deleteAll();
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldRejectReusingInviteCodeAfterSuccessfulRegistration() throws Exception {
|
||||
mockMvc.perform(post("/api/auth/register")
|
||||
.contentType("application/json")
|
||||
.content("""
|
||||
{
|
||||
"username": "alice",
|
||||
"email": "alice@example.com",
|
||||
"phoneNumber": "13800138000",
|
||||
"password": "StrongPass1!",
|
||||
"confirmPassword": "StrongPass1!",
|
||||
"inviteCode": "invite-code"
|
||||
}
|
||||
"""))
|
||||
.andExpect(status().isOk())
|
||||
.andExpect(jsonPath("$.code").value(0));
|
||||
|
||||
mockMvc.perform(post("/api/auth/register")
|
||||
.contentType("application/json")
|
||||
.content("""
|
||||
{
|
||||
"username": "bob",
|
||||
"email": "bob@example.com",
|
||||
"phoneNumber": "13900139000",
|
||||
"password": "StrongPass1!",
|
||||
"confirmPassword": "StrongPass1!",
|
||||
"inviteCode": "invite-code"
|
||||
}
|
||||
"""))
|
||||
.andExpect(status().isForbidden())
|
||||
.andExpect(jsonPath("$.msg").value("邀请码错误"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user